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.

[参考译文] ADS7924:报警阈值问题

Guru**** 2391355 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/612908/ads7924-alarm-threshold-question

器件型号:ADS7924

主席先生,你好:

    当我 使用报警中断、我设置 LLR 0x44 (0.8V)、ULR 0x88 (1.6V)时、当覆盖结果小于0.8或大于1.6时、不会发生报警中断。

但是当我将 LLR 0x88 (1.6V)、ULR 0x44 (0.8V)置1时、当转换结果介于0.8和1.6之间时、会发生警报中断。

  此结果不同于数据表 v7.3.9。

  您对此 问题有什么建议吗?

  非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yongchao、

    我正在努力获取硬件、但与此同时、您能否:

    -提供数据线(SDA 和 SCL)的示波器捕获

    您要为哪个信道设置警报?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yongchao、

    您是否正在对 ALMCNT (地址12h)寄存器进行编程、以指定警报触发前必须超过阈值的次数(请参阅数据表第30页的顶部)? 您能回答以下问题吗:

    1) 1)根据您最初指定的阈值(LLR = 0x44、ULR 0x88)、并在检查警报之前获取至少2个低于 LLR 或高于 ULR 的样本。

    2) 2)使用相同的阈值(LLR = 0x44、ULR 0x88)对 ALMCNT = 001进行编程、并在检查警报前仅采集1个样本。

    如果这两个都产生警报、则 ALMCNT 寄存器将被设置为在超过阈值2次后触发警报。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    主席先生,你好:

         感谢您的回复。

         下面列出 了我将寄存器设置为:

         模式控制:我设置为唤醒模式0x80,然后切换到 手动单模式0xc0 (通道0采样)

         中断配置:0x40,超过阈值1时间生成警报条件

         中断 控制: 0x0F、启用通道0~3 警报

         加电配置:0x60

         正如您所说的、我设置 LLR =0x44、ULR=0x88、 并获取低于 LLR 或高于 ULR 的2个以上样本、然后我检查是否未发生警报。

        很抱歉、 我不清楚第二条建议、您是说设置 ALMCNT[0:2]=001吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yongchao、

    感谢您发送寄存器配置。 您是否仅在检查警报之前采样一次?

    中断配置寄存器描述(INTCONFIG)中有一个小拼写错误。 0x40将器件警报配置为在超过两个阈值后触发。  请对 INTCONFIG  = 0x20进行编程、并在输入为以下值时测试警报触发情况:

    1) 1)针对 LLR 下的输入触发警报

    2) 2)针对 ULR 以上的输入触发警报

    3) 3) LLR 和 ULR 之间的输入没有触发警报

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    主席先生,你好:

       感谢您的回复。

      I programed INTCONFIG =0x20、 测试 结果为:

      1.input LLR 警报已触发

      2.input 超出 ULR 警报触发

      在 LLR 和 ULR 之间发送3.input、无警报触发

     现在我很困惑。   将 INTCONFIG 设置为0x20的含义是什么?   。

     根据数据表第30页、   数据表中没有关于 ALMCNT[2:0]= 001的任何说明。

     BTW、如果我 编程 了 INTCONFIG = 0x40、 则会 触发 ULR 或 ULR 以上警报的输入采样超过2倍。

           如果我 编程 INTCONFIG = 0x80、 则我对 触发 ULR 或 ULR 警报的输入进行4倍以上的采样。

     比较器阈值限制加倍的次数似乎是原来的两倍。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yongchao、

    我很高兴听到警报现在以预期的方式触发。 INTCONFIG 描述有一个小错误、我们正在努力立即纠正该错误。

    INTCONFIG 的前三位配置用于设置警报计数器。 达到特定计数后、将触发警报。 以下是应如何配置前三位以及警报触发前的计数:

    000 -每次转换都会生成警报
    001 -超过阈值限制1时间会产生报警条件(即 INTCONFIG = 001X xxxx)
    010 -超过阈值限制2时间会产生报警条件
    011 -超出阈值限制3时间会生成报警条件
    100 -超过阈值限制4时间会产生报警条件
    101 -超过阈值限值5时间会产生报警条件
    110 -超过阈值限制6时间会产生报警条件
    111 -超过阈值限制7时间会产生报警条件

    当 INTCONFIG = 0x40 (或 ALMCNT = 010)时、这实际上会将警报设置为在超过阈值两次后触发。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,现在芯片可以正常工作了。 非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴为您提供帮助。 如果您有任何其他问题、请告知我们。