求助,CH32V103 ADC在2047附近失真严重,如何解决?

1661398197151123.png

1661398197483110.png

分别是信号在2047附近的采样值,我用串口发送出来显示的波形,原始信号都是正弦波,第一张图的幅值较大,第二张图的幅值较小。幅值较大失真不明显,幅值较小的在负半波明显失真,基本上都是2047这个值,如何解决?


您好,关于ADC,在使用时需要注意通过初始化时得到的校准方式对其采样值进行校准,具体校准方式可参考我们EVT例程。关于2047附近采样失真,我这边从0-3.3V做过采样测试,2047及其附近的值也都是能够采样得到的,附件为测试例程,可以参考下。

icon_rar.gifCH32V103 ADC采集.zip

image.png



在0~3.3V测试应该是没有问题的,在1.67V ±20mv左右测试会发生失真;如果信号加入一个偏置,远离1.65V,失真也没有了。

您发的测试例程我也测试了,问题依然存在,校准后失真的位置整体发生了平移,见图。

icon_rar.gifCH32V103 ADC采集.rar

4.png


icon_rar.gifCH32V103 ADC采集.rar

附上我修改的测试例程,DEBUG用的UART3,波特率2000000,ADC通道6,测试波形10Hz


您好,首先关于你所说的在1.67V左右测试会失真,当ADC采样1.67V时,得到的ADC值应该在2072左右,我这边使用你我的例程测试这时候采样得到的值都是没问题的,如下图。采样值会随着信号源的波动有一定的变化。后面若有问题或疑问,可通过邮箱和我沟通讨论(lzs@wch.cn)

image.png



可能我没有描述清楚,被测信号都是正弦波信号,幅度为20mv,如果给的正弦信号的频率10Hz,幅值20mv,直流偏置1.67V,ADC采样失真发生在接近1.65V的时候。3.png


看波形,感觉是20mV的信号发生器与直流偏置信号阻抗不匹配导致信号发生器输出电压过低带载能力减弱造成的?

试试用运放搭建加法器后电压跟随输出再测试???

或者直接用一个电位器串电阻测量锂电池,电位器调节输出1.5~1.8V不就很明了了么?干嘛变通一下?


模拟信号是经过运放缓冲的,运放输出是没有问题的,在示波器看被测信号都是正常的。把正弦信号偏置固定1.67V,幅值从0逐步加大,可以看出来幅值很低时信号也没有失真,当幅值接近20mv时,失真最明显,继续增大幅值失真逐渐减小。


您好,你可以提高采样率试一下,这边可以加我微信具体沟通一下(18951773510)


只有登录才能回复,可以选择微信账号登录