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.

[参考译文] HDC3020-Q1:HDC302x 自动测量模式

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1362141/hdc3020-q1-hdc302x-automatic-measurement-mode

器件型号:HDC3020-Q1

我们计划定期测量 RH 和温度。

引用数据表(第8.5.7.3.2节):

'可使用测量读数命令在自动测量模式下检索最新的测量采集结果'
'测量读取完成后、HDC302x 会从存储器中清除测量结果'
与按需触发一样、如果 I2C 控制器尝试在测量完成之前读取测量结果、HDC302x 将以 NACK 条件进行响应"

假设在初始化期间、我将器件配置为以1Hz 的速率运行 AMM、并等待100ms (这一切只执行一次)。

如果然后我尝试每100ms 定期读取 RH 和 T (使用命令 E0 00)、会发生什么情况? 我会遇到 NAK 吗?

如果是、我需要轮询器件(例如20ms)、直到接收 ACK、AMM 的用途是什么(累积最小和最大统计数据除外)?

谢谢。

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

    Beni,

    如果我理解正确、您会问如果每秒测量10次、但 HDC302x-Q1每秒仅采集一次数据会发生什么情况? 转换后使用0xE000命令执行的第一次读取将提供数据、然后将其从存储器中清除。 其余应提供 NACK、因为没有可用的新转换数据。 如果您要将 AMM 设置为1Hz、我每分钟只轮询传感器一次。  

    谢谢

    -亚历克斯·汤普森

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

    Alex:

    非常感谢您的提示回复。

    1.我现在的理解是、当 AMM 处于活动状态时、器件会以编程的速率自动更新内部测量缓冲区。 如果控制器尚未读取先前的测量值、则该测量值会被静默覆盖。

    当发出0xE000命令时、如果测量缓冲区不为空、则会快速返回其内容、而不使用 NAK (器件会在内部将缓冲区标记为空)。

    如果在发出0xE000命令时缓冲区为空、则 该命令会触发测量。 在测量完成前(最多20ms 左右)、器件会向控制器返回一个 NAK。 读取后、缓冲区将被标记为空。

    我的理解是否正确?

    2.如果是,那么我认为它使用1 Hz AMM 并每2秒通过0xE000命令执行一次读出,然后我将永远不会看到 NAK。
    您为什么建议每分钟只轮询一次传感器?

    3、我在此论坛上的某个地方读到(现在找不到)、如果器件设置为 AMM 并且发生警报事件、器件会自动恢复为触发模式。 在数据表中没有找到类似的信息。 器件能否由于任何原因(硬件或软件复位除外)自行从 AMM 切换到触发模式?

    再次谢谢。

    Beni Falk

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

    您好,Beni,

    1.是的。 我会说0xE000命令触发 AMM 中的读取、而不是新的测量。 如果数据未就绪、它将返回 NACK 或所有数据都将为0xFFFF。

    2.很抱歉这里的混乱,我误读了频率。 您正确地说、不应每分钟轮询一次、但每2秒轮询一次会更合适。 如果将 AMM 设置为1Hz 并每2秒轮询一次、那么您应该不会看到 NACK 或0xFFFF。

    3.如果触发了警报,则可以通过复位事件(下电上电、nRESET 引脚、软复位命令)将其清除。 这随后会将传感器置于其默认关断模式(按需触发模式)。 您可以在此器件上对 EEPROM 进行编程、以根据需要使用0x61BB 命令更改默认测量状态、从而在发送复位后器件保持在 AMM 中(请注意、这是 NVM 编程更改、 并要求器件已经处于 SHUTDOWN 模式、用户必须在发送命令后等待77ms 才能发出任何更多通信、否则 NVM 可能会损坏)。 除非发生复位事件、否则器件不应从 AMM 切换到触发模式。

    谢谢

    -亚历克斯·汤普森

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

    谢谢!