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?