TI论坛
直播中

闷~~

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

ADS1256无论是使用单端采集还是差分采集,输出端DOUT采集到的24位数据在最高位都无法变为1一直为0,为什么?


  • 在使用ADS1256采集电压时,无论是使用单端采集还是差分采集(测试输入电压都为负值),在输出端DOUT采集到的24位数据在最高位都无法变为1一直为0,所以采集得到的数据都是正的;如图中我采集的电压为-0.82v,但得到的数据却为+4.17v。
    我采用差分采集方式:我的VREF=2.5V,PGA=1;在2.5v范围内测试的话,在AINP端输入电压为0V,在AINN端输入电压为+2.0V,按照手册应该得到的电压为VIN=AINP-AINN=0-2.0=-2.0V,理论对应的AD值应该为0xCCCBC7;但是我采集到的AD值却是0x4CCCEA,对应的为+2.999V。
    在AINP端输入电压为+2.0V,在AINN端输入电压为0V时,得到的AD值为0x333315,对应的实际值为+1.999V,此时较为准确。
    就是在最高位的正负符号位始终为0。
    不知道各位大牛有没有了解的!请指点下!谢谢!

回帖(2)

石胜厚

2025-1-9 14:46:21
在SPI设置那里需要做一点处理
举报

李鸿

2025-1-9 18:04:49
根据您的描述,您在使用ADS1256进行电压采集时遇到了问题,即采集到的数据总是正数,而实际输入电压为负值。这可能是由于以下几个原因导致的:

1. 硬件连接问题:请检查您的硬件连接是否正确,包括ADS1256与微控制器之间的连接,以及输入电压的连接。确保所有连接都正确无误。

2. 参考电压(VREF)设置问题:您提到VREF=2.5V,PGA=1。请确保您的参考电压设置正确,因为错误的参考电压设置可能导致采集到的数据不准确。

3. ADS1256配置问题:请检查您的ADS1256配置是否正确。确保您已经正确设置了单端或差分采集模式,以及相关的寄存器设置。

4. 代码问题:请检查您的代码,确保您正确地读取了ADS1256的数据,并将其转换为电压值。错误的代码可能导致采集到的数据不准确。

针对您的问题,您可以尝试以下步骤来解决:

1. 检查硬件连接,确保所有连接都正确无误。

2. 重新检查您的ADS1256配置,确保您已经正确设置了单端或差分采集模式,以及相关的寄存器设置。

3. 检查您的代码,确保您正确地读取了ADS1256的数据,并将其转换为电压值。您可以参考ADS1256的数据手册,了解如何正确地读取数据并将其转换为电压值。

4. 如果问题仍然存在,您可以尝试使用其他ADC芯片进行测试,以排除硬件故障的可能性。

希望以上建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们为您提供更具体的帮助。
举报

更多回帖

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