TI论坛
直播中

唯爱萌meng

9年用户 1035经验值
擅长:可编程逻辑
私信 关注
[问答]

使用STM32F4系列的芯片驱动ADS1110做电压采样,配置寄存器设置为0x8C,读出的寄存器值时0XFF,为什么?


  • 使用STM32F4系列的芯片驱动ADS1110做电压采样,配置寄存器设置为0x8C,但是读出的寄存器值时0XFF,但是数据寄存器读出的值很小,大概在500一下,麻烦大佬指导一下

回帖(2)

张子晶

2024-11-29 15:26:05
您的I2C地址是什么?配置寄存器默认值是0x8C,您可以按照数据手册Figure 2. Timing Diagram for Reading From the ADS1110中的时序图再读一下,同时用示波器抓出I2C波形,附上来吗?我看下您的读取时序是否正确,配置寄存器返回的值是否正确
举报

carey123

2024-11-30 16:16:18
在使用STM32F4系列芯片驱动ADS1110进行电压采样时,配置寄存器设置为0x8C,但是读出的寄存器值是0xFF,这可能是由以下几个原因导致的:

1. 硬件连接问题:请检查ADS1110与STM32F4之间的硬件连接是否正确。确保数据线、时钟线、电源线和地线都已正确连接。

2. 通信协议问题:请检查您的SPI通信协议是否正确配置。确保SPI的时钟频率、CPOL、CPHA等参数与ADS1110的要求相匹配。

3. 寄存器配置问题:0x8C的配置寄存器值可能不正确。请参考ADS1110的数据手册,确保您配置的寄存器值是正确的。0x8C对应的配置是:单端输入、增益为6.144V、采样速率为128SPS。如果您需要其他配置,请修改寄存器值。

4. 读取寄存器值的方法问题:请检查您读取寄存器值的方法是否正确。在读取寄存器值时,您需要先发送读取命令,然后读取返回的数据。请确保您的方法与ADS1110的数据手册中的描述一致。

5. ADS1110芯片问题:如果以上问题都排除了,那么可能是ADS1110芯片本身存在问题。您可以尝试更换一个ADS1110芯片,看看问题是否解决。

关于数据寄存器读出的值很小(大概在500以下),这可能是因为您的配置寄存器设置不正确,导致采样结果不准确。请检查您的配置寄存器设置,确保它们与您的实际需求相匹配。如果问题仍然存在,您可以尝试调整增益设置,看看是否可以获得更准确的采样结果。
举报

更多回帖

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