欢迎来到天天文库
浏览记录
ID:55615064
大小:689.50 KB
页数:36页
时间:2020-05-19
《西南交通大学_通信工程实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、通信工程实验报告班级:___通信1班____学号:________姓名:华亿超市实验一FPGA实验BDPSK调制解调器设计一、实验目的⒈掌握BDPSK的调制和解调原理。⒉掌握倍频和分频的概念以及原理。⒊用VerilogHDL硬件描述语言建模时序逻辑电路,实现BDPSK基带调制解调系统。二、实验报告要求⒈调制器和解调器的外引脚图和内部结构图。(MicrosoftVisio中截图)⒉调制器模块和解调器模块的VerilogHDL代码及注释。⒊功能仿真和时序仿真结果的波形。(ModelSim中截图)⒋(选做)开发板验证后的波形。(示波器上拍照)三
2、、实验结果1、BDPSK调制系统的结构图。2、BDPSK调制器模块的VerilogHDL代码及注释。分频器:modulefre_div(clk,cp0);//分频器inputclk;outputregcp0;parameterN=32;integeri=0;initialbegincp0<=0;endalways@(posedgeclk)beginif(i3、out);inputclk;inputreset_n;outputdataout;reg[7:1]c;always@(posedgeclkornegedgereset_n)beginif(!reset_n)c<=7'b;elsebeginc[7]<=c[6];c[6]<=c[5];c[5]<=c[4];c[4]<=c[3];c[3]<=c[2];c[2]<=c[1];c[1]<=c[2]^c[3]^c[4]^c[7];endendassigndataout=c[7];endmodule差分编码器:moduledif(clk,reset_n4、,in,out);inputclk;inputreset_n;inputin;outputout;reg[1:0]o;always@(posedgeclkornegedgereset_n)beginif(!reset_n)o<=1;elsebegino<=in^o;endendassignout=o;endmodule控制器:moduleController(clk,reset_n,s,address,cp);inputclk;inputreset_n;inputcp;inputs;//相对码output[4:0]address;reg[5、4:0]address_data;reg[4:0]count;regsign;always@(posedgecp)beginif(s==0)count<=5'b10000;elseif(s==1)count<=5'b00000;sign<=1;endalways@(posedgeclkornegedgereset_n)beginif(!reset_n)address_data<=5'b00000;elsebeginif(sign==1)beginaddress_data<=count;sign<=0;endaddress_data<=ad6、dress_data+1'b1;if(address_data==32)address_data<=5'b00000;endendassignaddress=address_data;endmodule正弦波形查找表:moduleLookUpTable(clk,reset_n,address,dataout);//正弦载波采样表inputclk;inputreset_n;input[4:0]address;output[7:0]dataout;reg[7:0]LUT[0:31];always@(posedgeclkornegedgeres7、et_n)beginif(!reset_n)beginLUT[0]<=128;//用C编程计算出的查找表采样值填在这里LUT[1]<=152;LUT[2]<=176;LUT[3]<=198;LUT[4]<=218;LUT[5]<=234;LUT[6]<=245;LUT[7]<=253;LUT[8]<=255;LUT[9]<=253;LUT[10]<=245;LUT[11]<=234;LUT[12]<=218;LUT[13]<=198;LUT[14]<=176;LUT[15]<=152;LUT[16]<=128;LUT[17]<=103;L8、UT[18]<=79;LUT[19]<=57;LUT[20]<=37;LUT[21]<=22;LUT[22]<=10;LUT[23]<=2;LUT[24]<=0;LUT[25]<=2;LUT[
3、out);inputclk;inputreset_n;outputdataout;reg[7:1]c;always@(posedgeclkornegedgereset_n)beginif(!reset_n)c<=7'b;elsebeginc[7]<=c[6];c[6]<=c[5];c[5]<=c[4];c[4]<=c[3];c[3]<=c[2];c[2]<=c[1];c[1]<=c[2]^c[3]^c[4]^c[7];endendassigndataout=c[7];endmodule差分编码器:moduledif(clk,reset_n
4、,in,out);inputclk;inputreset_n;inputin;outputout;reg[1:0]o;always@(posedgeclkornegedgereset_n)beginif(!reset_n)o<=1;elsebegino<=in^o;endendassignout=o;endmodule控制器:moduleController(clk,reset_n,s,address,cp);inputclk;inputreset_n;inputcp;inputs;//相对码output[4:0]address;reg[
5、4:0]address_data;reg[4:0]count;regsign;always@(posedgecp)beginif(s==0)count<=5'b10000;elseif(s==1)count<=5'b00000;sign<=1;endalways@(posedgeclkornegedgereset_n)beginif(!reset_n)address_data<=5'b00000;elsebeginif(sign==1)beginaddress_data<=count;sign<=0;endaddress_data<=ad
6、dress_data+1'b1;if(address_data==32)address_data<=5'b00000;endendassignaddress=address_data;endmodule正弦波形查找表:moduleLookUpTable(clk,reset_n,address,dataout);//正弦载波采样表inputclk;inputreset_n;input[4:0]address;output[7:0]dataout;reg[7:0]LUT[0:31];always@(posedgeclkornegedgeres
7、et_n)beginif(!reset_n)beginLUT[0]<=128;//用C编程计算出的查找表采样值填在这里LUT[1]<=152;LUT[2]<=176;LUT[3]<=198;LUT[4]<=218;LUT[5]<=234;LUT[6]<=245;LUT[7]<=253;LUT[8]<=255;LUT[9]<=253;LUT[10]<=245;LUT[11]<=234;LUT[12]<=218;LUT[13]<=198;LUT[14]<=176;LUT[15]<=152;LUT[16]<=128;LUT[17]<=103;L
8、UT[18]<=79;LUT[19]<=57;LUT[20]<=37;LUT[21]<=22;LUT[22]<=10;LUT[23]<=2;LUT[24]<=0;LUT[25]<=2;LUT[
此文档下载收益归作者所有