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: ALERT FLAG HARD TO CLEAR

Part Number: ADS7128

Tool/software:

I am using the ADS7128 and I  want be alerted when the  analog  threshold has been exceeded ( window comparators ) and telling the truth the device works very well  in all his regards I can set the thresholds, the average filter, the conversion speed ,and whatelse I like , I have tested both the manual and autonomus configuration ,everything seems working properly but  the ALERT flag .This flag once  setted seems hard to clear. 

I am following the flow chart depicted on the data sheet on page 26  fig.33 unfortunately when I get the interrupt from the ALERT pin  I am not able to clear this flag  regardless  the many  efforts made in the firmware .At last I have been  obliged to send a clear all register command to clear the ALERT flag .

It seems impossible to  clear the  EVENT_FLAG_REG  by following the flow chart in fig 33  and then  the pending interrupt is steady state .

May I send a write 00 to the EVENT_FLAG_REG or do  I have to clear each bit individually ?

Are there any other action to take not  shown  in the fig 33 ?

Actually the only way to clear the pending  ALERT  interrupt is by issuing a clear all register command .

Please let me know your suggestions 

Best Regards

Ettore Piccirillo

  • Hi Ettore,

    The EVENT_FLAG register (0x18) is read only, and is not intended to be cleared directly. Instead, to clear this register indirectly, the respective flags need to be cleared in the EVENT_HIGH_FLAG (0x1A) and EVENT_LOW_FLAG (0x1C) registers. 

    For instance, if bit 0 of the EVENT_FLAG register is high, to clear this bit, clear bit 0 of the EVENT_HIGH_FLAG register (if the input exceeded the high threshold), or/and clear bit 0 of the EVENT_LOW_FLAG register. Clear bits to these registers by writing a 1 to these bits.

    Let me know if you have tried that and we can investigate this further.

    Regards,
    Joel

  • hi Joel

    Telling  the truth I would never guess to clear a bit I had to write a 1 in its position (xor) anyway I will try and let you know if succeed.

    That is why I  was going crazy  the data sheet doesn't mention this  odd condition.

    thank you very much 

    Ettore

  • Hi Ettore,

    No worries. I have definitely encountered this same problem at some point. This function is more fully described in these register descriptions (page 41 of the datasheet).

    Regards,
    Joel

  • ok Joel

    you are right I admit  I  didn't notice it 

    thank you very much  

    God bless you 

    Ettore Piccirillo