网站关键字在哪里设置,西安互联网网站搭建公司排名,手机便宜的网站建设,wordpress部署成英文怎么办基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言
设计实现连续相位 2FSK 调制器#xff0c;2FSK 的两个频率为:fI15KHz#xff0c;f23KHz#xff0c;波特率为 1500 bps,比特0映射为f 载波#xff0c;比特1映射为 载波。 1#xff09… 基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言
设计实现连续相位 2FSK 调制器2FSK 的两个频率为:fI15KHzf23KHz波特率为 1500 bps,比特0映射为f 载波比特1映射为 载波。 1接收到被发送的数据帧后按下面格式生成突发帧:帧头(111111110111111016比特)数据帧长度字节(高位在前)数据帧(来自UART接口的数据字节每个字节高位在前)XOR校验字节(长度字节、数据的XOR结果)结尾8比特(0000000) 2通过 DAC 模块输出已调信号波形
一、2FSK储备知识
2FSK双频移键控调制是数字调制技术的一种常用于无线通信、数据传输等领域。2FSK属于频移键控FSK调制方式的一种特例其中“2”表示使用两个不同的频率来表示二进制数据0和1。
输入数据比特流发送端输入二进制数据流0和1。选择频率比特0对应f0比特1对应f1频率调制在发送端根据信号的0和1的不同调节载波信号的频率。每个数据比特对应一个特定的频率周期。信号传输调制后的信号通过传输媒介如无线电波、电缆等发送到接收端。
二、代码分析
1.模块分析
代码如下示例
//产生载波0
module DDS_Mod1(input clk,input rst_n,output wire [11:0] addr_I,output wire signed [7:0] sin //调制信号
);parameter Freq 34d687026; //题目要求2KHz/3Khz 设置频率控制字 0.04096 * 2的22次方 171966 257530
//parameter Freq 32d4278; //题目要求2KHz/3Khz 设置频率控制字 0.04096 * 2的22次方 171966 257530
reg [31:0] Freq_1;
reg [33:0] cnt_I 0; //32位1022always (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( //调用ROM将右移后的值送入ROM的地址端.clka(clk),.addra(addr_I),.douta(sin));endmodule//产生载波1
module DDS_Mod(input clk,input rst_n,output wire [11:0] addr_I,output wire signed [7:0] sin //调制信号
);
//0对应2k 1对应3k
parameter Freq 34d343932; //题目要求2KHz/3Khz 设置频率控制字 0.04096 * 2的22次方 171966 257530
//parameter Freq 32d4278; //题目要求2KHz/3Khz 设置频率控制字 0.04096 * 2的22次方 171966 257530
reg [31:0] Freq_1;
reg [31:0] Freq_2;
reg [33:0] cnt_I 0; //32位1022always (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( //调用ROM将右移后的值送入ROM的地址端.clka(clk),.addra(addr_I),.douta(sin));endmodule其他模块就是围绕功能进行编写 其他模块就是围绕功能进行编写 其他模块就是围绕功能进行编写 关注三连后台获取
2.波形分析
串口接收到88、55数据后存在fifo里面 按照通信协议进行实现将比特0和1映射为对应的频率。 总结
软件:vivado 2023 modelsim 工程文件完善修改比较方便方便大家进行课程知识点的学习与设计加深对于FSK的理解。