李偉龍
(西北民族大學(xué) 電氣工程學(xué)院,甘肅 蘭州 730030)
信號(hào)發(fā)生器分類信號(hào)發(fā)生器是指產(chǎn)生所需參數(shù)的電測(cè)試信號(hào)的儀器。在通信、廣播、電視系統(tǒng),在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)領(lǐng)域內(nèi),函數(shù)信號(hào)發(fā)生器在實(shí)驗(yàn)室和設(shè)備檢測(cè)中都具有十分廣泛的用途[1]。目前市場(chǎng)上大多數(shù)函數(shù)信號(hào)發(fā)生器都是非單片機(jī)控制的,但是這種電路存在波形質(zhì)量差,功能簡(jiǎn)單,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點(diǎn)。采用單片函數(shù)發(fā)生器可產(chǎn)生正弦波、方波等,操作簡(jiǎn)單易行,用D/A轉(zhuǎn)換器的輸出來(lái)改變調(diào)節(jié)電壓,可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,滿足設(shè)計(jì)要求[2]。
采用的是AT89C51單片機(jī)用軟件實(shí)現(xiàn)信號(hào)的輸出。該單片機(jī)是一個(gè)微型計(jì)算機(jī),包括中央處理器CPU,RAM,ROM、I/O接口電路、定時(shí)計(jì)數(shù)器、串行通訊等,是波形設(shè)計(jì)的核心[3]。其信號(hào)發(fā)生器構(gòu)成系統(tǒng)框圖如下圖所示:
圖1 系統(tǒng)設(shè)計(jì)總框圖
利用AT89C51單片機(jī)采用程序設(shè)計(jì)方法產(chǎn)生鋸齒波、三角波、正弦波、方波四種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),濾波放大,最終由示波器顯示出來(lái),通過(guò)鍵盤(pán)來(lái)控制四種波形的類型選擇、頻率變化,最終通過(guò)數(shù)碼管輸出顯示其各自的類型以及數(shù)值[4]。
AT89C51是片內(nèi)4k FlashROM的單片機(jī),因此這種芯片構(gòu)成的最小系統(tǒng)簡(jiǎn)單﹑可靠[5]。用AT89C51單片機(jī)構(gòu)成最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點(diǎn):有可供用戶使用的大量I/O口線;內(nèi)部存儲(chǔ)器容量有限;應(yīng)用系統(tǒng)開(kāi)發(fā)具有特殊性。
AT89C51單處機(jī)內(nèi)部設(shè)置兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器T0和T1,它們可以工作在計(jì)數(shù)器和定時(shí)兩種模式并且有4種工作方式[6]。在波形發(fā)生器中,將其作定時(shí)器使用,通過(guò)計(jì)算來(lái)精確地確定波形的兩個(gè)采樣點(diǎn)輸出之間所需的延遲時(shí)間。其中模式1采用的是16位計(jì)數(shù)器計(jì)數(shù)方式,當(dāng)T0或T1被允許計(jì)數(shù)后,從設(shè)定的初值開(kāi)始加計(jì)數(shù),最高位產(chǎn)生溢出時(shí)向發(fā)中斷CPU請(qǐng)求,從而完成波形的輸出與頻率調(diào)節(jié)。
DAC0832是采用CMOS工藝制成的8分辨率的D/A轉(zhuǎn)換集成芯片,由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成[7]。根據(jù)對(duì)DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。由倒T型R-2R電阻網(wǎng)絡(luò)、模擬開(kāi)關(guān)、運(yùn)算放大器和參考電壓VREF四大部分組成。其原理圖為:
圖2 DAC0832原理圖
其中D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應(yīng)的模擬電壓信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)。運(yùn)放的反饋電阻可通過(guò)RFB端引用片內(nèi)固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機(jī)電路連接。
由單片機(jī)采用編程方法產(chǎn)生四種波形、通過(guò)DA轉(zhuǎn)換模塊DAC0832在進(jìn)過(guò)濾波放大之后輸出[8]。其電路圖如下:
圖3 放大與濾波電路
其中第一級(jí)運(yùn)算放大器的作用是將DAC0832輸出的電流信號(hào)轉(zhuǎn)化為電壓信號(hào)V1,第二級(jí)運(yùn)算放大器的作用是將V1通過(guò)反向放大電路-(R2/R1)倍,從而通過(guò)調(diào)節(jié)R2的大小來(lái)調(diào)整輸出幅值在0-5V之間變化。
顯示電路是用來(lái)顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽(yáng)極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。
圖4 LED顯示電路
根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫(xiě),并將所寫(xiě)程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來(lái)自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出。其中程序應(yīng)包含以下幾個(gè)模塊:初始化程序;鍵盤(pán)掃描程序與處理程序;定時(shí)器0服務(wù)程序;正弦波發(fā)生程序及其服務(wù)程序;三角波發(fā)生程序;鋸齒波發(fā)生程序;方波發(fā)生程序。主程序流圖如下所示:
圖5 主程序流程圖
系統(tǒng)值子程序的調(diào)用是通過(guò)按鍵的選擇來(lái)實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,然后對(duì)參數(shù)值進(jìn)行計(jì)算得到相應(yīng)的頻率值與應(yīng)當(dāng)輸出的波形,啟動(dòng)計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,并同時(shí)用數(shù)碼管顯示輸出的波形與頻率,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過(guò)轉(zhuǎn)換輸出相應(yīng)的電壓與定時(shí)器的延時(shí)獲得不同頻率值,從而形成所需的各種波形。其中三角波部分程序:
通過(guò)程序的控制,可以產(chǎn)生一系列有規(guī)律的波形。這樣一個(gè)信號(hào)發(fā)生裝置在控制領(lǐng)域有相當(dāng)廣泛的應(yīng)用范圍。最終能夠滿足設(shè)計(jì)要求,產(chǎn)生鋸齒波、三角波、正弦波、方波波形,并且可在一定范圍內(nèi)調(diào)節(jié)其頻率和幅值大小。本設(shè)計(jì)具有體積小、價(jià)格低廉、性能穩(wěn)定、實(shí)現(xiàn)方便、功能齊全的特點(diǎn),通過(guò)不同的程序編程,系統(tǒng)還將得到更多的波形輸出。
[1]任為民.電子技術(shù)基礎(chǔ)課程設(shè)計(jì)[M].北京:中央廣播電視大學(xué)出版社,1997
[2]童詩(shī)白.模擬電路技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.
[3]韓全立,王建明.單片機(jī)控制技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2004
[4]高吉祥,全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)系列教程[M].北京:電子工業(yè)出版社,2007
[5]李葉紫.MCS-51單片機(jī)應(yīng)用教程[M].北京:清華大學(xué)出版社,2004
[6]韓全立,王建明.單片機(jī)控制技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2004
[7]張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990
[8]楊素行.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程[M].北京:高等教育出版社,2007