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