可控脈沖發(fā)生器的設(shè)計
一、實驗?zāi)康?/strong>1、了解可控脈沖發(fā)生器的實現(xiàn)機(jī)理。
2、學(xué)會用示波器觀察FPGA產(chǎn)生的信號。
3、學(xué)習(xí)用VHDL編寫復(fù)雜功能的代碼。
二、實驗原理
脈沖發(fā)生器就是要產(chǎn)生一個脈沖波形,而可控脈沖發(fā)生器則是要產(chǎn)生一個周期和占空比可變的脈沖波形。可控脈沖發(fā)生器的實現(xiàn)原理比較簡單,可以簡單的理解為一個計數(shù)器對輸入的時鐘信號進(jìn)行分頻的過程。通過改變計數(shù)器的上限值來達(dá)到改變周期的目的,通過改變電平翻轉(zhuǎn)的閾值來達(dá)到改變占空比的目的。下面舉個簡單的例子來說明其工作原理。
假如有一個計數(shù)器T對時鐘分頻,其計數(shù)的范圍是從0~N,另取一個
M(0≤M≤N),若輸出為Q,那么Q只要滿足條件
時,通過改變N值,即可改變輸出的脈沖波的周期;改變M值,即可改變脈沖波的占空比。這樣輸出的脈沖波的周期和占空比分別為:
三、實驗內(nèi)容
本實驗的任務(wù)就是要設(shè)計一個可控的脈沖發(fā)生器,要求輸出的脈沖波的周期和占空比都可變。具體的實驗過程中,時鐘信號選用時鐘模塊中的1.5MHz時鐘,然后再用按鍵模塊的BT1和BT2來控制脈沖波的周期,每按下BT1,N會在慢速時鐘作用下不斷地遞增1,按下BT2,N會在慢速時鐘作用下不斷地遞減1;用BT3和BT4來控制脈沖波的占空比,每按下BT3,M會在慢速時鐘作用下不斷地遞增1,每按下BT4,M會在慢速時鐘作用下不斷地遞減1,BT8用作復(fù)位信號,當(dāng)按下BT8時,復(fù)位FPGA內(nèi)部的脈沖發(fā)生器模塊。脈沖波的輸出直接從FPGA的IO端口輸出用示波器觀察輸出波形的改變。
四、實驗步驟
1、打開QUARTUSII軟件,新建一個工程。
2、建完工程之后,再新建一個VHDL File,打開VHDL編輯器對話框。
3、按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照光盤中提供的示例程序。
4、編寫完VHDL程序后,保存起來。方法同實驗一。
5、對自己編寫的VHDL程序進(jìn)行編譯并仿真,對程序的錯誤進(jìn)行修改。
6、編譯仿真無誤后,根據(jù)用戶自己的要求進(jìn)行管腳分配。分配完成后,再進(jìn)行全編譯一次,以使管腳分配生效。
7、根據(jù)實驗內(nèi)容用實驗導(dǎo)線將上面管腳分配的FPGA管腳與對應(yīng)的模塊連接起來。
如果是調(diào)用的本書提供的VHDL代碼,則實驗連線如下:
CLK:FPGA時鐘輸入信號,接數(shù)字時鐘CLOCK1并將時鐘設(shè)為1 .5MHZ。
RST:復(fù)位輸入信號,接一個按鍵開關(guān)BT8。
NU、ND:控制頻率的輸入信號,接兩個按鍵開關(guān)BT1、BT2。
MU、MD:控制占空比的輸入信號,接兩個按鍵開關(guān)BT3、BT4。
FOUT:信號發(fā)生器的信號輸出,接一個FPGA的IO端口。
8、用下載電纜通過JTAG口將對應(yīng)的sof文件加載到FPGA中。觀察實驗結(jié)果是否與自己的編程思想一致。
五、實驗結(jié)果與現(xiàn)象
以設(shè)計的參考示例為例,當(dāng)設(shè)計文件加載到目標(biāo)器件后,按下按鍵開關(guān)模塊的BT8按鍵,在輸出的FPGA IO通過示波器可能觀測到一個頻率約為1KHZ、占空比為50%的矩形波。按下BT1鍵或者BT2鍵,這個矩形波的頻率會發(fā)生相應(yīng)的增加或者減少。按下BT3鍵或者BT4鍵,這個矩形波的占空比會相應(yīng)的增加或減少。
六、實驗報告
1、繪出仿真波形,并作說明。
2、在這個實驗的基礎(chǔ)上重新設(shè)計,使程序改變頻率的時候不會影響占空比的改變。
3、將實驗原理、設(shè)計過程、編譯仿真波形和分析結(jié)果、硬件測試結(jié)果記錄下來。