杜路泉
(阿壩師范學院 電子信息與自動化學院,四川 阿壩州 623002)
信號發生器是電子信息領域一種非常重要的實驗儀器。在電子信息專業中,也是應用最廣泛最重要的信號測試設備之一,它的功能主要是提供被測電路需要的測試信號。隨著通信、電子、網絡行業的發展,需要的頻率段逐漸密集,更加要求有高精度、高可靠性的信號源。信號發生器是一種廣泛地應用于電路測試、通信測試、教學實驗測試和控制系統仿真測試等領域的常用信號源[1]。
在設計中主要是以產生常用的波形(正弦波、方波、三角波、鋸齒波)為目的設計的簡易信號發生器。以STC89C52單片機為核心和DAC0832數/模轉換相結合實現正弦波、方波、三角波和鋸齒波常用波形的產生,以及LCD1602液晶屏顯示波形種類和頻率值。在Keil軟件上對各種波形的產生以及頻率的改變進行程序的編寫,并將程序下載到STC89C52單片機中。當單片機上電時,接收到外界的指令需要輸出波形,調節相應的中斷服務程序在通過數/模轉換以及運算放大器處理后,在示波器上得到輸出的波形,并且可以通過按鍵切換波形的類型,在顯示不同的波形時相應的LED燈點亮,以便于識別當前顯示的是哪種波形,給人更加直觀的觀察[2]。
可以實現信號發生器的方法有多種,下面是一些常用實現信號發生器的方案。如表1所示。
鑒于方案1輸出頻率不夠穩定,操作復雜;方案2編寫程序復雜,成本高;方案3電路復雜,DDS芯片價格高。所以選擇方案4的設計方法。它軟硬件結合,使用的幾種元器件都是常用的元器件,成本較低,電路設計簡單,容易實現,得到的信號頻率的穩定性和準確性能得到保證[3~4]。
當單片機上電后,液晶屏上默認顯示波形為方波,頻率默認為10Hz.當按下波形切換按鍵時,進行波形的切換。按下設置頻率步進值按鍵時,液晶屏上顯示當前頻率。按下對頻率、步進值進行加或減的按鍵時,執行對應的功能。實現的大致功能如下:
1)可實現四種波形的產生:正弦波、方波、三角波和鋸齒波;
2)四種波形的頻率在10~100Hz內可調;
3)頻率的步進值可以改變;
4)有四個指示燈分別指示發出的是哪種波形,方便明了;
5)LCD1602液晶顯示波形種類和頻率值。

表1 信號發生器方案分析
在設計中采用STC89C52單片機,使用軟件編程的方法實現波形信號的輸出。由以下幾部分組成(如圖1所示):鍵盤輸入、LCD顯示、單片機、數模轉換、運算放大與輸出[5~6]。

圖1 信號發生器原理框圖
采用STC89C52單片機芯片設計信號發生器的中心處理器件,通過C語言編程實現各種波形的產生,最后通過數/模轉換和運算放大電路將波形輸出到示波器,結構簡單,思路清晰[7,8]。根據設計要求,將要實現的功能分為不同的模塊,各個模塊間相互協調,實現最終的功能。整體電路的原理框圖如圖2所示。

圖2 電路的原理框圖
采用STC89C52單片機實現硬件核心,通過Keil uVision5編程的方法實現軟件的核心功能。通過編程實現四種波形的切換、頻率的改變以及設置頻率步進值的大小。通過Proteus軟件仿真以及Keil聯機調試后,就可以通過編程器將程序下載到STC89C52的芯片中,這樣就可以完成圍繞該芯片的所有控制[9~10]。
軟件系統的總設計思路:初始化時輸出的波形為正弦波,在LCD1602上顯示波形的種類和初始頻率。最后通過按鍵來實現波形改變以及頻率的設置。設計的思路如圖3所示。

圖3 軟件設計思路圖
通過Proteus仿真軟件以及Keil的聯機調試可以看到初步結果,在示波器上觀察。
正弦波仿真結果如圖4所示:




圖4 仿真圖與PCB電路設計
按照設計原理圖焊接好電路后,下載程序到單片機中,進行測試。示波器的作用就是用來測試設計的信號發生器輸出的波形是否正常。圖5就是示波器檢測結果。




圖5 信號發生器實物測試
硬件電路測試完成后,對數據進行整理,用示波器顯示的頻率作為真實值(A0),信號發生器LCD1602顯示的頻率為測量值(A1),對兩者數據進行觀察、記錄、統計和分析。下面對兩者顯示的各個頻段的數據比值(a=A1/A0)、絕對誤差(ΔA=A0-A1)和相對誤差(r=ΔA/A0),數據記錄如表2所示。

表2 測試結果記錄表
由表2統計可得頻率平均相對誤差如式1:
硬件電路實現了以STC89C52單片機為核心,通過C語言編程的方法,按鍵輸入功能,基本上實現正弦波、方波、三角波和鋸齒波四種波形的產生、波形頻率在10~100Hz內可調以及波形頻率的步進值在0.1~10內可調的功能,誤差約為1.2%左右,也可以在液晶頻上顯示出波形的類型和頻率。該硬件電路中仍存在一些不足之處,可以在今后的工作中改進。如產生的波形信號的幅度也可以通過按鍵來改變;可以利用精度更高的D/A轉換芯片來提高輸出波形的質量。