基于STM32+AD9850的實(shí)用信號(hào)源的設(shè)計(jì)(二)
4.軟件設(shè)計(jì)
本文引用地址:http://butianyuan.cn/article/236572.htmSTM32F103ZE單片機(jī)控制AD9850產(chǎn)生頻率和相位都可控制的正弦波,頻率量由鍵盤決定,步進(jìn)量為1 Hz.A D 9 8 5 0頻率分辨率為0.029104Hz,完全能夠滿足要求.正弦號(hào)送入到DAC0832的基準(zhǔn)電壓輸入端VREF,單片機(jī)控制D/A轉(zhuǎn)換器的數(shù)字量調(diào)節(jié)其幅值,設(shè)置按鍵調(diào)整值實(shí)現(xiàn)100mv的步進(jìn).設(shè)置按鍵調(diào)整占空比和幅值,單片機(jī)通過對(duì)AD9850內(nèi)部比較器的控制,從而改變方波的占空比和頻率.方波信號(hào)送入到DAC0832的基準(zhǔn)電壓輸入端,單片機(jī)控制D/A轉(zhuǎn)換器的數(shù)字量調(diào)節(jié)其幅值,設(shè)置按鍵調(diào)整幅值可實(shí)現(xiàn)100mv的步進(jìn),如圖7.
5.系統(tǒng)測(cè)試結(jié)果及誤差分析
表1所示為正弦波測(cè)試結(jié)果,表2所示為方波測(cè)試結(jié)果.
5.1 圖8是正弦波輸出的實(shí)測(cè)幅度相對(duì)誤差圖
圖中藍(lán)紅青紫色曲線代表預(yù)設(shè)幅度值分別是0.1V.1V.2V和3V的正弦波輸出的幅度相對(duì)誤差.其中一條曲線代表預(yù)設(shè)幅值確定時(shí),預(yù)設(shè)不同的頻率時(shí),正弦波輸出的幅值相對(duì)誤差.從圖中可以看出相對(duì)誤差控制在一定的范圍內(nèi).而系統(tǒng)輸出的正弦波頻率與預(yù)設(shè)頻率之間的平均相對(duì)誤差約在0.0021%,誤差極小.
5.2 圖9是輸出方波占空比相對(duì)誤差圖
從圖中可以看出占空比相對(duì)誤差控制在一定的范圍內(nèi),其平均占空比相對(duì)誤差約0.31%,大部分相對(duì)誤差較小.而方波的輸出頻率與系統(tǒng)的預(yù)置頻率之間的平均相對(duì)誤差達(dá)到約0.005%,誤差率很低.幅值平均相對(duì)誤差約0.303%.由此可見,系統(tǒng)輸出的方波相關(guān)參數(shù)的誤差均較小.
5.3 造成誤差的原因有很多
造成誤差的原因有很多,系統(tǒng)本身的硬件就會(huì)產(chǎn)生一定的量化誤差.比如芯片本身所帶來的誤差,還有就是焊接電路時(shí)的電路布局和電路走線,這也會(huì)引起一定的誤差和干擾.
6.總結(jié)
本系統(tǒng)實(shí)現(xiàn)了可控正弦波和方波的生成,并在1 0位數(shù)碼管顯示其基本要求.D D S芯片AD9850產(chǎn)生的信號(hào)源,頻率穩(wěn)定,誤差小.
在實(shí)踐測(cè)試中得知從AD9850輸出的正弦波幅值會(huì)隨頻率變化,最后通過軟件編程明顯減少了幅值誤差.關(guān)鍵部分在于產(chǎn)生占空比可控的方波,最后通過單片機(jī)對(duì)DDS內(nèi)部比較器的控制來實(shí)現(xiàn)方波的占空比可控,可控結(jié)果很理想,誤差很小,精確度高,達(dá)到了系統(tǒng)的要求.
評(píng)論