所用ADS1251的CLK由单片机提供
多次开关电源可能会引起转换不正常
不正常时有时是一个相对稳定的的值但是明显错误(且每次并不相同)
有时是一个一直在变化的值
用示波器查看信号 发现SCLK和CLK 在正常和不正常时是一样的
请问是怎么回事?
着急呀
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.
你好!
能否详细描述一下 多次开关电源 的 具体情况:
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能好,说明是ADC启动之初,芯片初始化出现问题,所以只能与时序相关。
关于误差,可以通过控制芯片MCU(DSP等等)调整,做一个offset的矫正即可。关于提高ADC的转换精度,可参考EVM板的电路。
你好!
能否帮忙确认一个问题:
使用万用表测量 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 是否线性,排除计算造成的误差。