Can anyone identify the FPGA on the main board?
I did a strings search for anything calibration related in the SardineMain executable program that seems to control basically every function of this unit when it is on, and found a lot of interesting information (dump attached in this message). The first thing to say is that "/root/CalibrationData.dat" is referenced in the SardineMain program but does not exist in the firmware from Rigol's website. This leads me to believe that as we suspected it is generated after the unit is turned on and the calibration routine has been run. There is also a reference to a calibration routine (ServCalibration.cpp) in the dump that I have attached. Does anyone think its possible to unpack this executable to get at these programs? (I have also attached this executable to the end of this message)
I'm going to try to read the contents of the winbond flash and hopefully extract the firmware so that I can get that CalibrationData.dat file from my unit and crack it open.
Also just as a fun note, I soldered in some leads and found that the JTAG connection is not disabled, so it is possible to reprogram the FPGA with the .bit files in the firmware (or any other bit file generated for this FPGA)
The FPGA is a Xilinx SPARTAN6 XC6SLX9-FTG256BIV. The package marking is quite difficult to decipher since the laser marking isn't very deep and moreover, Rigol arranged the assembly so there's silicone pad touching the top of the FPGA, spilling silicone oil all over it, affecting readability even more...
Anyway, application of some brake cleaner and dry tissue and placing the illumintaion at a shallow angle, revealed the imprint. So it's the second smallest FPGA in XILINX's Spartan6 range.
Yet, I don't think that's the limiting factor that precludes the contemporary use of CH2 and the frequency counter. It rather seems that the mysterious U603, of which I guess that it's a DAC (possibly 2 channel audio type) to generate the offset voltages, is used to output the trigger threshold for the freqency counter input comparator and thus is no longer available for the offset of channel 2. I may be completely wrong, though...
(rant on...) BTW, I consider it bad style to edit a post to completly change its meaning or to remove substantial parts of it. This puts consecutive posts out of order and may render considerable time and effort spent by other forum members futile. It's much better practice to just cross out the sections that one wants to remove from his / her post or to publish another post that explains the new motivation. In this case, I specifically added the citation of the original post that I was referring to... (rant off)
Cheers,
Thomas