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.

ADS1296: Read back 3 channels at 32ksps with spi clk = 4MHz

Part Number: ADS1296

Hello I am currently using the ADS1296 (6-ch device) for an ECG application and have a question regarding the serial interface...

My master clock is 2.048MHz, I need to sample at 32ksps and I am using only using 3-of-6 available channels on the ADS1296 device...

(IN1P,IN1N --> not used)
(IN2P,IN2N --> connected)
(IN3P,IN3N --> connected)
(IN4P,IN4N --> connected)
(IN5P,IN5N --> not used)
(IN6P,IN6N --> not used)

If I use an SPI clock frequency of 4 MHz, do I have sufficient time to clock out all 96 bits (STAT...CH2...CH3...CH4) in continuous read back mode?

I used the formula (7) on pg. 59 of the datasheet:

t_sclk <= (t_DR - 4t_CLK) / (N_BITS * N_CHANNELS = 24)

Since my master clock is 2.048 MHz, desired sampling rate is 32000 sps, and I am using only 3 channels, the result when plugging in the numbers was 3.27 MHz.

Just want to confirm this is possible or do I have to clock out all bits before the next DRDY hi-to-low transition?  Basically I am willing to trade-off channels for keeping the sampling rate and spi clock frequency at the values I have chosen.

Thanks for your time

-E

  • Hi Eduardo,

    It's easier to think of this in time rather than frequency. First and foremost, you won't be able to skip CH1 in the ADS1296 configuration you describe above. You can neglect CH5 and CH6, but CH1 will still be present in the output data packet. At 32 kSPS, you'll have BUSY transition every 31.25 uS. To read the STATUS plus 4 channels, that's 120 bits. At 4 MHz, that's 250 nS * 120 bits or 30 uS.

    In theory you'll have time to read all the data, but in practice you have to factor in whatever overhead your uC needs to process the interrupt, read and then store/process the data. The remaining 1.25 uS sounds a bit short to me - so, you can use CH1 and skip over CH3-5 to gain some time, or you can speed up the SPI clock to get data out of the device faster. Either option should give you an easier time collecting data from the ADS1296.

  • Tom,

    Thanks for clarifying that I cannot skip CH1 since they are positioned immediately after the status bits in the frame order.  So first of all,I would change my hardware connections to only use CH1, CH2, and CH3 so that I would subsequently read back:  STAT...CH1...CH2...CH3 (total of 96 bits).  As mentioned earlier, I would like to keep the SPI clock frequency at 4 MHz(250ns), and sampling rate at 32ksps(31.25us), so it would take 24us (250ns * 96 bits) to clock out those bits and leave me with 7.25us (31.25us - 24us) to process the interrupt.  If 7.25us is not sufficient time to process the interrupt, at that point, I would need to either: a) skip more channels or, b)increase my spi clock frequency

    Are my calculations correct and do they line up with your response? 

    By not clocking out all the available bits before the next DRDY signal is possible as I proposed with no data corruption?  I was concerned that if all bits were not clocked out, some unexpected behavior might occur that causes data corruption.

    Best Regards,

    -E

  • Hi Eduardo,

    Yes, that sounds right time wise. If you do start to overlap reads with DRDY, you can get corrupted data.