通信原理课程设计-基于vhdl硬件程序语言的hdb3的编译码内容摘要:

基本流程图 : 此段核心代码: process(reset,clk,datain)is begin if reset=39。 039。 then even=39。 039。 dout=00。 elsif(clk=39。 139。 and clk39。 event)then if datain=11 then if even=39。 139。 then Start Addb_out=v Addb_out=1,b Even=1 Even=1 Polar_out=+1 Polar_out=1 Polar_out=0 Polar_out=1 Polar_out=+1 Y Y Y Y N N N 通信原理课程设计(河海大学) 通信工程专业 10 dout=11。 负电平 1 else dout=01。 正电平 1 end if。 elsif(datain=01 or datain=10) then if even=39。 139。 then even=39。 039。 dout=01。 else even=39。 139。 dout=11。 end if。 else dout=00。 end if。 end if。 end process。 编码部分 的仿真波形: 输入是 100001000011000011 输出是 1 000 1 +1 000 +1 1 +1 1 00 1 +1 1 译码: 此部比较简单,其核心代码如下: t=datain。 process(clk,datain)is begin if(clk=39。 139。 and clk39。 event)then D1(2 downto 1)=D1(3 downto 2)。 通信原理课程设计(河海大学) 通信工程专业 11 D0(2 downto 1)=D0(3 downto 2)。 end if。 end process。 process(clk,datain) is begin if(clk=39。 139。 and clk39。 event)then if ((t=11 and D1(3 downto 0)=0001 and D0(3 downto 0)=0001)or(t=01 and D1(3 downto 0)=0000 and D0(3 downto 0)=0001))then D1(3)=39。 039。 D0(3)=39。 039。 D1(0)=D1(1)。 D0(0)=D0(1)。 elsif((t=11 and D1(3 downto 1)=001 and D0(3 downto 1)=001)or(t=01 and D1(3 downto 1)=000 and D0(3 downto 1)=001))then D1(3)=39。 039。 D0(3)=39。 039。 D1(0)=39。 039。 D0(0)=39。 039。 else D1(3)=t(1)。 D0(3)=t(0)。 D1(0)=D1(1)。 D0(0)=D0(1)。 end if。 end if。 end process。 process(clk)is begin if(clk=39。 139。 and clk39。 event) then if((D1(0)=39。 139。 and D0(0)=39。 139。 )or(D1(0)=39。 039。 and D0(0)=39。 139。 )) then dout=39。 139。 else dout=39。 039。 end if。 end if。 end process。 译码部分的仿真波形: 通信原理课程设计(河海大学) 通信工程专业 12 输入是 1 000 1 +1 000 +1 1 +1 1 00 1 +1 1 输出是 100001000011000011 二、有了编译码模块,为了验证我的 HDB3 还要有一信号发生模块。 因此我又编了一个小 m序列发生器(五级)。 公式是: x5 +x2+1 核心代码如下: SIGNAL S1,S2: STD_LOGIC_VECTOR(4 DOWNTO 0)。 BEGIN PROCESS(reset,CLK) IS BEGIN IF reset=39。 039。 THEN S1(0)=39。 139。 ELSIF(CLK=39。 139。 AND CLK39。 EVENT) THEN S1=(S2(0) XOR S2(3))amp。 S2(4 DOWNTO 1)。 END IF。 S2=S1。 Y=S2(0)。 END PROCESS。 仿真波形: 通信原理课程设计(河海大学) 通信工程专业 13 将所有模块连在一起,构成一完整系统 : 模块图: 仿真波形: My 是 m 序列的输出 Doutb 是 HDB3 编码输出 Dout 是 HDB3 译码输出 顶层实现模块总体框图 : 通信原理课程设计(河海大学) 通信工程专业 14 第三节 HDB3 的示波器观察的图形 通信原理课程设计(河海大学) 通信工程专业 15 第三章 总结及心得 通过一周来的通信原理课程设计,感觉收获颇多,虽然这 次的课程设计时间上有点赶,但毕竟还是做了出来。 当自己将程序完完全全的编出来的时候那种成功的喜悦心情真的是无法描述。 感觉很有成就感。 另外,这次的设计中,收获最大的地方我想有两处,其一是使得自己对通信原理中设计的一些编码机制规则有了一个初步的了解,比老师在课上讲的时印象要加深了很多。 毕竟还是自己动手做一遍才真的会往心里去。 其二,可能不是通信原理方面的,是 EDA 方面的,使我对 EDA 的 VHDL 语言更加了解熟悉,另外对其中一些有用的思想,觉得很有用。 同时觉得自己对这方面 也有了兴趣,为自己今后找到了兴趣点。 下面简要 总结一下学到的点滴东西:其一:学到了 hdb3 的编程的思想。 其二,在看曼彻斯特和 CMI 码时那种串并转化。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。