名稱(chēng):Quartus的2FSK調(diào)制解調(diào)verilog(代碼在文末付費(fèi)下載)
軟件:Quartus
語(yǔ)言:Verilog
要求:使用verilog實(shí)現(xiàn)2FSK的調(diào)制和解調(diào),并進(jìn)行仿真
演示視頻:
部分代碼展示
//2FSK設(shè)計(jì) module?FSK_2(clock,?reset,?code_in,decode_key,?code_out,LED_BIT,LED_SEG); ???input??????clock;//輸入時(shí)鐘 ???input??????reset;//復(fù)位--k1 ???input??????code_in;//輸入調(diào)制信號(hào)--k2 input??????decode_key;//輸入解調(diào)控制--k3,按下按鍵后啟動(dòng)解調(diào) ???output?????code_out;//輸出解調(diào)信號(hào) output?[7:0]?LED_BIT;//數(shù)碼管位選 output?[7:0]?LED_SEG;//數(shù)碼管段選 ??? ???wire?[7:0]?Modulate_fsk2;//2FSK信號(hào) wire?[7:0]?decode_fsk2;//2FSK信號(hào) wire??code_in;//輸入調(diào)制信號(hào) wire??decode_code;//輸出解調(diào)信號(hào) wire?[3:0]?state;//當(dāng)前狀態(tài)值 assign?code_out=decode_code; ??? ???//2FSK調(diào)制模塊設(shè)計(jì) ???Modulate?U_Modulate( .clock(clock),?//輸入時(shí)鐘 .reset(~reset),//復(fù)位? .code_in(code_in),?//輸入調(diào)制信號(hào) .fsk2(Modulate_fsk2)//輸出FSK信號(hào) ); ??? ???//2FSK解調(diào)模塊設(shè)計(jì) ???decode?U_decode( .clock(clock),?//輸入時(shí)鐘 .reset(~reset),?//復(fù)位 .code_out(decode_code),?//輸出解調(diào)信號(hào) .fsk2(decode_fsk2)//輸入FSK信號(hào) ); //狀態(tài)機(jī)控制,按下decode_key按鍵后啟動(dòng)解調(diào) state_machine?i_state_machine( .?clock(clock), .?reset(~reset),//復(fù)位--k1 .?decode_key(decode_key),//輸入解調(diào)控制--k3 .?Modulate_fsk2(Modulate_fsk2),//輸入2FSK信號(hào) .?decode_fsk2(decode_fsk2),//輸出2FSK信號(hào) .?state_out(state)//狀態(tài)值 );??? //數(shù)碼管顯示模塊 display?i_display( .?clock(clock),//50M時(shí)鐘 .?code_in(code_in),//輸入調(diào)制信號(hào) .?code_out(decode_code),//輸出解調(diào)信號(hào) .?state(state),//當(dāng)前狀態(tài)值 .?LED_BIT(LED_BIT),//數(shù)碼管位選 .?LED_SEG(LED_SEG)//數(shù)碼管段選 );
設(shè)計(jì)文檔(文檔點(diǎn)擊可下載):
1. 2FSK(Frequency Shift Keying)為二進(jìn)制數(shù)字頻率調(diào)制(二進(jìn)制頻移鍵控),用載波的頻率來(lái)傳送數(shù)字信息,即用所傳送的數(shù)字信息控制載波的頻率。2FSK信號(hào)便是符號(hào)“0”對(duì)應(yīng)于載頻 f1,而符號(hào)“1”對(duì)應(yīng)于載頻 f2(與 f1 不同的另一載頻)的已調(diào)波形,而且 f1 與 f2 之間的改變是瞬間的。傳“0”信號(hào)時(shí),發(fā)送頻率為 f1 的載波; 傳“1”信號(hào)時(shí),發(fā)送頻率為 f2的載波。
2. 工程文件
3. 程序文件
4. 程序編譯
5. RTL圖
6. testbench
7. 仿真圖
按下按鍵后啟動(dòng)解調(diào),可以看到解調(diào)出的code_out與輸入code_in一致
調(diào)制模塊
狀態(tài)控制模塊
按下按鍵后啟動(dòng)解調(diào)
解調(diào)模塊
數(shù)碼管顯示模塊
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=170