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.

ADS1243 init and operation command sequence question

Other Parts Discussed in Thread: ADS1243

Hello,

just few quick  questions about ADS1243 usage:

1) init sequence

my code init the ADC with the following command sequence:

- reset command

- 500ms pause

- read MUX register (inited at 0x01 default value at reset) and check if its value is 0x01 to make sure the ADC is present on the board

 

2) calibration sequence

- write 0x00 to SETUP register (PGA=1, burnout sources off)

- write 0x00 to MUX register (from datasheet it should have no influence on calibration procedure)

- write 0x34 to ACR register (disable buffer and set RAGE bit = 0 for calibration)

- pause 10ms

- issue SELFGAINCAL command

-pause 600ms

- wait for -DRDY polling ACR bit 7

- load PGA gain

- pause 10ms

- issue SELFOFFCAL command

- pause 400ms

- wait for -DRDY polling ACR bit 7

- load 0x64 to ACR to prepare for normal ADC operations

- wait 5ms

- read ACR and check if it has been correctly written to 0x64

- write proper value to ODAC register to set offset

- pause 10 ms

 

Using this roustine I exoperience sporadic situations where the second time I am writing to the ACR register it remains reset at 0x00 and in this case the output data rate drops to around 1Hz. I still have not identified the source of the problem

 

3) input channel set sequence

- write the desired value to MUX register

- Issue a SYNC command

- pause 50us

- still keeping -CS low from the sync command send out a 8bit clock burst on the SPI CLK to allow sync to happen on the first CLK edge

- pause 50us

- release -CS

- wait for -DRDY polling ACR bit 7

 

Form the datasheet it seems that setting the MUX register has no effect on the internal calibration, so I guess it should be ok to perform calibration and only after this set the input mux. Is this true?

Form the datasheet it seems that setting the MUX register has no effect on the internal calibration, so I guess it should be ok to perform calibration with MUX set at 0x00, right?

  • I just found a solution to anomalies in ACR "failed" write operation during calibration routine... I raised the pause after SELFOFFCAL up to 600ms and now the anomaly seems to be disappeared.

    I also tried to perform calibration sequence without touching the mux register, and everything is working in the same way, so I guess that the fact that mux setting does not influence internal calibration is confirmed. I even tried to set the mux settings (input combination) before and after the calibration and it is kept with no changes during the process. This should be an empiric answer to my own doubts on mux settings during calibration.

     

  • For the SELFOFFCAL, the part will use the mux to disconnect from the current inputs and then short the inputs together to run the offset calibration. Once the calibration is completed, the mux will revert to the orignal settings. That's why the mux setting shouldn't alter the calibration.

    However, the mux settings will make a difference in the SYSOFFCAL. In that command, the inputs are assumed to be be at some system set offset for the calibration.

    Joseph Wu