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