• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

2FSK調制解調verilog代碼quartus

2小時前
134
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-23092421240YZ.doc

共1個文件

名稱:Quartus的2FSK調制解調verilog(代碼在文末付費下載)

軟件:Quartus

語言:Verilog

要求:使用verilog實現2FSK的調制和解調,并進行仿真

演示視頻:

部分代碼展示

//2FSK設計
module?FSK_2(clock,?reset,?code_in,decode_key,?code_out,LED_BIT,LED_SEG);
???input??????clock;//輸入時鐘
???input??????reset;//復位--k1
???input??????code_in;//輸入調制信號--k2
input??????decode_key;//輸入解調控制--k3,按下按鍵后啟動解調
???output?????code_out;//輸出解調信號
output?[7:0]?LED_BIT;//數碼管位選
output?[7:0]?LED_SEG;//數碼管段選
???
???wire?[7:0]?Modulate_fsk2;//2FSK信號
wire?[7:0]?decode_fsk2;//2FSK信號
wire??code_in;//輸入調制信號
wire??decode_code;//輸出解調信號
wire?[3:0]?state;//當前狀態(tài)值
assign?code_out=decode_code;
???
???//2FSK調制模塊設計
???Modulate?U_Modulate(
.clock(clock),?//輸入時鐘
.reset(~reset),//復位?
.code_in(code_in),?//輸入調制信號
.fsk2(Modulate_fsk2)//輸出FSK信號
);
???
???//2FSK解調模塊設計
???decode?U_decode(
.clock(clock),?//輸入時鐘
.reset(~reset),?//復位
.code_out(decode_code),?//輸出解調信號
.fsk2(decode_fsk2)//輸入FSK信號
);
//狀態(tài)機控制,按下decode_key按鍵后啟動解調
state_machine?i_state_machine(
.?clock(clock),
.?reset(~reset),//復位--k1
.?decode_key(decode_key),//輸入解調控制--k3
.?Modulate_fsk2(Modulate_fsk2),//輸入2FSK信號
.?decode_fsk2(decode_fsk2),//輸出2FSK信號
.?state_out(state)//狀態(tài)值
);???
//數碼管顯示模塊
display?i_display(
.?clock(clock),//50M時鐘
.?code_in(code_in),//輸入調制信號
.?code_out(decode_code),//輸出解調信號
.?state(state),//當前狀態(tài)值
.?LED_BIT(LED_BIT),//數碼管位選
.?LED_SEG(LED_SEG)//數碼管段選
);

設計文檔(文檔點擊可下載):

1. 2FSK(Frequency Shift Keying)為二進制數字頻率調制(二進制頻移鍵控),用載波的頻率來傳送數字信息,即用所傳送的數字信息控制載波的頻率。2FSK信號便是符號“0”對應于載頻 f1,而符號“1”對應于載頻 f2(與 f1 不同的另一載頻)的已調波形,而且 f1 與 f2 之間的改變是瞬間的。傳“0”信號時,發(fā)送頻率為 f1 的載波; 傳“1”信號時,發(fā)送頻率為 f2的載波。

2. 工程文件

3. 程序文件

4. 程序編譯

5. RTL圖

6. testbench

7. 仿真圖

按下按鍵后啟動解調,可以看到解調出的code_out與輸入code_in一致

調制模塊

狀態(tài)控制模塊

按下按鍵后啟動解調

解調模塊

數碼管顯示模塊

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=170

  • 1-23092421240YZ.doc
    下載

相關推薦