在使用ADS1256采集数据时出现问题描述如下:当设置不同的数据输出速率的时候,得到的24bit的输出数据不相同。
采集系统硬件描述如下,下位机MCU采用的主频为456MHZ,通过GPIO口跟ADS1256的5个管脚连接,分别是DRDY,SCLK,DIN,DOUT,CS。
调试过程中存在的问题:选择输出数据频率不同的时候输出的数据不相等。
50HZ和100HZ时,输出值为38 ** ** (24bit)
500HZ,1000HZ,2000HZ时,输出值为2d ** ** (24bit)
3750HZ,7500HZ时,输出值为30 ** **(24bit)
正确的值应该是 30 ** **(24bit)。问题检查了很久没有找出原因,希望能够得到大家的帮助,谢谢。
user151383853:
丛现象分析, 速度慢了反而数据有错误,
高位总没有错误, 既然接收有错误, 发送也可能有错误的, 包括配置都可能有问题
先检查一下时序吧
Kailyn Chen:
当你在更改data rate的时候,有没有同时别的寄存器也修改了从而影响了输入?比如PGA setting等。 理论上说,data rate不同,不会影响输出。您的输入是什么信号?
yang dong1:
回复 user151383853:
您好,非常感谢您的回答。不同频率下,数据的高位有问题(前两个字节),不相同。关于寄存器的配置问题,在改变频率的时候,从示波器上观察DRDY管脚可以看出跟设置的频率相同。因此觉得配置寄存器的时候应该能够成功的配置。那为什么速度快的时候数据反而会正确呢?能请问一下,在做读和写命令的时候,是写命令在下降沿,读命令在上升沿,对吗?
yang dong1:
回复 Kailyn Chen:
您好,非常感谢您的回答。输入信号是我接了一个恒压源,应该没有问题。在更改datarate的时候,并没有对PGA setting进行配置。
yang dong1:
回复 Kailyn Chen:
您好,非常感谢您的回答。输入信号我接的是恒压源,应该不会存在问题。在设置datarate时,并没有设置PGA。还应该从哪方便查找问题?谢谢
ye yang:
回复 yang dong1:
楼主,我也遇到同样问题,只是我是数据率低的时候是对的,请问是什么原因