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.

[参考译文] HDC2010:数据表与测试数据之间的差异(无湿度数据)

Guru**** 2540720 points
Other Parts Discussed in Thread: HDC2010, HDC1010

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/626172/hdc2010-difference-in-data-sheet-vs-test-data-no-humidity-data

器件型号:HDC2010
主题中讨论的其他器件: HDC1010

使用 HDC2010、

发现当前数据表已在 I2C 通信描述中进行了写操作、当它应该在第16页上阅读时、认为表4和表5应该是:

起始、从器件地址(W)、Ack、寄存器地址、Ack、 START、Slave Addr (R)、Ack、Data……

总之、到目前为止、我可以通过将0x01写入寄存器0x0F 来生成读取命令、等待延迟并返回温度数据。

写入从器件地址(W)和0x00 (温度 LSB)、然后写入从器件地址(R)并读回两个字节我认为寄存器0x00和0x01应该是 LSB 和 MSB、顺序如下。

在阅读数据表时、它说这个顺序应该是 MSB、然后是 LSB。 第15页 第7.5.4节"请注意、首先发送寄存器字节 MSB、然后发送 LSB "

我知道首先发送 LSB、因为这是一个很容易改变的值、而不是 MSB。 用手指略微加热时、我得到的结果类似于0x3E LSB 和0x63 MSB、在室温下、我得到的结果类似于0x60 LSB 0x63 MSB。

更重要的是、数据表在第17页中指出"(2个 LSB D1和 D0始终为0)"、如果为 TRUE、则意味着温度数据的 MSB 字节将被发送 D0、D1、D2、D3、D4、D5、D6、D7

MSB 温度寄存器显示为7 6 5 4 3 2 1 0、并将 TEMP[15:8]写入下面。 这是不是说 D0和 D1是0和1、TEMP[8]=D7和 TEMP[9]=D6? 非常混乱。

HDC1010数据表稍微更清晰、但芯片略有不同。  

除此之外、当使用 LSB 和 MSB 并将它们连接起来(MSB<<8 | LSB)并输入给定的公式时、我们得到的值类似于以摄氏度为单位的温度

我遇到的最大问题是读取湿度数据。 无论我是如何读取它们的、我始终会在寄存器0x02和0x03中获得0x00 0x00。

在触发 Take 采样寄存器(寄存器0x0F =数据0x01)后、我尝试首先读取它们、但结果相同。 我正在确保芯片设置为测量温度和湿度、并且我已经尝试了10、15和20ms 的延迟、以确保在为芯片(Tstart)供电后、测量有时间完成、并且在开始测量之前。

有人对我为什么没有湿度读数有任何建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Craig、
    您是否正在使用 HDC2010 EVM? 如果没有、您可以共享您的系统方框图吗? 您能否读取温度和值是否合理?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jose、

    我们使用的不是 EVM 版本、而是芯片、并已放置在我们自己的原型产品上。

    我们将获得温度寄存器值、转换后、我们将在室温测试条件下获得以摄氏度为单位的良好值。

    湿度寄存器中没有任何变化。

    谢谢、

    Craig

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Craig、
    感应解决方案 GUI 会自动安装一个用于与 HDC2010通信并解释其数据的代码示例、安装在此处:C:\ti\Sensing Solutions EVM GUI-1.9.2\EVM Firmware\older revs\HDC10x0_EVM_Firmware_source。 此代码示例是 EVM 的源代码。 源代码是否能帮助您调试问题?