TI论坛
直播中

张伟

8年用户 1731经验值
私信 关注
[问答]

如何给ADS1247发送指令,才能让它开始转换温度?


  • 最新在使用ADS1247测量PT100,MCU51模拟SPI访问ADS1247,可以读写所有的寄存器。但是无法测量温度,DOUT交永远是低电平,而且差分电压也总是0.000V。想请问,应当如何给ADS1247发送指令,才能让它开始转换温度。

回帖(3)

程娇

2025-1-22 09:33:05
 这个器件开始转换是通过将STAT  pin拉高来控制ADC模块开始转换的,请参考datashet的page  33,看看你的操作是否符合datasheet的定义。
举报

郑雅颖

2025-1-22 09:33:12
把模拟SPI通讯的GPIO口信号全拉出来,用示波器看,并与手册里面的比较,时序和时间长度必选一致才会有结果输出。
举报

杨杰

2025-1-22 11:31:25
要让ADS1247开始转换温度,您需要按照以下步骤操作:

1. 配置ADS1247寄存器:首先,您需要配置ADS1247的相关寄存器,以便正确测量温度。以下是一些关键寄存器及其配置:

   a. 配置寄存器0x02(CONFIG1):设置测量模式为单端输入(0x0000),并选择通道0(0x0001)作为温度测量通道。
   
   b. 配置寄存器0x03(CONFIG2):设置采样速率(例如,0x0001表示1000 SPS),并启用连续采样模式(0x0000)。
   
   c. 配置寄存器0x04(CONFIG3):设置增益(例如,0x0000表示1倍增益),并启用差分模式(0x0000)。

2. 启动温度测量:配置好寄存器后,您需要向ADS1247发送一个指令,以启动温度测量。以下是发送指令的步骤:

   a. 发送写指令:首先,您需要向ADS1247发送一个写指令,以便写入数据到寄存器。写指令的格式为:0x08 | (寄存器地址 << 1)。例如,要写入寄存器0x02,指令应为0x10。
   
   b. 发送寄存器地址:接下来,发送要写入的寄存器地址。例如,要写入寄存器0x02,地址应为0x02。
   
   c. 发送数据:最后,发送要写入寄存器的数据。例如,要将寄存器0x02配置为单端输入模式并选择通道0,数据应为0x0001。

3. 读取温度数据:启动温度测量后,您需要从ADS1247读取温度数据。以下是读取数据的步骤:

   a. 发送读指令:首先,您需要向ADS1247发送一个读指令,以便从寄存器读取数据。读指令的格式为:0x10 | (寄存器地址 << 1)。例如,要读取寄存器0x00,指令应为0x20。
   
   b. 发送寄存器地址:接下来,发送要读取的寄存器地址。例如,要读取寄存器0x00,地址应为0x00。
   
   c. 读取数据:最后,从ADS1247读取数据。数据将包含温度测量结果。

4. 计算温度:读取到的温度数据需要经过计算,以获得实际的温度值。您可以根据PT100的温度-电阻特性曲线,将电阻值转换为温度值。

通过以上步骤,您应该可以成功地让ADS1247开始转换温度,并读取温度数据。如果仍然无法测量温度,请检查您的硬件连接和配置是否正确。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分