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