一種基于單片機的函數(shù)發(fā)生器的設計實現(xiàn)
1 引言
在自動控制系統(tǒng)設計及調(diào)試過程中,不同頻率的正弦波、三角波和方波常作為信號源,應用十分方便。過去常由分立元件及集成運放構(gòu)成振蕩器,后來出現(xiàn)的icl8038其最高頻率僅能達到100khz。而max038芯片性能更好,最高頻率可達20mhz,且三種波形由同一端輸出。單片機控制品質(zhì)卓越,基于單片機的函數(shù)發(fā)生器運行可靠,操作方便。
2 高頻信號發(fā)生器芯片max038簡介
maxim公司生產(chǎn)的max038芯片是一種高頻精密的函數(shù)發(fā)生器,可產(chǎn)生三角波、鋸齒波、正弦波、方波及脈沖波,且頻率及占空比的控制可獨立進行。
lin管腳電流范圍在10~400μa時電路獲得最佳工作性能。輸出波形的選擇由邏輯地址引腳a0和a1的組合來決定:a1a0=10或11時,輸出正弦波;a1a0=00時,輸出方波;a1a0=01時輸出三角波。波形切換可在0.3μs內(nèi)完成,但輸出波形有0.5μs的延遲時間。輸出頻率由lin引腳的電流、sosc引腳的對地電容量和fadj的電壓來決定。當fadj引腳接地時,輸出頻率由公式給出:
f0=lin/cf
式中,f0是輸出頻率,單位mhz;lin是管腳輸入電流,單位μa;cf是決定輸出頻率的串入電容值,單位pf。
3 基于單片機的函數(shù)發(fā)生器的設計與實現(xiàn)
3.1 系統(tǒng)硬件接口電路設計
intel公司的mcs-51系列中的8051單片機應用已很成熟,以其為基核的其他8位機都有極好的兼容性,應用十分方便。圖1所示為以8051和max038為核心的系統(tǒng)硬件電路。
用8279完成鍵盤輸入和led顯示控制兩種功能,鍵盤按鍵設置:數(shù)字鍵0~9,小數(shù)點,正弦波、方波和三角波切換鍵,頻率選擇hz、khz、mhz切換鍵,占空比鍵,回車鍵。采用外部譯碼方式,8279的sl0~sl2經(jīng)74ls138(2)輸出接鍵盤,同時經(jīng)74ls138(1)輸出驅(qū)動后送led。8279的顯示輸出b0~b3,a0~a3作8位數(shù)據(jù)輸出,當鍵盤出現(xiàn)有效閉合鍵時,數(shù)據(jù)自動進入8279的ram存儲器,并向cpu申請中斷。
max038的頻率控制電壓由10位dac1020提供,經(jīng)rin=50kω的電阻進入lin引腳,8051的p2.6作為dac1020的片選信號,采用雙緩沖器方式,鎖存10位數(shù)據(jù)。dadj引腳電壓范圍-2.4v~+2.4v由8位dac0832的雙極性輸出電壓提供,即占空比調(diào)節(jié)的控制電壓。用8051的p2.5作為dac0832的片選信號,基準電壓采用max038內(nèi)部2.5v基準電壓,接入vr端。dac0832的ile接+5v,片選端和數(shù)據(jù)傳送端都與74ls373輸出線a0相連。
設lin輸入端電壓為vin,串接電阻為rin,則有公式:
f0=vin/〔rin×cf〕
式中,f0是輸出頻率,單位mhz;vin是輸入端電壓,單位v;rin是串接電阻,單位ω;cf是決定輸出頻率的串入電容值,單位pf。
取rin=50kω,vin的范圍0.5~5v,這樣對于某一電容,可提供十倍掃頻范圍,從而電容的選擇就可確定輸出頻率范圍,即頻段。第一頻段電容取100μf,頻率范圍0.1~1hz,第二頻段到第九頻段電容選擇按十倍衰減,即可獲得各頻段頻率范圍,第九頻段頻率范圍是10~20mhz,每一頻段步進值選各頻段低段頻率的0.5%。有九個頻段供選擇切換,8051的p1.2~p1.5通過t1042譯碼后送入頻段設定電路,由軟件啟動頻段設定電路中的開關(guān)來進行頻段選擇。
3.2 系統(tǒng)軟件設計方案及實現(xiàn)
系統(tǒng)的主程序流程框圖如圖2所示?! ?
先對8279進行初始化,即允許中斷申請,清8279狀態(tài),置鍵盤顯示方式及時鐘編程等,再置max038初始波形與頻率、占空比。然后測試回車鍵是否閉合,以決定是否進行中斷處理,判斷輸出波形并輸出控制信號,有關(guān)輸出波形頻率的控制電壓及占空比的計算送dac1020及dac0832,最后將波形頻率及占空比送顯示緩沖區(qū),調(diào)顯示子程序顯示。
4 結(jié)束語
利用單片機對max038的實時程序控制可產(chǎn)生高頻高精度的輸出波形,系統(tǒng)運行穩(wěn)定,輸出波形失真小、漂移小、頻率范圍寬,基于8051的chmos單片機也可方便地實現(xiàn)嵌入應用。
評論