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.

[参考译文] ADS1220:如何在看起来始终读取 AIN0值的情况下读取温度?

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS1220

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1205221/ads1220-how-to-read-temperature-as-i-always-seem-to-read-the-ain0-value

器件型号:ADS1220

当我为温度传感器启用寄存器、然后发送 START cmd、等待 DRDY、I 读取的数据与 I 为 AIN0-VSS 读取的数据相同(多路复用器中的0x08设置)

它似乎没有设置 TS 模式。 我知道我正在读取 AIN0输入、同时当我增大其电压时、温度读数也随之上升。

读取温度传感器所需的顺序是什么? 刚才、我在伪命令中执行以下序列。

SET_TS (1)

SendStartCMD()

WaitForDRDY()

ReadADCBytes()

SET_TS (0)

3个字节的 ADC 读数是 AIN0值。  

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

    Dave、您好!

    这是正确的程序。  写入/读取 ADS1220寄存器时的一种常见错误是使用正确命令。  经常会混淆的是 WREG 和 RREG 命令中的'rrnn'位设置。

    命令的位3和位4确定要写入哪个寄存器:

    • '00'寄存器0
    • "01"寄存器1
    • '10'寄存器2
    • '11'寄存器3

    因此、要正确写入寄存器1、命令应为0x44 (0100 0100b)、之后的数据字节为0x02 (0000 0010b)。  如果您认为您给出了正确的命令、请提供示波器或逻辑分析仪通信快照以便进行验证。

    此致、

    Bob B

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

    尊敬的 Bob、感谢您的回复。

    我正在使用移植到具有 SPI 的 ATTiny1614上的 TI 代码 sbac227 (www.ti.com/.../sbac227)。

    寄存器会进行写回操作、因此我知道是正确写入的。 我将设置示波器并捕获 SPI。