基于STM32+AD9850的實(shí)用信號源的設計(二)
4.軟件設計
本文引用地址:http://dyxdggzs.com/article/236572.htmSTM32F103ZE單片機控制AD9850產(chǎn)生頻率和相位都可控制的正弦波,頻率量由鍵盤(pán)決定,步進(jìn)量為1 Hz.A D 9 8 5 0頻率分辨率為0.029104Hz,完全能夠滿(mǎn)足要求.正弦號送入到DAC0832的基準電壓輸入端VREF,單片機控制D/A轉換器的數字量調節其幅值,設置按鍵調整值實(shí)現100mv的步進(jìn).設置按鍵調整占空比和幅值,單片機通過(guò)對AD9850內部比較器的控制,從而改變方波的占空比和頻率.方波信號送入到DAC0832的基準電壓輸入端,單片機控制D/A轉換器的數字量調節其幅值,設置按鍵調整幅值可實(shí)現100mv的步進(jìn),如圖7.

5.系統測試結果及誤差分析
表1所示為正弦波測試結果,表2所示為方波測試結果.

5.1 圖8是正弦波輸出的實(shí)測幅度相對誤差圖

圖中藍紅青紫色曲線(xiàn)代表預設幅度值分別是0.1V.1V.2V和3V的正弦波輸出的幅度相對誤差.其中一條曲線(xiàn)代表預設幅值確定時(shí),預設不同的頻率時(shí),正弦波輸出的幅值相對誤差.從圖中可以看出相對誤差控制在一定的范圍內.而系統輸出的正弦波頻率與預設頻率之間的平均相對誤差約在0.0021%,誤差極小.
5.2 圖9是輸出方波占空比相對誤差圖

從圖中可以看出占空比相對誤差控制在一定的范圍內,其平均占空比相對誤差約0.31%,大部分相對誤差較小.而方波的輸出頻率與系統的預置頻率之間的平均相對誤差達到約0.005%,誤差率很低.幅值平均相對誤差約0.303%.由此可見(jiàn),系統輸出的方波相關(guān)參數的誤差均較小.
5.3 造成誤差的原因有很多
造成誤差的原因有很多,系統本身的硬件就會(huì )產(chǎn)生一定的量化誤差.比如芯片本身所帶來(lái)的誤差,還有就是焊接電路時(shí)的電路布局和電路走線(xiàn),這也會(huì )引起一定的誤差和干擾.
6.總結
本系統實(shí)現了可控正弦波和方波的生成,并在1 0位數碼管顯示其基本要求.D D S芯片AD9850產(chǎn)生的信號源,頻率穩定,誤差小.
在實(shí)踐測試中得知從AD9850輸出的正弦波幅值會(huì )隨頻率變化,最后通過(guò)軟件編程明顯減少了幅值誤差.關(guān)鍵部分在于產(chǎn)生占空比可控的方波,最后通過(guò)單片機對DDS內部比較器的控制來(lái)實(shí)現方波的占空比可控,可控結果很理想,誤差很小,精確度高,達到了系統的要求.
評論