This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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

Other Parts Discussed in Thread: ADS1256, ADS1255

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转换值会不正常,是一个与输入电压完全不相关的值,而且之后的转换值大致都是这个值,必须要重新上电才正常;

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

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

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

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

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

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

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

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

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

  • 我看了一下你的电路,主要是由于隔离带来的问题。以前我们的用户没有出现你这样的问题。相信会调试出来的。在调试过程中,重点测试由于隔离,造成的电源和地的波动,以及信号线上的干扰。信号线推荐使用TI的隔离芯片ISP7240,ISO7241等。

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

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

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

  • 测量一下基准引脚间的电压,我现在遇到的是基准引脚上的电压被拉低了,导致基准驱动运放都发烫,把ADS1256拆掉后,再量基准引脚的焊盘处电压很正常,说明是ADC芯片问题。
  • 你好,我也碰到一样的问题:有时候连续读取一段时间后,AD转换值会不正常,是一个与输入电压完全不相关的值,而且之后的转换值大致都是这个值。请问下最终怎么解决的,能否加下q,162205490,必有酬谢。
  • 最后发现有可能是芯片焊接问题。你发现数据 不对的时候,去摸 一下前面 的基准电压源的芯片是不是很烫?我当时是这样的。基准非常烫。断电冷了重启后也不行,也是马上就烫。然后我把基准到IC的串联的差分电阻两个249欧的电阻都短接掉了。也是不对。焊的5块板。两次打板(第一次是用高速光耦,第二次是用的ADUM1401)都是焊的5块板,两次都发现只有一块板出现过这个问题。最后都是把芯片拆了,重新焊一次后就好了。然后运行一会又不行了。。。不知道是不是程序问题,反正出问题的时候基准都超级烫,但是没有烧坏,感觉是1256死机了一样。。。最后都是重焊芯片,因为当时用的焊锡和焊膏超级差,有可能是焊接 问题,不确定。你按这个方向试一下。

  • 最后发现有可能是芯片焊接问题。你发现数据 不对的时候,去摸 一下前面 的基准电压源的芯片是不是很烫?我当时是这样的。基准非常烫。断电冷了重启后也不行,也是马上就烫。然后我把基准到IC的串联的差分电阻两个249欧的电阻都短接掉了。也是不对。焊的5块板。两次打板(第一次是用高速光耦,第二次是用的ADUM1401)都是焊的5块板,两次都发现只有一块板出现过这个问题。最后都是把芯片拆了,重新焊一次后就好了。然后运行一会又不行了。。。不知道是不是程序问题,反正出问题的时候基准都超级烫,但是没有烧坏,感觉是1256死机了一样。。。最后都是重焊芯片,因为当时用的焊锡和焊膏超级差,有可能是焊接 问题,不确定。你按这个方向试一下。
  • 非常感谢你的热心回复,你提到的芯片发烫,目前没有这个情况,我的ADC和MCU之间是直接连在一起,没有用隔离芯片,我不知道我出现的状况会不会和没有做隔离有关,如果要加隔离芯片的话,请问有什么注意事项吗,因为ADC和MCU之间相连的线除了SPI的四根线之外,(CS,SCLK,MISO,MOSI)还有2个IO口也和MCU相连,那么如果要隔离的话,肯定要加两个隔离IC了。
  • 你好,请问你的问题解决了吗?我也碰到和你一样的问题,但是我的更夸张。我用ads1255做的,刚开始上电转换数据没有问题,可过一分钟后数据突然就飘了,这时候必须断电隔一段时间后再重新上电才能用,用一会儿又不行了。如果你有发现什么原因的化,可否请你告知我一下?
  • 什么也没干,用着用着就好使了,无语。