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.

ADS1294: Changing Channel MUX on the fly

Part Number: ADS1294

Hi,

Can you please tell me th restrictions on how fast a Channel input can be switched? I would like to use CH4 of a ADS1294 for RLD and temperature reading. The temp reading should happen between two Data readings. Therefore before reading the tempearture CH4 needs to be switched to TEMP Sensor and then back. When i try this in my code it will never accept the WREG Command (while communication is fine otherwise and it accepts WREG Commands). Only if there is a certain amount of delay after the WREG on CH4SET it seems that it will switch to temp reading, but can you please tell me the exact amount? 

Thank you very much!

  • Hello,

    Thank you for your post and welcome to our forum.

    Are you trying to use the RDATAC mode, which automatically loads the output shift registers with new conversion data? Or do you issue the RDATA command to read data on-demand?

    To change a register in RDATAC mode requires additional steps and delay. You will need to send:

    1. SDATAC
    2. WREG rr nn
    3. RDATAC

    In RDATA mode, the /DRDY pin will continue to pulse at a fixed data rate as conversion results become available. This would allow you to change a register on the fly. However, each change to the channel settings register (CHnSET) will require a 4*tDR delay for the digital filter to settle (tDR = data rate period). Since all channels operate at the same data rate, you will miss 3 conversions from all channels each time you change the register value of CH4SET.

    You mentioned that WREG seems to only work when a certain delay is met. I believe you are referring to the tSDECODE time spec, which defines the minimum time that two bytes must take in order to be recognized. If your SCLK is greater than a certain frequency, you'll need to insert a brief delay between the first and second byte to meet this requirement.

    Best regards,