I have a system I built using a ADS1263 32-bit ADC that is measuring tiny biopotentials without much amplification (for a variety of reasons not under discussion) -- one very low noise instrumentation amplifier with a gain of 8, and a really low noise op amp to supply a Vref to handle bias.
At one stage, everything looked like it was going along swimmingly -- especially before building my 4-layer pcb, and then an issue popped up.
In the interest of rapid deployment, some compromises were made, the biggest being that I just mounted a Discovery board right on my main board.
The system spits uart to a PC via an FTDI USB cable mounted as a Virtual COM port (to save me time in working out my own USB stack until a later version-- hah!). The FTDI cable also brings Vusb to the board. It goes through a 5V to 6V DC to DC converter (isolated), which is then regulated back down to 5V and then to 3V with LDOs. The 5V powers my Discovery Board, with power and ground going through ferrite beads in front of the board. The UART goes through a two-way isolator, and then back to the usb power side of things.
Well, my analog side looks like its working fine -- but I can't see the biopotentials on a scope, as they're too small, even after my gain of 8 -- I need to sample them w/ the 32-bit ADC to be able to see them.
I'm getting a funky oscillation with a period in the seconds that has had me crawling up walls before late today. The input is shorted to generate this sample (amplitude is 32-bit signed int over a 5V range, and y axis is number of samples at 2400 Hz) :
It looks dramatic, and it is, in fact, problematic in my scenario, but the magnitude of that square wave corresponds to about 90uV at the ADC input (PGA gain = 32), and about 11uV at my amp input. Until today, I've been looking for grounding troubles, etc., and couldn't for the life of me figure out what could be going on at that time scale that could be causing this. Even though I'm filtering, I considered that if I had bad ground stuff going on, maybe I was aliasing, and this was the result.
In any case, during programming, and afterwards, the problem seemed to go away. This confused me. I thought that providing power to the board through non-isolated Vusb might have been getting rid of the problem. Turned out I was wrong.
Then, late this PM, I noticed that LD1 on my Discovery Board was flashing red exactly in sync to my square wave!!! Huzzah. When I insert the usb cable to program it, the flashing stopped and went solid red, I guess when the on-board ST-Link resolved, and the square wave went away. When I remove that USB cable, the light stays solid, and no square wave is apparent.
So, it seems like either that flashing LED or something else happening on the ST-Link is causing a few microvolts of sag someplace.
I suppose in the long run, I should really make my power scheme bulletproof, but in the short run I'd really just like to make the square wave go away by getting rid of the current draw that is presumably causing it. I'd love some advice on how to reversably disable the ST-Link, or force it to shut up for a bit. Perhaps just fooling it into thinking its been enumerated, keeping the LED on, is fine. The best possible scenario is that I can do this from the TOP of the Discovery board, as that's my access without some dis-assembly.
If the action is irreversable, I can probably live with that. I'd either kill a board to make sure I can move on with this, and maybe program it with another ST-Link, or just convince myself the problem is solved and then finish programming and just keep replacing the board.