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.

ADS7128: Autonomous Mode Operation

Part Number: ADS7128

Hi,

I'm trying to interface with an ADS7128 from an embedded Linux controller via I2C. The ADS7128 is to read values from 8 analogue potentiometers. 

Ideally, I'd like for the ADS chip to operate in the autonomous mode where I can poll any conversion results in the LAST_VALUE_CHx registers whilst it continually steps through each channel doing conversions in sequence.

So far I've followed the configuration in figure 33 of the datasheet, but excluded the steps related to alert conditions as I'd like it to continue the sequence indefinitely.

With this configuration, the sequence seems to start (i.e. reading the SYSTEM_STATUS register indicates that the sequence is running) but the statistics registers (LAST_VALUE_CHx, MIN_VALUE_CHx, MAX_VALUE_CHx) do not get updated, even thought I have set the STATS_EN bit in the general config register as mentioned in the optional step of figure 33.

So my main questions are:

  1. Is it mandatory to have an alert condition set up for autonomous mode to work on this chip?
  2. Have I missed anything in the configuration that would either mean the sequence doesn't start properly or the registers don't get updated with the latest conversions?

Thanks for any help you can provide,

Jonah 

  • Hello Jonah, 

    Have you configured the AUTO_SEQ_CH_SEL register (0x12 address). This register selects what channels are sampled in auto sequence mode or Autonomous mode. You will need to select all seven channels in this case.

    Regards

    Cynthia 

  • Hi Cynthia, 

    Thanks for the quick response. I had set the AUTO_SEQ_CH_SEL register, but you mentioning it made me go back through and check the configuration and it turns out I was writing the wrong value to the OPMODE_CFG register (0x10 rather than 0x20), so the device was actually stuck in manual mode!

    It's all working great now, thanks for the help.

    Regards,

    Jonah