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.

ADS1298 SPI problem

Other Parts Discussed in Thread: ADS1298

Hello,

I'm using ADS1298 MDK board with C5505 EVM and I'm running the sample code for the ADS1298 provided by TI...

I noticed  a following suspicious behavior:

I'm watching a value of SPIBuf which is being read directly from the chip through SPI (line 153 in InterruptHandlers.c). I set the ADS registers to use only the first channel, so usualy I get something like this: (correct and valid data)

SPIBuf = 0x000056DA@DATA

[0] = 00000000110000000000000000000000 // Sequence 1100 means that data package from the ADS is being read properly

[1] = 00000000111111111011011000101100

[2] = 00000000000000000000000000000000

[3] = 00000000000000000000000000000000

[4] = 00000000000000000000000000000000

[5] = 00000000000000000000000000000000

[6] = 00000000000000000000000000000000

[7] = 00000000000000000000000000000000

[8] = 00000000000000000000000000000000

[9] = 00000000000000000000000000000000

But sometimes (this happens randomly), some of the other channels also have values inside them:

SPIBuf = 0x000056DA@DATA

[0] = 00000000110000000000000000000000

[1] = 00000000111111111011011000000100

[2] = 00000000000000000000000000000000

[3] = 00000000000000000000000000000000

[4] = 00000000000000000000000000000000

[5] = 00000000000000000000000111111111

[6] = 00000000110000000000000000000000

[7] = 00000000111111111011010111100110

[8] = 00000000000000000000000000000000

[9] = 00000000000000000000000000000000

This is also happening when I'm using more than one channel. Data coming from the ADS is just garbled.

As I increase the speed of ADS chip this start to happen more often, and when speed is set to 32K, I always get invalid data from SPI. I'm guessing this is related to SPI and not to the actual ADS chip. I tried increasing the speed of SPI but that didn't make any difference.

Any help is welcome, since for our project we should run the ADS on 32Ksps, and I'm struggling to get valid data on that speed. 

 

 

  • Hi DSP_KungFu_Master,

    I know that code for the ADS1298 and C5505 was optimized to run the hardware at 8ksps.  The code was actually developed by our C5000 Applications group so they may have some suggestions for boosting the throughput to 32ksps.