分別是信號在2047附近的采樣值,我用串口發(fā)送出來顯示的波形,原始信號都是正弦波,第一張圖的幅值較大,第二張圖的幅值較小。幅值較大失真不明顯,幅值較小的在負(fù)半波明顯失真,基本上都是2047這個(gè)值,如何解決?
您好,關(guān)于ADC,在使用時(shí)需要注意通過初始化時(shí)得到的校準(zhǔn)方式對其采樣值進(jìn)行校準(zhǔn),具體校準(zhǔn)方式可參考我們EVT例程。關(guān)于2047附近采樣失真,我這邊從0-3.3V做過采樣測試,2047及其附近的值也都是能夠采樣得到的,附件為測試?yán)?,可以參考下?/p>
在0~3.3V測試應(yīng)該是沒有問題的,在1.67V ±20mv左右測試會發(fā)生失真;如果信號加入一個(gè)偏置,遠(yuǎn)離1.65V,失真也沒有了。
您發(fā)的測試?yán)涛乙矞y試了,問題依然存在,校準(zhǔn)后失真的位置整體發(fā)生了平移,見圖。
附上我修改的測試?yán)?,DEBUG用的UART3,波特率2000000,ADC通道6,測試波形10Hz
您好,首先關(guān)于你所說的在1.67V左右測試會失真,當(dāng)ADC采樣1.67V時(shí),得到的ADC值應(yīng)該在2072左右,我這邊使用你我的例程測試這時(shí)候采樣得到的值都是沒問題的,如下圖。采樣值會隨著信號源的波動有一定的變化。后面若有問題或疑問,可通過郵箱和我溝通討論(lzs@wch.cn)
可能我沒有描述清楚,被測信號都是正弦波信號,幅度為20mv,如果給的正弦信號的頻率10Hz,幅值20mv,直流偏置1.67V,ADC采樣失真發(fā)生在接近1.65V的時(shí)候。
看波形,感覺是20mV的信號發(fā)生器與直流偏置信號阻抗不匹配導(dǎo)致信號發(fā)生器輸出電壓過低帶載能力減弱造成的?
試試用運(yùn)放搭建加法器后電壓跟隨輸出再測試???
或者直接用一個(gè)電位器串電阻測量鋰電池,電位器調(diào)節(jié)輸出1.5~1.8V不就很明了了么?干嘛變通一下?
模擬信號是經(jīng)過運(yùn)放緩沖的,運(yùn)放輸出是沒有問題的,在示波器看被測信號都是正常的。把正弦信號偏置固定1.67V,幅值從0逐步加大,可以看出來幅值很低時(shí)信號也沒有失真,當(dāng)幅值接近20mv時(shí),失真最明顯,繼續(xù)增大幅值失真逐漸減小。
您好,你可以提高采樣率試一下,這邊可以加我微信具體溝通一下(18951773510)