1.1基本要求
。1)具有產生正弦波、方波、三角波三種周期性波形的功能。
(2)用鍵盤輸入編輯生成上述三種波形(同周期)的線性組合波形,以及由基波及其諧波(5次以下)線性組合的波形。
。3)具有波形存儲功能。
。4)輸出波形的頻率范圍為100Hz~20kHz(非正弦波頻率按10次諧波計算);重復頻率可調,頻率步進間隔≤100Hz。
。5)輸出波形幅度范圍0~5V(峰-峰值),可按步進0.1V(峰-峰值)調整。
。6)具有顯示輸出波形的類型、重復頻率和幅度的功能。 1.2發(fā)揮部分
。1)輸出波形頻率范圍擴展至100Hz~200kHz。
。2)用鍵盤或其他輸入裝置產生任意波形。
(3)增加穩(wěn)幅輸出功能,當負載變化時,輸出電壓幅度變化不大于±3%(負載電阻變化范圍:100Ω~∞)。
。4)具有掉電存儲功能,可存儲掉電前編輯的波形和設置。
。5)可產生單次或多次(1000次以下)特定波形(如產生1個半周期三角波輸出)。
(6)其它(如增加頻譜分析、頻率擴展>200kHz、失真度分析、掃頻輸出等功能)。
2.設計方案 方案一:模數(shù)結合實現(xiàn),一般是在模擬電路上產生函數(shù)信號波形,而用數(shù)字方式改變信號的頻率和幅度。如采用D/A裝換器與壓控電路改變信號頻率,用數(shù)控放大器或數(shù)控衰減器改變信號幅度等。 方案二:模擬電路實現(xiàn),全采用模擬電路,可用正弦波發(fā)生器產生正弦波信號,然后過零比較產生方波,再經積分電路產生三角波。這種方法電路簡單,并具有良好的正弦波和方波信號。但要通過積分器電路產生同步的三角波信號,存在較大難度。原因是積分電路的積分時間常數(shù)通常不變,而隨著方波頻率改變,積分器輸出的三角波幅度將同時改變。若要保持三角波幅度,就得同時改變積分時間長度的大小,要實現(xiàn)這點會很難。 方案三:數(shù)字電路實現(xiàn),采用DDS方法,任何頻率的波形都可看做由一系列的取樣點所組成,可事先將各波形的數(shù)據(jù)點存儲在ROM中,再通過時鐘的控制順序從ROM中讀出,再經D/A轉化器進行逐點恢復。這種方案的波形精度主要取決于函數(shù)信號波形的存儲點數(shù)、D/A轉換器的轉換速度、以及整個電路的時序處理等。 其信號頻率的高低,是通過改變D/A轉換器輸入數(shù)字量的速率或是取點數(shù)量來實現(xiàn)的。這種方案在信號頻率較低時,具有較好的波形質量。隨著信號頻率提高,需要提高輸入數(shù)字量的速率,或減少波形點數(shù)。波形點數(shù)的減少,將直接影響函數(shù)型號波形的質量,而數(shù)字量的輸入速率的提高也是有限。 方案選擇:經上各方案比較,為切合本次課題,故采用方案三。 數(shù)字電路實現(xiàn),采用DDS方法,任何頻率的波形都可看做由一系列的取樣點所組成,可事先將各波形的數(shù)據(jù)點存儲在ROM中,再通過時鐘的控制順序從ROM中讀出,再經D/A轉化器進行逐點恢復。這種方案的波形精度主要取決于函數(shù)信號波形的存儲點數(shù)、D/A轉換器的轉換速度、以及整個電路的時序處理等?傮w方案設計框圖如下:
3.設計實現(xiàn) 3.1實驗器材 STM32F407ZGT6單片機、2.8寸TFTLCD顯示屏,配置有Keil uVision5工程環(huán)境的PC機一臺、外部硬件放大電路和負載電路。 3.2設計框圖 本設計由四個模塊組成:MCU控制模塊、按鍵模塊、信號輸出模塊和LCD顯示模塊。 3.2系統(tǒng)框圖 3.2.1 MCU控制模塊 系統(tǒng)的MCU采用STM32F407ZGT6作為控制模塊,主要完成按鍵掃描、信號輸出、LCD顯示等。STM32系列單片機具有內置DAC轉換器和DMA控制器,并有最高72MHz的主頻,可完成較高頻率信號的穩(wěn)定輸出。 3.2.2 按鍵控制模塊 系統(tǒng)采用一個鍵盤來控制輸出波形的特征!癏z”按鍵調節(jié)頻率且單位為Hz,“kHZ” 按鍵調節(jié)頻率且單位為kHz,“10mv”按鍵調節(jié)幅度且單位為10mv,“duty”按鍵調節(jié)占空比,“ChangeWave”按鍵調節(jié)輸出波形,數(shù)字“0-9”調節(jié)頻率、幅度、占空比的數(shù)值,“X”清除當前已輸入的數(shù)字串,“-”清除數(shù)字串最后輸入的一個數(shù)字符。 3.2.3 信號輸出模塊 單片機的DAC外設、DMA控制器和定時器共同協(xié)作完成信號波形的輸出。信號輸出采用定時器觸發(fā)DMA傳輸數(shù)據(jù)到DAC寄存器的方式,可大大降低信號輸出對CPU的占用率并提高波形的精準性。 3.2.4 LCD顯示模塊 本設計通過TFTLCD顯示屏顯示波形信息,MCU與TFTLCD顯示屏顯示屏通過串行方式傳輸數(shù)據(jù),當波形發(fā)生變化時立即更新LCD顯示信息,實現(xiàn)了人機界面的交互。 3.3程序流程圖 程序流程圖主要完成的任務有:按鍵掃描、LCD顯示和D/A轉換。在主程序中對各個模塊進行初始化。 3.2程序流程圖框圖
3.3.1 外部中斷流程圖和定時器中斷流程圖 3.3.1 外部中斷流程圖 3.3.1 定時器中斷流程圖
3.3.2 D/A轉換流程圖 3.3.2 D/A轉換流程圖
4.硬件電路 4.1設計方案 方案一:使用晶體三極管多級放大電路設計 將stm32f4開發(fā)板DAC輸出端接入放大電路第一級——射極輸出器(共集電極電路)。射極輸出器作為第一級使得多級放大電路的輸入電阻增加,減少電路對輸入信號的影響。 三極管多級放大電路第二級采用基極分壓式共射極放大電路。主要為放大輸入信號,優(yōu)點為通過電阻Re的反饋使得靜態(tài)工作點穩(wěn)定。 三極管多級放大電路第三極再次采用射極輸出器,使得輸出電阻變小,增加電路的帶負載能力,輸出電壓受負載改變變化小,以達到題目要求。 該方案優(yōu)點:電路每個部分可控,調試清晰明了,元件易替換; 該方案缺點:電路很復雜。 方案二:使用LM324運算放大器搭建放大電路 LM324內部中集成四個運算放大器,使用一個LM324即可設計出與方案一功能相同的多級放大電路。運放多級放大電路第一級采用電壓跟隨器,增大輸入電阻;第二級采用反相比例放大電路,對輸入信號進行放大;第三極再次采用電壓跟隨器,減少輸出電阻,增加帶負載能力。 該方案優(yōu)點:電路設計簡單,且相比方案一更穩(wěn)定。 該方案缺點:只能通過外接元器件調試電路,芯片內部出現(xiàn)問題不易診斷及調試。 方案確定:經過對內商討,出于電路穩(wěn)定性及簡潔性,采用方案二設計硬件放大電路。在電路輸出到地間接入串聯(lián)的開關和10kΩ負載,當開關斷開時即負載無窮大。 4.2Multisim仿真圖 4.2 Multisim仿真圖 4.3PCB原理圖 4.3 PCB原理圖 4.4PCB板布線圖 4.4 PCB板布線圖 4.5電路調試 4.5.1 問題一: 在放大電路沒通電的情況下,DAC輸出信號一接入放大電路輸入端口,測試電路輸入端口信號,信號衰減了一半。通上電后,電路輸入端信號基本衰減消失。 原因:查看電路后發(fā)現(xiàn),輸入信號直接接入運放的反相比例放大電路時已存在串聯(lián)負反饋,使得輸入信號被抑制,在放大電路通上電壓工作后,這種負反饋更大,使得輸入信號完全被抑制。 調試解決:在信號輸入反相比例放大電路之前先經過電壓跟隨器,增加電路輸入電阻,使得輸入信號在輸入端受負反饋影響小。 4.5.2 問題二: 電路調整完后,輸出信號達到要求,但依然存在交越失真,且在頻率增大時交越失真更嚴重。 原因:LM324芯片本身存在的問題。 調試解決:在第一級電壓跟隨器和第二級放大電路的各輸出引腳到地(采用單電源供電,即接到11引腳)接入1kΩ負載,交越失真完全消失。 5.設計驗證 在Keil uVision5工程環(huán)境編寫程序,連接好電腦、STM32開發(fā)板、仿真器、示波器還有硬件電路。代碼編譯無誤后下載到開發(fā)板,用示波器觀察D/A輸出波形。通過相關的鍵盤操作,改變波形的各項參數(shù),并觀察示波器對應的波形參數(shù)是否與操作一致。 5.1測試數(shù)據(jù)及波形截圖 5.1.1 默認參數(shù)(500Hz、2.00V、50%)正弦波、三角波、鋸齒波、方波 圖1 500Hz、2.00V 正弦波 圖2 500Hz、2.00V 三角波 圖3 500Hz、2.00V 鋸齒波 圖4 500Hz、2.00V、50% 方波 5.1.2 輸出波形頻率范圍100Hz-20kHz,重復頻率可調,頻率步進間隔≤100Hz (1)100Hz 圖1 100Hz、2.00V 正弦波 圖2 100Hz、2.00V 三角波 圖3 100Hz、2.00V 鋸齒波 圖4 100Hz、2.00V、50% 方波 (2)5kHz 圖1 5kHz、2.00V 正弦波 圖2 5kHz、2.00V 三角波 圖3 5kHz、2.00V 鋸齒波 圖4 5kHz、2.00V 方波 (3)20kHz 圖1 20kHz、2.00V 正弦波 圖2 20kHz、2.00V 三角波 圖3 20kHz、2.00V 鋸齒波 圖4 20kHz、2.00V、50% 方波 (4)頻率步進≤100Hz 圖1 500HZ到550Hz,步進50HZ 圖2 550Hz到560Hz,步進10Hz 圖3 560Hz到565Hz,步進5Hz 5.1.3 輸出波形幅度范圍0-5V(峰峰值),可按步進0.1V(峰峰值)調整 圖1 1kHz、3.10V 正弦波 圖2 1kHz、4.20V 正弦波 圖3 1kHz、5.00V 正弦波 5.1.4 具有顯示輸出波形的類型、重復頻率和幅度的功能 5.1.5 用鍵盤調節(jié)方波占空比 5.2結果分析 通過調節(jié)各功能按鍵,選擇波形,可在示波器上觀察相應的波形輸出,也可以改變輸出波形的幅值及頻率和方波的占空比,波形輸出與設置的參數(shù)基本保持一致。由于開發(fā)板最大輸出電壓為3.3V,必須外接一個放大電路保證輸出電壓能夠達到5V,接入放大電路后,經過測試達到了項目的要求。輸出頻率范圍能夠擴展至200kHz,但由于開發(fā)板硬件配置的限制,導致輸出波形有失真。穩(wěn)幅輸出功能,當負載變化時,輸出電壓幅度變化在誤差范圍內。 6.總結 波形發(fā)生器的設計圓滿結束,意味著我們最后一個實訓的結束。在經歷了前面兩次的CDIO實訓之后,我們的綜合技能,不僅僅只是局限于課本上的內容。這一次的實訓任務是要求我們自己設計一個波形發(fā)生器,在經過組內的討論之后我們選擇用STM32開發(fā)板來完成,這樣,在上次實訓中所學到的關于STM32的知識就派上了用場。 采用DDS的方法實現(xiàn)波形發(fā)生器,充分考驗了我們的軟件編程能力以及對于開發(fā)板、波形發(fā)生器原理的熟悉程度。這其中會遇到許多問題,關于按鍵的布控、波形的產生、信號的輸出以及如何達到所要求的輸出幅度等等。通過組員的分工合作,網上查找資料,最后取得進展,實現(xiàn)了鍵盤各個模塊的功能,并通過外部放大電路達到了題目要求的輸出幅度。通過這一次實訓,我們深有體會,即便以后從事和本專業(yè)不同的職業(yè),我們這次實訓所收獲的解決問題的能力、思考問題的方法、以及遇到困難不放棄的精神都會使我們受益終身。
以上內容Word格式文檔51黑下載地址:
|