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.

ADS1258: AVSS 5ms内电压跳变后,读取加速度计的值变为原来的一半

Part Number: ADS1258
Other Parts Discussed in Thread: TMS320F28335, , OPA2365

上图为AD部分原理,IX IY IZ为加速度传感器输出电流信号,转换为电压信号后接入ADS1258。现在经过测试,当AVSS即-2.5V 在最少5MS内幅值跳到0再跳回-2.5V时,ADS1258输出为正常情况下的一半(正常情况下测得加速度计为1G,故障发生时为0.5左右,且无论如何移动加速度计,转换后的值只发生小幅度变化)。测量过IX IY IZ及VX VY VZ在电源波动时的值未发生变化。CPU为TMS320F28335.

  • 您好,

    上面图片很模糊,您可以附上更清晰的图片吗?

    当AVSS即-2.5V 在最少5MS内幅值跳到0再跳回-2.5V时

    您可以确认AVSS在什么情况下会发生跳变吗?您可以附上ADS1258工作时的AVSS示波器波形吗?AVSS发生跳变是供电电源的问题吗?您可以换一个±2.5V供电电源做验证吗?

    ADS1258输出为正常情况下的一半

    此时AVSS是2.5V对吗?此时参考电压怎样?参考电压还正常吗?

  • 1.我无法确认AVSS在什么情况下跳变,因为在产品上只发生过一次。我是在电路上手动控制正负5V时发现这个问题(-5V电源调到-1V一下再调回去就会发生这个故障),故障现象与产品一样。±2.5V供电由±5V经LDO转换而来,现在无法确认是那部分的问题,但是由我手动调整-2.5V供电时,故障现象会复现(使用直流稳压电源)。

    2.跳变时测得VARFN会跟随-2.5V变化,VARFP不变。MUXOUT差分输出会变化,ADCIN差分输入会变化。

    3.请看看这几张图是否清晰,麻烦了。

  • 您的回复我已收到,明天我具体看下原理图后给您答复

  • 通过您以上现象的描述,应该是供电电源的问题然后造成后续的一系列问题。看您的电路,基准电压使用的是5V,也就是±2.5V,VARFN接的是-2.5V,若-2.5V发生变化就会对基准电压造成影响,进而对ADC输出结果造成影响。

    无论如何移动加速度计,转换后的值只发生小幅度变化

    这个现象应该是-2.5V跳到0V时,ADC寄存器发生了复位造成的;

    MUXOUT差分输出会变化,ADCIN差分输入会变化。

    ADS1258供电的变化会影响MUXOUT。ADCIN是OPA2365输出的,OPA2365的供电有-2.5V,因此OPA2365供电的变化会影响其输出ADCIN。

    总之,最根本解决方法是找出供电电源-2.5V 也就是AVSS,它为什么会发生跳变?是-5V发生跳变造成的吗?如果是的话,找出-5V发生跳变的原因以解决它。

  • 1.请问ADC寄存器复位时,还会有输出吗,我们产品自身存数发现有20ms左右数据一样。

    2.供电恢复正常后,为何输出还是异常的。是不是ADC卡死了。

    麻烦解答一下

  • 1、复位后是否还进行AD转换,这个要看您的程序了,ADS1258需要通过START Pin启动转换或要发送启动转换命令才能再次进行AD转换;

    我们产品自身存数发现有20ms左右数据一样。

    这里具体是什么意思?

    2、供电异常后,ADS1258可能会发生复位,而主控端不知道ADS1258已经发生了复位,还是按照之前的流程时序执行,因此时序上可能发生了混乱,因此输出异常。

  • -2.5V发生跳变后,您程序上可以尝试读取ADS1258的寄存器值吗?看其寄存器值是否恢复至默认值?

  • 1.刚刚问了软件,它输出的就是寄存器里的值。

    2.

    这是我们产品输出的数据图,中间有4个点值是完全一致的,点与点之间间隔5ms,持续了20ms。

  • 1.刚刚问了软件,它输出的就是寄存器里的值。

    这里是指软件配置的寄存器值还是指寄存器上电默认值?

    这是我们产品输出的数据图,中间有4个点值是完全一致的,点与点之间间隔5ms,持续了20ms。

    这里完全一致的4个点值是ADC满幅输出吗?我猜可能是基准电压降低了,导致ADC的输入信号范围变小了,但输入还是原来的信号幅值以至于超出了ADC的输入范围,使得code满幅输出。