您好!
我正在通过 SPI 接口开发具有 STM32集成的 ADS1220。 我尝试像 这样读取热电偶温度
spi.select(mode1) -> CS 被设置为输出低电平
SPI.WRITE (0x1F) -> (1F 表示 ADS1220数据表中的 RDATA 命令)
我使用以下命令读取缓冲器 SPI.Read (buff、0x03)
但我的 buff [0]始终显示相同的值(0x35)。
因此、该值不会更新。 我是否缺少 IDAC 电流或 IDAC 布线等配置设置?
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.
您好!
我正在通过 SPI 接口开发具有 STM32集成的 ADS1220。 我尝试像 这样读取热电偶温度
spi.select(mode1) -> CS 被设置为输出低电平
SPI.WRITE (0x1F) -> (1F 表示 ADS1220数据表中的 RDATA 命令)
我使用以下命令读取缓冲器 SPI.Read (buff、0x03)
但我的 buff [0]始终显示相同的值(0x35)。
因此、该值不会更新。 我是否缺少 IDAC 电流或 IDAC 布线等配置设置?
您好、Ganesh、
欢迎来到 E2E 论坛! 您能否向我发送您所使用的原理图和器件配置? 我会确保您写入 ADS1220的配置是从寄存器读回的。 您能否向我发送您的通信示波器或逻辑分析仪快照?
ADS1220使用字节传输。 必须确保发送和接收正确的字节数以及读取正确的数据。 命令为1字节、数据为3字节。 CS 必须在整个通信过程中保持低电平。 您应该使用"0"来发送空字节。 因此、如数据表中所示、RDATA 命令应总共传输4字节0x10、0x00、0x00、0x00。
我不知道写入和读取函数如何在您的代码中工作。 通常需要进行写操作来发送所需的 SCLK。 接收缓冲器将在器件发送时填充。 要确定您的 SPI 是否正在使用代码、您需要使用示波器或逻辑分析仪来监控信号、以确保通信正确。
此外、ADS1220的默认模式为单次模式、需要发出 START 命令才能启动转换。
热电偶是自供电源、不需要激励。 我建议您查看 《热电偶测量基本指南》。
此致、
Bob B