基于FPGA的pwm設(shè)計
一、設(shè)計需求
PWM控制就是對脈沖的寬度進(jìn)行調(diào)制的技術(shù),用以等效地獲得所需要的波形,以實現(xiàn)對模擬電路的控制。本次設(shè)計,運用Verilog HDL語言,完成基于FPGA的PWM電路控制的程序設(shè)計。本次操作中,通過按鍵輸入所需脈沖的頻率(0--10MHz),通過FPGA得到所需的波形。
二、設(shè)計框圖
本次操作需運用Verilog HDL完成一個可以設(shè)置輸入頻率(0--10MHz)的PWM設(shè)計。本次設(shè)計中需完成頻率輸入、按鍵消抖、計數(shù)器、分頻器、引腳輸出、數(shù)碼管動態(tài)顯示等模塊的設(shè)計工作。
三、設(shè)計工具
型號:Altera 公司的 CycloneII系列芯片EP2C8Q208C8
軟件:Quartus11.0,主要用于編譯、綜合、下載;
語言:Verilog HDL
四、模塊設(shè)計
4.1按鍵消抖電路
實際應(yīng)用中,按鍵的瞬間會伴隨有一連串的抖動,因而需要消抖。檢測出鍵閉合后執(zhí)行一個5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下,開始執(zhí)行操作。
4.2按鍵輸入電路
通過按鍵key_done[0]到key_done[7](對應(yīng)開發(fā)板上s1—s8鍵),設(shè)置所需頻率的個位、十位、百位、K位、十K位、百K位、M位、十M位。
通過按鍵輸入的數(shù)字之間沒有關(guān)聯(lián),用一個公式將之聯(lián)系起來,并作為設(shè)定頻率的關(guān)聯(lián)參數(shù)。
4.4分頻電路
FPGA時鐘信號的頻率為50MHZ,根據(jù)設(shè)計要求,需要對脈沖進(jìn)行分頻。一路為脈沖c3,用以數(shù)碼管動態(tài)顯示電路的驅(qū)動;一路為c2,用于得到理想波形。
五、實驗結(jié)果