Hi all,
Here's an update on my attempts to isolate the generator's outputs from ground. The basic idea is to make an add-on board that contains signal isolators between CPU and generator board, and to float the power supply by adding a DC DC converter to power the CPU board. The generator board can then be floated. I have finished the feasibility research (I told you the progress was going to be slow), but before I share the conclusion, here are the criteria that I had written down for myself before I started.
- The mod must result in outputs that are no longer connected to safety earth, with as little capacitance to earth as feasible.
- There may be no performance or functionality penalty: apart from the outputs becoming floating, the instrument must keep on functioning exactly like it did before the mod
- The safety and EMI performance of the generator may not be compromised
- The mod must be reversible
- No hacks or botches, it must be a neat mod that is easy to carry out
I have probed all the signals on the little flat flex that connects the CPU board to the signal generator board, and here's what I found:
- All data is exchanged between CPU and GEN board via a single four wire SPI interface. During normal operation, it is clocked at 24 Mhz and it operates bidirectionally. The FPGA is also configured over this interface, the CPU supplies the bitstream. During FPGA configuration it runs at the maximum speed of 48 MHz but no data is sent back from the FPGA to the CPU. So a quick isolator such as the MAX14931C should do the job, although a typical device having no more than 6 ns propagation delay will be needed, or otherwise the propagation delay on the return data will be too much.
- Next to the SPI interface there are four FPGA contol lines, three to control the configuration process (ARM_PROG, ARM_INIT and ARM_DONE), and one to reset the FPGA after configuration is complete (ARM_RESET). These are slow signals and should present no problems to isolate. On the GEN board there is a small 25P40 flash device, but that is not addressed until after FPGA configuration has completed. It is accessed by the FPGA through a dedicated interface, not through the board-to-board SPI interface on the FFC. I wonder why it's there. EDIT: probably contains calibration data.
- The AD_CS line signal is an active low signal from GEN to CPU, causing an overvoltage error to be displayed. Why they called this "AD_CS" is a mystery to me.
- The P_ON line has a 10 kOhms resistor to ground on the GEN board, and that seems to be all. The CPU board seems to contain the upper half resistor of a voltage divider with the P_ON signal being the tie point. It looks to me like some sort of board detect and identification feature, so that the CPU can tell in which device it lives by looking at the value of this resistor.
- There are two signals called TP11 and TP13, but I could not detect any activity on these in any stage of operation of the generator. They are pulled down on the CPU board, and seemingly unused on the GEN board. To check, I took a compatible piece of flat flex (source: ebay) of which I cut the conductors of TP_11 and TP_13 away. The generator worked normally with this FFC between CPU and GEN. So these signals do not need to cross the isolation barrier.
- The remaining four wires are two 3.3V supplies (which are not connected ad the GEN side, since it has it's own supply) and two grounds, so all the thingamabobs that go from CPU to GEN and back are now identified.
Miscellaneous things I needed to find out:
- The CPU board works from the +6.5 V supply, it also powers the front panel and the display. The combination of CPU board + display + front panel draws about 3 Watts during peaks, so a small DC DC converter is sufficient to isolate its power supply from the GEN board's.
- The EMI suppression cap across the transformer in the power supply causes a leakage current of about 80 uA RMS @ 50 Hz to flow from the primary side to the secondary side. With the output hard grounded, this is not an issue, but it has to be dealt with when the outputs must float. The SDG5000 has the same issue with the PSU due to the same EMI suppression scheme being used, in this generator the leakage current is shunted away by a 3 uF capacitance to ground. Without extensive modifications to the power supply (yes, I have researched that option too in order to be able to use a low capacitance to ground, but it would involve making an entirely new double shielded transformer), this is the way to go here too.
- The GEN board has its ground connected to all mounting holes, so these need to be isolated. The screws on the GEN board have an accurate fit with the chassis studs, and the holes in the board are only very slightly oversized with respect to the screw diameter. TO220 isolating washers are not going to work here. In order for the EMI suppression scheme to remain effective, each stud needs to be capacitively coupled to the corresponding mounting hole. However, there is no room for the GEN board to be raised by about 1.5 mm. So this would require something like two lug washers on top of each other, connected together via a small capacitor, and separated by a nylon washer. This would then go underneath the GEN board at every mounting stud, and be tied down with a nylon screw. In order to compensate for the height increase, the studs would have to be milled or filed down.
Making a neat board containing the signal isolators and CPU power isolated dc/dc converter appears entirely doable to me. The BNCs can be isolated from chassis by replacing them with plastic ones (there should be drop-in replacements for them) or by using washers. The last point in this list is a potential deal breaker, because it requires an irreversible mod to the chassis though, and one that has the potential to end up ugly. Strictly speaking, it can not be done in a way that satisfies my criteria. If anyone has an alternative idea, please share.
At the moment, the project is on hold, because the CPU died right after a firmware upgrade. I don't know how it happened, it looks like a nasty ESD event, but I use all the usual precautions against that. The firmware upgrade went according to the book, I played around with the neat new features for a while after the upgrade was finished, but when I pulled out the USB stick, the generator crashed. After power cycling it remained dead. The CPU's power supply IC gets rather hot, and the CPU seems to be completely dead. None of the I/O lines show any activity, including the lines that control access to the onboard flash. So the failure to boot is not due to flash corruption, it already comes before that. The LCD backlight supply stays off due to this, because the CPU must turn it on. I bought the generator from Elektor (it was on offer a while ago), so I am awaiting their response before attempting a repair myself. I know that I probably have voided all my warranty rights by opening the generator and probing around in it, but let's wait and see.