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.

[参考译文] TMP1826:具有有效 CRC 但内容无效的 ScratchPad-1数据

Guru**** 2451970 points
Other Parts Discussed in Thread: TMP1826

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1515923/tmp1826-scratchpad-1-data-with-valid-crc-but-invalid-contents

部件号:TMP1826

工具/软件:

您好、

我正在处理 TMP1826芯片的通信问题。 我认为计时是正确的、因为芯片复位、器件检测以及数据写入和读取都正常工作。 当 I 读取 ScratchPad-1时、CRC 始终匹配、这一点得到了支持。 问题在于芯片返回的数据似乎无效。  以下是"读取暂存区1"操作的结果(复位、写入0xcc、写入0xbe、读取9个字节、校验 CRC):

[0] 0x43 
[1] 0x80
[2] 0x0c
[3] 0xff
[4] 0x00
[5] 0x00
[6] 0x00
[7] 0xff
[8] 0x8e

计算得出的 CRC:0x8E

状态寄存器(0x0c = 0b00001100):
ALERT_HIGH R/RC 0
ALERT_LOW R/RC 0
保留 R 00
DATA_READY RC 1
POWER_MODE R 1
ARB_DONE R 0
LOCK_STATUS R 0

配置1寄存器(0x00 = 0b00000000):
TEMP_FMT RW 0
保留 RW 0
CONV_TIME_SEL RW 0
ALERT_MODE RW 0
AVG_SEL RW 0
CONV_MODE_SEL RW 000

访问类型代码:
R 读取
RC 读取以清除
R-0读取返回0
W 写入
W0CP 写入0以清除

温度:0x8043 = 32835 = 0b1000000001000011

有几件我不明白的事情:

  • 为什么状态寄存器中的位5:4 (保留)没有值1?
  • 当芯片通过 VDD 供电时、为什么位2 (POWER_MODE)的值为1?
  • 但最重要的是:如何将温度寄存器 LSB 和 MSB (0x43和0x80)转换为以摄氏度为单位的温度?

芯片安装在 PCB 上的房间内、温度大约为25摄氏度。 温度寄存器有时会读取0x8040、0x8043、0x8077等值。 这些值 响应芯片的加热和冷却。

我在 TMP1826芯片上组装了两个相同的板、在这两个芯片上的行为类似。 读取的数据具有正确的 CRC、但没有意义。

我已经阅读了数据表以及应用手册 SBOA542和 SBAA588A、但我仍然无法弄清楚自己的错误。

芯片的连接方式如下:

当我们决定将 TMP1826芯片添加到 PCB 时没有可用的 UART、因此我不得不采用 bit-bang 操作。

提前感谢您提供的任何建议!

-罗斯

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

    尊敬的 Ross:

    传输数据时、始终首先传输最低有效位。  

    如果我反映您的数据:

    0x43 => 0xC2
    0x80 => 0x01
    0x0C => 0x30
    0xFF => 0xff
    0x00 => 0x00
    0x00 => 0x00
    0x00 => 0x00
    0xFF => 0xff
    0x8E => 0x71

    温度数据0x01C2转换为28.125°C、并且 CRC 通过。 此外、您询问的 DATA_READY 和 POWER_MODE 位将成为保留位、应始终为高电平。

    谢谢、

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

    尊敬的 Ren:

    很棒的收获! 从一开始就很明显、但我看不到树木的木头。 CRC 看起来不错、因此我确信数据是正确的-但如果所有位都翻转、即使 CRC 被翻转、也是…

    非常感谢您的帮助!

    -罗斯