通信原理设计性实验new

通信原理设计性实验new

ID:1313681

大小:210.00 KB

页数:3页

时间:2017-11-10

通信原理设计性实验new_第1页
通信原理设计性实验new_第2页
通信原理设计性实验new_第3页
资源描述:

《通信原理设计性实验new》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CMI译码器设计一、预备知识1.预习Altera公司quartus软件的使用方法。2.预习FPGA的基本编程技术。3.复习通信原理中关于CMI译码部分的知识。二、实验目的掌握FPGA中实现CMI译码的方法。三、实验仪器计算机(带quartusII开发环境)一台四、实验原理CMI编码规则见如下表所示:输入码字编码结果001100/11交替表示CMI译码关键是要检测出哪两个码元是一组。通过分析编码规则可知,只要检测到了下降沿,后面的信号即可进行分组译码。CMI码具有检错能力,这是因为1码用00或11表示,而0码用01码表示,因而在CMI码流中不存在10码,且无00与11码

2、组连续出现,这个特点可用于检测CMI的部分错码。在CMI解码端,存在两种状态,因而需进行同步。同步过程的设计可根据码字的状态进行:因为在输入码字中不存在10码型,如果出现10码,则必须调整同步状态。五、设计要求与方法1.设计要求将CMI编码实验后的CMI码译码。在程序中定义的端口是:输入:CLK_DECODE:CMI译码时钟。RST:复位信号,高电平有效。CMI_IN:CMI信号输入。输出:Y_OUT:CMI译码输出。说明:CLK_DECODE:8号板的FPGA的16脚,插座的名称为“CLK”。RST:8号板FPGA39脚,复位信号,S2pn1往上拨时,复位信号有效。

3、CMI_IN:8号板的FPGA的10脚,插座的名称为“COMRXA”。NRZ_OUT:8号板的FPGA的75脚,插座的名称为“串口时钟”。2.设计方法CMI译码电路由串并变换器、译码器、同步检测器、扣脉冲电路等电路组成。1)首先将输入原始时钟分频,译码速度降一倍;2)然后进行串并转换,将输入的二倍编码后的信号转换成2bit的信号用于译码;3)最后CMI译码:将CMI码的高位与低位通过异或非门实现CMI码的译码,如果高位和低位相同就译成1,如果不同就译成0。六、实验步骤1.在quartus中新建或打开工程文件CMI_DECODE.qpf。注意,工程设置不要随便改动,特别

4、是管脚定义、器件定义,否则会损坏器件。2.在CMI_DECODE.V中添加代码。然后,编译仿真后。经检查后方可下载(确认管脚分配正常)。七.实验数据与结果:CMI代码:module cmi(clk,rst,cmi_in,bian_out,yi_out);input clk,cmi_in;            //定义输入时钟信号及初始信号data//input rst; //定义输入清零端//output [1:0] bian_out; //编码输出2位二进制/reg x; //定义x  作为取反信号  进行输入为一译码为00 11的切换//reg [1:0] bi

5、an_out; //定义存储类型 进行数据存储//output  yi_out;//译码输出//reg yi_out;always @(posedge clk or negedge rst)//当clk上升沿 或置零信号下降沿来临执行// begin if(!rst) //当清零为0清零端有效编码输出置零//begin   bian_out<=0;      end   else if (cmi_in==1)  begin//数据为1执行,假设此时x为1,将00赋给编码输出//      if (x)    begin        bian_out[0]<=0;  

6、      bian_out[1]<=0;         x<=~x; //对x取反//               end//结束退出//       else if (!x)   begin//当数据为1,x等于0时输入为1 编码为11//        bain_out[0]<=1;        bian_out[1]<=1;         x<=~x;                end     end   else if(cmi_in==0) begin//当数据为0,将01赋给编码输出//        bian_out[0]<=1;       

7、 bian_out[1]<=0;               endendalways@(posedge clk )//译码 当clk上升沿到 有效,比编码输出延迟一个周期//begin if (bian_out==2'b01)//当编码输出为01 ,译码输出为0//  yi_out<=1'h0;else if(bian_out==2'b11)//当编码输出为11,译码输出为1//  yi_out<=1'h1;else if(bian_out==2'b00)//当编码输出为00,译码输出为1//  yi_out<=1'h1; endendmodule

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。