This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1299: Internal TEST signal problem

Part Number: ADS1299

Hello There, 

I've been working with the ADS1299 for some months, and I'm on the stage of testing the Internal Signal of the Device.
I'm working with a Master-Slave architecture  where I'm using an evaluation board for ARM Cortex M4 Chip as a Master Device and the Daughter Board of ADS1299 as the slave. Here is a block diagram just to put you in context.

The problem comes when I'm plotting the data, the square wave is getting somehow 'corrupted' and I can see some "steps" at some points, I've been struggling with this for more than a week and I'm wondering if you have an idea of what can be happening. The plotted data looks like this. I  just want to clarify that the amplitude is not the right one and we can ignore that for now. Also, I've notice that if I increase the Output Data Rate, the same problem happens, but takes more samples for the problem to appear, so I suppose the issue is somehow related with the output data rate.

The SPI communication is working, I can read all the Registers and I can read back the data. I'm using the device in RDATA mode. Handling the DRDY with an Interrupt and an output data rate of 250 SPS. Then saving this data in a buffer, and when 250 samples are stored, triggering another interrupt for sending the data via UART to USB converter to the computer.

These are my complete register Settings shown in the COM Terminal.  

With an Oscilloscope I can see the STATUS  data followed by the other Chanel's going  positive and negative, so I assume is not a problem of converting the data to Two's complement.

 

I hope you can help me out with this. If you need any additional information I´m Happy to supply it.

Thanks in advance.

Best regards, 
Moisés.

  • Hi Moises,

    Thanks for your post and welcome to the forum!

    Unfortunately since the STM32F4 is not a TI product I cannot offer much support there, however I am happy to help you debug this issue with the ADS1299.

    This is caused by a bug in the code and you are correct that it will change when you change the output data rate. Does the problem get worse the longer you run the test?

    Somewhere down the line there is a "shift" that is causing the data to be corrupted. This could be caused by a few things such as the SCLKs timing being off, an incorrect number of pulses being sent, or the data buffer not fully clearing before being loaded with new data. Follow the data and try to find if there is a bottleneck of any sort that is causing a truncation. If possible, increase the timing of your delays to give the data more time to make it through the chain.

    Helpful thread on SCLK: e2e.ti.com/.../2573727

    Let me know what you find.
  • Hello Alexander, thanks a lot for your reply. 

    I was sure I had a bug somewhere in between my code, but I was not sure what kind of problem could lead to a behavior like this on the signal. 
    I'll carefully search the bug in the code and I will let you know what I found. 

    Thank You,

    Moises.