校園網(wǎng)站設(shè)計外貿(mào)接單十大網(wǎng)站
基于FPGA的2FSK調(diào)制
- 前言
- 一、2FSK儲備知識
- 二、代碼分析
- 1.模塊分析
- 2.波形分析
- 總結(jié)
前言
設(shè)計實現(xiàn)連續(xù)相位 2FSK 調(diào)制器,2FSK 的兩個頻率為:fI=15KHz,f2=3KHz,波特率為 1500 bps,比特0映射為f 載波,比特1映射為 載波。
1)接收到被發(fā)送的數(shù)據(jù)幀后,按下面格式生成突發(fā)幀:幀頭(1111111101111110,16比特)+數(shù)據(jù)幀長度字節(jié)(高位在前)+數(shù)據(jù)幀(來自UART接口的數(shù)據(jù)字節(jié),每個字節(jié)高位在前)+XOR校驗字節(jié)(長度字節(jié)、數(shù)據(jù)的XOR結(jié)果)+結(jié)尾8比特(0000000)
2)通過 DAC 模塊輸出已調(diào)信號波形
一、2FSK儲備知識
2FSK(雙頻移鍵控)調(diào)制是數(shù)字調(diào)制技術(shù)的一種,常用于無線通信、數(shù)據(jù)傳輸?shù)阮I(lǐng)域。2FSK屬于頻移鍵控(FSK)調(diào)制方式的一種特例,其中“2”表示使用兩個不同的頻率來表示二進制數(shù)據(jù)0和1。
- 輸入數(shù)據(jù)比特流:發(fā)送端輸入二進制數(shù)據(jù)流(0和1)。
- 選擇頻率:比特0對應(yīng)f0,比特1對應(yīng)f1
- 頻率調(diào)制:在發(fā)送端,根據(jù)信號的0和1的不同,調(diào)節(jié)載波信號的頻率。每個數(shù)據(jù)比特對應(yīng)一個特定的頻率周期。
- 信號傳輸:調(diào)制后的信號通過傳輸媒介(如無線電波、電纜等)發(fā)送到接收端。
二、代碼分析
1.模塊分析
代碼如下(示例):
//產(chǎn)生載波0
module DDS_Mod1(input clk,input rst_n,output wire [11:0] addr_I,output wire signed [7:0] sin //調(diào)制信號
);parameter Freq = 34'd687026; //題目要求2KHz/3Khz 設(shè)置頻率控制字 0.04096 * 2的22次方 =171966 257530
//parameter Freq = 32'd4278; //題目要求2KHz/3Khz 設(shè)置頻率控制字 0.04096 * 2的22次方 =171966 257530
reg [31:0] Freq_1;
reg [33:0] cnt_I = 0; //32位=10+22always @(posedge clk or negedge rst_n) beginif(!rst_n) begincnt_I <= 0;endelse begincnt_I <= cnt_I + Freq;end
endassign addr_I = cnt_I[33:22]; //右移12位,相當于除以2的12次方ROM b2v_inst2( //調(diào)用ROM,將右移后的值送入ROM的地址端.clka(clk),.addra(addr_I),.douta(sin));endmodule
//產(chǎn)生載波1
module DDS_Mod(input clk,input rst_n,output wire [11:0] addr_I,output wire signed [7:0] sin //調(diào)制信號
);
//0對應(yīng)2k 1對應(yīng)3k
parameter Freq = 34'd343932; //題目要求2KHz/3Khz 設(shè)置頻率控制字 0.04096 * 2的22次方 =171966 257530
//parameter Freq = 32'd4278; //題目要求2KHz/3Khz 設(shè)置頻率控制字 0.04096 * 2的22次方 =171966 257530
reg [31:0] Freq_1;
reg [31:0] Freq_2;
reg [33:0] cnt_I = 0; //32位=10+22always @(posedge clk or negedge rst_n) beginif(!rst_n) begincnt_I <= 0;endelse begincnt_I <= cnt_I + Freq;end
endassign addr_I = cnt_I[33:22]; //右移12位,相當于除以2的12次方ROM b2v_inst2( //調(diào)用ROM,將右移后的值送入ROM的地址端.clka(clk),.addra(addr_I),.douta(sin));endmodule
其他模塊就是圍繞功能進行編寫
其他模塊就是圍繞功能進行編寫
其他模塊就是圍繞功能進行編寫
關(guān)注三連后臺獲取
2.波形分析
串口接收到88、55數(shù)據(jù)后存在fifo里面
按照通信協(xié)議進行實現(xiàn),將比特0和1映射為對應(yīng)的頻率。
總結(jié)
軟件:vivado 2023 modelsim
工程文件完善,修改比較方便,方便大家進行課程知識點的學習與設(shè)計,加深對于FSK的理解。