ADS1251采集不稳定
所用ADS1251的CLK由单片机提供
多次开关电源可能会引起转换不正常
不正常时有时是一个相对稳定的的值但是明显错误(且每次并不相同)
有时是一个一直在变化的值
用示波器查看信号 发现SCLK和CLK 在正常和不正常时是一样的
请问是怎么回事?
着急呀
你好!
能否详细描述一下 多次开关电源 的 具体情况:
1、每次开关电源间隔是多久;
2、能否提供开关电源过程中的电源电压波形;
3、ADS1251 和 MCU 是否 共用一个电源;
4、MCU程序中有没有对 ADS1251 进行 reset 的处理;
谢谢!
见ADS1251 datasheet第九页对于启动时序的要求:Power-Up Sequence: Prior to power-up, all digital and analog input pins must be LOW. At the time of power-up, these signal inputs can be biased to a voltage other than 0V; however, they should never exceed +VDD. Once the ADS1251 powers up, the DOUT/DRDY line will pulse LOW on the first conversion for which the data is valid from the analog input signal.
所以您在多次开关电源控制中可能已经造成时序上的问题,可以在程序中加以修正,在每次给ADS1251 VDD后,再给其他信号。
进行reset处理后,可以了。
麻烦再问您一下:
采集的数据和吉时利7位半的表做对比,老是小400微伏。
应该从哪里入手?
上电顺序我已经改过,不起作用。
加上reset后可以了
你好!
1、ADC输入有没有使用运放buffer?
2、可以用软件修正,如果这个误差是恒定的。
Reset能好,说明是ADC启动之初,芯片初始化出现问题,所以只能与时序相关。
关于误差,可以通过控制芯片MCU(DSP等等)调整,做一个offset的矫正即可。关于提高ADC的转换精度,可参考EVM板的电路。
另外时钟噪声也会影响偏置误差,请检查
原信号通过 一个10倍的放大 接到 Vin+
Vin- 和Vref 一起 直接到基准2.5V
我说的差400uV是Vin+ 和地之间的压差 与 ADS 转换出来的原始值 差400uV
还没有确定是不是 每块板子都这样
但是按手册上 不应该有这么大呀
如上如果这个矫正值每个板子都一样还可以
要是不一样就不行了
确实 这个之前试过 加在CLK上不同的容值 转换的结果也不一样。
不过还是最小还是差200uV,加的是102的
但这是波形已经失真很严重了
再细就不知道了
只能根据波形选了101的、
请问有资料没,能否进一步 赐教
你好!
能否帮忙确认一个问题:
使用万用表测量 Vin + 与 Vin- 间 电压差, 然后 跟 转换值 比较 ,看是否还存在你提到的 offset ,如果存在 offset是多少 ?
你的意思应该是地没有处理好吧
我量过 好像影响没有那么大
明天我再给你量量
谢谢你这么支持
你好!
因为 :
Vcode = (Vin+) - ( Vin-) (1)
Vcode = (digital code) * VLSB (2)
VLSB = 2*Vref / (2^N - 1) (3)
Vcode 是 Vin+ 与 Vin- 间电压差,正比于 digit code , 在你的应用中, Vin- 接 Vref 2.5。
Vref 通过 万用表测量值 解出, 或者使用 万用表测量值 , 不能直接使用 2.5。
所以, 应该先看 Vcode 与 digit code 是否线性,排除计算造成的误差。