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.

ADS7142: Continuous reading after alert pin set

Part Number: ADS7142

Hello, 

I have configured the ADS7142 in autonomous mode with post alert threshold monitoring and diagnostics. But for my application I need more thant 16 values after the pin Alter goes low.

The use of ADS7142 is for low power application with PIR sensor. I want the ADS7142 wakes up the host microcontroller (STM32L432KC) when the sensor output signal cross the threshold.

For analysis purpose I need more than the 16 values stored in the data buffer. 

After reading the datasheet of the component, it seem that the data buffer store only 16 values and cannot work continuously. 

Is it possible to have this operating mode ?

Thank you in advance for your response.

  • Hello,

    unfortunately, this functionality is not supported in a single mode of operation.

    The device cannot provide more than the 16 entries in the buffer when it is in autonomous mode.

    To get more data then that buffer provides, the device would need to operate in manual mode, and it does not sound as this is the need of your application.

    Regards

    Cynthia

  • Hello,

    Thank you for your answer. 

    If there is no single mode of operation that support this functionnality, is it possible to switch between autonomous mode and after Alert is set switch to manual mode to read data ? 

    Regards

    Etienne

  • Etienne,

    Switching from autonomous mode to manual mode after a trigger can be done if the processor is programmed to change the mode of the device and then begin conversions.

    Note that this takes time, and data from the moment the processor wakes up, changes the mode of the device and begins sampling, input data can be missed.

    If your system can take that delay, then the device can be used in this way.

    Regards

    Cynthia

  • Hello Cynthia, 

    Thank you for your response. 

    Do you know the time needed to switch between the autonomous mode and the manual mode ? 

    I make a write through the I2C on the OPMODE_SEL register but the data is not take into account right after. 

    It is not specify in the datasheet the time needed by the ADS7142 to have the written data into the register. 

    Thank you in advance. 

    Best regard, 

    Etienne

  • The total amount of time to switch the device mode and get measurement out depends on the speed of communication being used.

    To write to a register, it takes at least 4 frames. You can write to multiple registers continually, as explained in page 30 of the datasheet.

    Once the device is in manual mode, its default is to sample CH0 only. A conversion will not start until the Read Bit is set by the processor.

    If you need to sample both channels in manual mode, you will need to also configure the auto sequence mode. You will then need to set the start sequence bit and the Read Bit. Page 32/33 further explains Manual mode operation.

    How much more data do you need afterwards? During this time of reconfiguring the device, you will not be outputting data.

    When you say that the data is not available right after. Have you confirmed that you reconfiguring the device to manual?

    Once configured, the device will still need a the Read bit to be set to complete a conversion.

    Regards,

    Cynthia

  • Hello, 

    Thank you for your response. 

    To switch the device mode I write on OPMODE_SEL register the value ADS7142_VAL_OPMODE_SEL_I2C_CMD_MODE_W_AUTO_SEQ_EN = 0x04 to sample both channels. 

    After that I tried to confirme the reconfiguration as following: 

    //Confirm the operation mode selection
    ADS7142SingleRegisterRead(ADS7142_REG_OPMODE_SEL, &opmodeselconfig);

    But the value of opmodeselconfig is 0x06 (Autonomous mode) and not 0x04 (Manual mode with auto sequencing) like excepted.

    My application is to track activity with a pyroelectric sensor. When the threshold is cross I need to analyse the signal. The duration of the signal is between 1.5s and 2s . So, 16 values are not enough for my application.  But in manual mode I read a data every 7 millisecond not in continuous. 

    Furthermore, I observe a pull down on the analog input when I reset the ALERT_LOW_FLAGS and/or ALERT_HIGH_FLAGS and switch from manual mode to autonomous mode. 

    Best regards.

    Etienne

  • Hello,

    Are you still having trouble reconfiguring the device? Seeing how you are able to configure the device into autonomous mode, it is likely not timing issues.

    Using a scope connected to the digital lines, you can confirm that what you are programming to the device is in fact what it is happenin. It also provides a visual check for debugging. Specially since you can read back the register value.

    What process steps are you taking?

    How are you observing the pull down on the analog input? are you measuring it with a multimeter seperatly?

    Regards

    Cynthia

  • Hello, 

    Thank you for your response. 

    I found the issue of pull down. It was the autonomous switching mode that created a current draw on the power supply. I have separated the power supply of the analog part and the power supply of the ADS7142 and its work well know.

    Regards, 

    Etienne