TI中文支持网
TI专业的中文技术问题搜集分享网站

还是ADS1256的问题,还是有诸多问题搞不定啊

1、ADS1256上电初始化,先设置status,mux,adcon,drate几个寄存器值,分别设置成0x04,0x18,0x20,0x63(drate为50sps)设置是成功的(因为我调试的时候用rreg指令回读过与设置值一致),然后等待drdy变低后,发送一个selfcal指令,等待50ms后完成整个初始化;

2、读取ADS1256转换值,操作时序如下:

等待drdy变低,修改mux值(发送0x51,0x00,0x18),发送sync,wakeup,最后rdata;

调试的时候用串口来触发读取,串口发送一个读取命令(自定义的),然后单片机接收后启动一次上述ADS1256操作时序,读取ad转换值,然后将值回送到串口,串口读取的间隔时间为1sec;

注:我用串口读取的一直是ADS1256的同一个通道,如通道1;

开始的时候很正常,drdy输出正常(ADS1256收到wakeup指令后 drdy变高,然后开始同步并转换,持续时间20ms左右,然后又变低),但是串口持续读取一段时间后,drdy信号突然又变为30khz的连续波形了,真不知道是什么原因;

还有一个问题:有时候连续读取一段时间后,AD转换值会不正常,是一个与输入电压完全不相关的值,而且之后的转换值大致都是这个值,必须要重新上电才正常;

真不知道到底是芯片有问题还是我操作上哪里不对了;

jiantao chi:

今天调试了一天,发现一个问题,长时间读取ad值后,ads1256不知何原因被reset了,因而造成drate变回来30ksps了,我的reset与sync引脚都是直接接DVDD 3.3V的,reset引脚没有低脉冲的可能性,软件上也无reset指令,sclk引脚也无特殊的reset波形(3个连续特定高电平脉冲),不知道问题出在哪里,会引起ads1256的复位???

Wayne Xu:

回复 jiantao chi:

请问你的应用里RESET的引脚是怎么接的。

jiantao chi:

回复 Wayne Xu:

sync和reset都直接接了dvdd 3.3V的

Wayne Xu:

回复 jiantao chi:

请检查干扰,会不会使芯片复位,一个是外界信号的干扰使芯片硬件复位。一个是总线干扰。

jiantao chi:

回复 Wayne Xu:

请问下专家:引起芯片复位的外界因素有哪些?

1、我的reset引脚直接接了DVDD,如果DVDD有超过2US的负脉冲,那么芯片会复位

2、如果sclk上有特殊的reset波形(3个连续特定高电平脉冲),也会引起芯片复位

其他的还有什么原因会引起芯片复位呢?

jiantao chi:

回复 Wayne Xu:

的确是隔离后信号上有毛刺的问题,最后解决了,谢谢ti工程师的无私帮助

rong jia1:

回复 Wayne Xu:

我也遇到这个问题,烦得很

lin zhang1:

回复 rong jia1:

我好想也遇到了,刚开始采集是对的,差不多一段时间后值就是一个和输入电压无关的值,而且一直就是那个值

user5101088:

回复 lin zhang1:

测量一下基准引脚间的电压,我现在遇到的是基准引脚上的电压被拉低了,导致基准驱动运放都发烫,把ADS1256拆掉后,再量基准引脚的焊盘处电压很正常,说明是ADC芯片问题。

赞(0)
未经允许不得转载:TI中文支持网 » 还是ADS1256的问题,还是有诸多问题搞不定啊
分享到: 更多 (0)