基于FPGA的HDB3的编译码系统设计_第1页
基于FPGA的HDB3的编译码系统设计_第2页
基于FPGA的HDB3的编译码系统设计_第3页
基于FPGA的HDB3的编译码系统设计_第4页
基于FPGA的HDB3的编译码系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字通信原理课程设计说明书 基于FPGA的HDB3的编译码系统设计 学 院: 学生姓名: 指导教师: 专 业: 班 级: 学 号: 完成时间: 摘 要一般由信源发出的数字基带信号含有丰富的低频分量,甚至直流分量,这些信号往往不宜直接用于传输,易产生码间干扰进而直接影响传输的可靠性,因而要对其进行编码以便传输。FPGA(现场可编程门阵列)作为一种新兴的可编程逻辑器件,具有高集成度、成本低、可靠性高、开发周期短、可重复编程等特点,能将编解码电路集成在一片芯片上。HDB3码(三阶高密度双极性码)具有解码规则简单,无直流,低频成份少,可打破长连0和提取同步方便等优点。基于上述情况,本文提出了基于FPG

2、A的HDB3编译码设计方案。本文先对HDB3码、VHDL语言、FPGA器件和EDA技术进行简述。然后介绍HDB3码的编译码原理以及其特点。最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。 关键词:HDB3码;FPGA;EDA;VHDL;编译码目 录1 绪论11.1 引言11.2 EDA技术11.3 FPGA芯片21.4 VHDL硬件描述语言22 HDB3码的介绍和编译码规则32.1 选择HDB3码的理由32.2

3、 HDB3码的介绍32.2.1 单极性不归零码(NRZ-L)32.2.2 双极性不归零码(Bi-NRZ)32.2.3 交替传号极性码(AMI)32.2.4 三阶高密度双极性码(HDB3)42.3 HDB3的编译码规则42.3.1 单极性不归零码(NRZ-L)的编码规则42.3.2 AMI码的编码规则42.3.3 HDB3码的编译码规则53 HDB3编码器的FPGA实现63.1 HDB3编码的设计思路63.2 HDB3编码的VHDL语言设计63.3 HDB3编码的VHDL程序73.4 HDB3编码的仿真波形74 HDB3译码器的FPGA实现94.1 HDB3码译码的设计思路94.2 HDB3译码

4、的VHDL语言设计94.3 HDB3译码的VHDL程序94.4 HDB3译码的仿真波形94.5 HDB3编译码器测试104.5.1 HDB3编码器和译码器在顶层文件连接104.5.2 HDB3编译码器的仿真波形11结束语12参考文献13致 谢14附 录15附录一 HDB3编码程序15附录二 HDB3译码程序181 绪论1.1 引言信号在信道的传输过程中,如何才能保证信号失真最小且可靠的传输是研究人员一致的目标。一个完整的通讯系统,当信号经过一定距离的传送后,总要受到干扰、移相和衰减,因而必须要对数字信号进行再生。从信源输出的信号一般是0、l两种状态的单极性NRZ码,在进行数字信号传输时,必须考

5、虑到传输信道的特点,将信息比特变换为适合于信道传输的数字信号,即进行线路编码。由模拟信源转换而来的PCM信号,或离散信源产生的符号序列,以及数字源发出的代码,从广义角度,我们均称其为PCM编码在PCM的基带传输系统中,存在着平衡电路和不平衡电路的变换,及远端的供电电路,这些电路中都存在着变压器,因而含有丰富的直流和低频的基带信号,这些信号就不适宜在信道中传输,否则会造成正常信号的严重畸变。为了使得终端机编码输出的由0和l组成的单极性数码流适应于传输信道的特性,还必须经过码型变换,即对信号进行编码。选择码型时一般应该考虑几方面的因素,比如从线路码流中容易提取时钟,线路码型中不宜含有直流分量,高、

6、低频成分应尽量减少,设备应简单,易于实现码型变换和码型反变换的调试等。基于此,人们又在考虑能不能有一种更好的方法来弥补这一不足之处。FPGA具有编程灵活的特点,能够在不大改动系统平台的情况下具有改变系统特性和行为的灵活性,因而能完成对实时信号的处理;同时FPGA作为一种新兴的高密度可编程逻辑器件,可以将编码与解码电路集成在一片FPGA芯片上,它的体积小,其结果大大提高了系统的集成度。HDB3码的具有其译码规则简单,便于时钟的提取,无直流分量,实现的电路也远比采用曼彻斯特编码方式简单等优点。本文主要就是要研究如何在一片FPGA芯片上实现HDB3编译码的设计。1.2 EDA技术EDA(Electr

7、onic Design Automation)即电子设计自动化,它是指利用计算机来完成电子系统的设计。EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级三个层次的设计。其涉及的电子系统是指从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此,EDA技术研究的范畴相当广泛。从专用集成电路(ASIC)开发与应用角度看,EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。在现代电子设计技术领域种,EDA技术已成为主要的设计手段。EDA技术可把数字通信技术,微电子技术和现在电子

8、设计自动技术结合起来,实现了硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。1.3 FPGA芯片典型的FPGA它通常包含三类编程资源:可编程逻辑功能块CLB(Configurable Logic Blocks),可编程I/O模块IOB(Input/Output Block)和可编程内部互连PI(Programmable Interconnect)。CLB是实现逻辑设计的基本单元,它们排列为阵列,散布于整个芯片。CLB的功能很强,不仅实现了逻辑函数,还可配置为RAM等复杂形式。IOB作为芯片上逻辑与外部封装引脚的接口,通常围绕着阵列芯片的周围。PI包括各种长度的连线和一些可编程连接

9、开关,通过它们把各个CLB、IOB按设计要求连接起来,构成特定功能的电路。FPGA器件的功能由逻辑结构的配置数据决定,工作时,配置数据存放于片内的SRAM或熔丝上。使用SRAM的FPGA器件,工作前需从芯片外部加载配置数据。配置数据可存储于片外的EPROM或其他存储体上。用户可控制加载过程,在现场修改器件逻辑功能,即现场可编程。1.4 VHDL硬件描述语言VHDL是一种超高速集成电路硬件描述语言, 它提供了一个标准的, 从逻辑门级到数字系统级的各抽象级描述硬件的标准文本, 提供了精确的语法和语义, 为集成电路及系统设计提供了形式化、 层次化和规范化的描述, 不仅能有效地用于CAD 进行模拟,

10、而且可作为一种精确的自然语言用于设计者之间的设计交流, 它允许设计者在语言的基本作用范畴之外表示信息,尽管最初的工具在某些级( 例如开关级) 不能提供模拟。由于没有限制设计者必须拥有特殊的硬件技术或设计方法, 该语言在工业上有着广泛的用途, 它被喻为硬件描述语言中的“FORTRAN”, 其性能是其它硬件描述语言无法媲美的。由此,VHSIC 的硬件描述语言(VHSIC HDL)即VHDL便诞生了,并很快被美国电气和电子工程师协会所承认。VHDL语言描述电路的行为,具有很强的电路功能描述能力,适用于大规模电子系统的设计。232 HDB3码的介绍和编译码规则2.1 选择HDB3码的理由 发送信号设计

11、中一个主要的问题是确定信号的线路编码类型,考虑对直流或低频受限信道,线路编码应不含直流分量;码型变换要保证透明传输,唯一可译,同时可使两端用户方便发送并正确接收原编码序列,而无觉察中间环节的形式转换,即码型选择仅是传输的中间过程;便于从接收码流中提取定时信号;所选码型以及形成波形,应有较大能量,以提高自身抗噪声及干扰的能力;码型具有一定检错能力,能减少误码扩散。所以选择HDB3码。2.2 HDB3码的介绍HDB3码是由基带信号NRZ码对应的传输码AMI码改进而来。为了解HDB3码的编码规则,我们需要先了解基带信号NRZ码和传输码AMI码。2.2.1 单极性不归零码(NRZ-L) 单极性不归零码

12、(Unipolar Nonreturn-to-zero)的0、l码与基带信号的0电位及正电位对应,脉冲无间隔,只适于短距离传输。 缺点:含有直流(DC)分量;接收判决门限为接收电平的一半,门限不稳,判决易错;不便直接从接收码序列中提取同步信号;传输时信道一端需接地(不平衡传输)。2.2.2 双极性不归零码(Bi-NRZ) 双极性码的0、l码与基带信号的负、正电位对应。与单极性相比,双极性不归零码(Bipolar-NRZ)优点为:从统计平均看,l、0各半,不含直流分量;两种码元极性 相反,接收判决电平为0,稳定性高;可在电缆等线路不接地传送(平衡传输)。因此,Bi-NRZ码比较常用,更适合于速度

13、不高的比特流传输,将单极性转换为双 极性也较简单。缺点:不易从中直接提取同步信息;I、0不等概率时仍有直流分量。2.2.3 交替传号极性码(AMI)AMI码(Alternative Mark Inversed Encoding)又称双极性方式码(Bipolar Encoding)、 平衡对称码或传号交替反转码,它属于单极性码的变型,当遇0码时为0电平,当遇l 码时则交替转换极性,这样成为确保正负极性个数相等的“伪三进制”码。优点:确保无直流,零频附近的低频分量小,便于变量器耦合匹配;有一定检错能力,当发生1位误码时,可按AMI规则发现错误,以ARQ纠错;接收后只要全波整流, 则变为单极性码,如

14、果它是AMI-RZ型,可直接提取同步。缺点:码流中当连0过多时,同步不易提取。2.2.4 三阶高密度双极性码(HDB3) 这种码型属于伪三进制码。HDB3中“3阶”的含义是限制连“0”个数不超过3位为减少连“0”数,有的做法采取“扰码”,按一定规则将多个连“0”分散,尽量使码序列随机化。有效的办法是采用HDBn(n=l,2,3),一般多使用n=3。优点:译码规则简单、无直流、低频成份少、频带较窄、可打破长连0,提取同步方便、不受信源统计特性的影响。2.3 HDB3的编译码规则该设计的基带信号码型为单极性不归零码(NRZ-L),传输码型为交替传号极性码(AMI)改进的三阶高密度双极性码(HDB3

15、),所以介绍HDB3的编译码原理前先介绍单极性不归零码(NRZ-L)和传交替传号极性码(AMI)的编译码规则。2.3.1 单极性不归零码(NRZ-L)的编码规则单极性NRZ码在表示一个码元时,二进制符号“1”和“0”分别对应基带信号的正电平和零电平,在整个码元持续时间,电平保持不变。如图1所示。图1 单极性NRZ-L码2.3.2 AMI码的编码规则 AMI码又称为平衡对称码。这种码的编码规则是:把码元序列中的1码变为极性交替变化的传输码1、-1、1、-1、,而码元序列中的0码保持不变。如图2所示。图2 AMI码由AMI码的编码规则可以看出,由于1和-1各占一半,因此,这种码中无直流分量,且其低

16、频和高频分量也较少,信号的能量主要集中在2Tf处,其中Tf为码元速率。此外,AMI码编码过程中,将一个二进制符号变成了一个三进制符号,即这种码脉冲有三种电平,因此我们把这种码称为伪三电平码,也称为1B/1T码型。AMI码除了上述特点外,还有编译码电路简单及便于观察误码情况等优点。但是AMI码有一个重要的缺陷,就是当码元序列中出现长连0时,会造成提取定时信号的困难,因而实际系统中常采用AMI码的改进型HDB3码。2.3.3 HDB3码的编译码规则 HDB3是三阶高密度双极性码,它是为了克服传输波形中出现长连0码情况而设计的AMI码的改进型。 HDB3码的编码规则是:1、把码元序列进行A

17、MI编码,然后去检查AMI码中连0的个数,如果没有四个以上(包括四个)连0串时,则这时的AMI码就是HDB3码。2、如果出现四个以上连0串时,则将每4个连0小段的第4个0变成与其前一个非0码(1或-1)相同的码。显然,这个码破坏了+极性交替反转的规则,因而称其为破坏码,用符号V表示。3、为了使附加V码后的序列中仍不含直流分量,必须保证相邻的V码极性交替。这一点,当相邻的V码之间有奇数个非0码时,是能得到保证的;但当相邻的V码之间有偶数个非0码时,则得不到保证。这时再将该连0小段中的第1个0变成B或-B,B的极性与其前一个非0码相反,并让后面的非零码从V码后开始再极性交替变化。 NRZ码: 1

18、0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 AMI码:-1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1 HDB3码:-1 0 0 0 -V +1 0 0 0 +V -1 +1B 0 0 V +1 -1虽然HDB3 码的编码规则比较复杂,但译码却比较简单。从编码过程中可以看出,每一个V码总是与其前一个非0码(包括B码在内)同极性,因此从收到的码序列中可以很容易地找到破坏点V码,于是可断定V码及其前3个码都为0码,再将所有的-1变为1后,便可恢复原始信息代码。 HDB3码的特点是明显的,它既保留AMI码无直流分量,便于直

19、接传输的优点,又克服了长连0串(连0的个数最多3个)的出现,HDB3码的频谱中既消除了直流和甚低频分量,又消除了方波中的高频分量,非常适合基带传输系统的特性要求。因此,HDB3码是目前实际系统中应用最广泛的码型。3 HDB3编码器的FPGA实现3.1 HDB3编码的设计思路在数字基带传输系统中,从信号源输出的信号一般是用“0”和“1”两种状态表示的单极性NRZ码。因此看来,HDB3编码器的主要转换对象就是NRZ码。由HDB3码的编码规则可知,编码器的主要工作就是按AMI码对信号进行编码,判断是否应该加入破坏符V,V加入后是否应该补B,由于需要检查到四位连“0”才能进行加V补B的操作,这样用于存

20、放数据的移位寄存器就不能少。这个设计的难点在于加V和补B的判决。HDB3编码设计框图如图3所示。图3 HDB3编码设计框图设计思路如下:1、对输入为1码元交替翻转编码,即依次在H+和H-端口输出1。2、对输入为0码元同时在H+和H-端口输出0。3、当连续输入4个0码元,且与上一个连续0码元之间1码元为奇数个时,第四个0码元改为1码元,且与之前1码元的最后一个1码元同极性,即:在同端口输出。4、当连续输入4个0码元,且与上一个连续4个0码元之间1码元为偶数个时,第一个0码元改为1码元,与之前1码元的最后一个1码元反极性,即:在不同端口输出。由以上设计思路,一列NRZ码经编码后应该产生的H+、H-

21、如下:NRZ码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 HDB3码:-1 0 0 0 -V +1 0 0 0 +V -1 +1B 0 0 -V +B 0 0 +V -1 +1 H+ : 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 H- : -1 0 0 0 -1 0 0 0 0 0 -1 0 -1 0 0 -1 0 0 0 0-1 03.2 HDB3编码的VHDL语言设计1、逐位处理输入输出数据,即:每输入一比特数据就判断处理,并在H+和H-端口同时输出一位比特脉冲。2、为了能修改含本时钟之前4个时钟

22、周期的输出比特,建立一个4位移位寄存器保存输入数据temp。3、输出“1”时,确定下次1码元输出端口的确定,即极性是+或-;每输入一个“1”,极性反转一次,记录信息county。4、检测当前是否为连续“0000”,记当前零个数count0。5、记录两个连续“0000”之前连续1的个数记数count1,(即奇偶数)。6、要记录两个连续“0000”之前连续1的个数,需要知道第一个“0000”已经出现,建立第一个“0000”已经出现的标志位count2。7、更新“B00V”“000V”时,更新信息count0,count1,county。3.3 HDB3编码的VHDL程序HDB3编码的VHDL程序见

23、附录一。3.4 HDB3编码的仿真波形HDB3编码的仿真波形图如图4所示。图4 HDB3编码的仿真波形如图4所示,clkin为占空比为50%的取样时钟;clkout为把输入的clkin输出,给下级的解码做采样时钟;dataouthh为输出的H+;dataouthl为输出的H-。从datain按采样时钟下降沿读出NRZ码。如下所示:NRZ码:01010111 0 1 0000 0000 0 11 0000 1 0000NRZ码共30位,前10位(“0101011101”)目的为了验证程序能否对输入为1码元交替翻转编码,依次在H+和H-端口输出1;对输入为0码元同时在H+和H-端口输出0。第11位

24、到第14位(“0000”)是为了验证程序能否判断第一个“0000”;从NRZ前10位可以读出1的个数为(6偶数),如果程序不能判断第一个“0000”,则产生的HDB3码为“B00V”,而第一个“0000”正确产生的HDB3码为“000V”。第15位到19位(“0000”)是为了能否判断两个连续“0000”之间“1”的个数为0(偶数)时,输出的HDB3码是否正确。第22位到25位(“0000”)是为了能否判断两个连续“0000”之间“1”的个数为2(偶数)时,输出的HDB3码是否正确。第26位到30位(“0000”)是为了能否判断两个连续“0000”之间“1”的个数为1(奇数)时,输出的HDB3

25、码是否正确。由读出的NRZ,求出理论HDB3码。如下所示:理论HDB3码:0+10-10+1-1+1 0 -1 000-1 +100+1 0 -1+1 -100-1 +1 000+1从dataouthh按采样时钟下降沿读出H+;从dataouthl按采样时钟下降沿读出H-。如下所示:H+:01000101 0 00000 1001 0 0 1 0000 1 0001H-:00010010 0 10001 0000 0 1 0 1001 0 0000H+、H-叠加得出实测HDB3码。如下所示:实测HDB3码:0+10-10+1-1+1 0 -1 000-1 +100+1 0 -1+1 -100-

26、1 +1 000+1实测HDB3码和理论HDB3码相同,所以HDB3编码的VHDL语言设计成功。4 HDB3译码器的FPGA实现4.1 HDB3码译码的设计思路由编码原理可知,只要将HDB3码中的V、B变成0、1,就可以实现译码。根据前面的HDB3编码输出“V”码的极性与前面的非“0”码的极性相同,当FPGA检测到相邻2个非“0”符号极性相同时,就可以判断出前非“0”符号为“V”符号。再判断与“V”码相邻的非零码是“1”还是“B”码。根据“V”码与它前面的3位的寄存器的值则可以知道,当3位数据都为“0”时,则“V”码前的非零信号为基带信号“1”,如果与“V”码相邻的前面2位寄存器的值为“0”,

27、则“V”码前的非零信号即为补信码“B”。HDB3译码设计框图如图5所示。图5 HDB3译码设计框图4.2 HDB3译码的VHDL语言设计 对输入的H+、H-和HDB3(H+)OR(H-)分别设立一个五级缓存移位寄存器,判断HDB3(H+)OR(H-)寄存器存在“10001”或“1001X”时,H+、H-寄存器是否有且只有一个存在“00000”或“0000X”,如果存在则HDB3(H+)OR(H-)寄存器改成“10000”或“0000X”。再将HDB3(H+)OR(H-)寄存器第5位输出。4.3 HDB3译码的VHDL程序HDB3编码的VHDL程序见附录二。4.4 HDB3译码的仿真波形HDB3

28、译码的仿真波形图如图6所示。图6 HDB3译码的仿真波形如图6所示,clkin为占空比为50%的取样时钟;dataoinhh为输入的H+;datainthl为输入的H-;dataout为输出的NRZ码。从datainhh按采样时钟下降沿读出H+。从datainll按采样时钟下降沿读出H-。如下所示:H+:00100 10000 1 0001 01 0000 1001 01H-:10001 00001 0 0000 10 1001 0000 10H+、H-分别27位,前5位H+(“00100”)、H-(“10001”)目的是为了判断当H+寄存器存在“10001”时,程序是否会误判存在“1000V

29、”;第6位到第10位H+(“10000”)、H-(“00001”)目的是为了判断当HDB3(H+)OR(H-)寄存器存在“10001”时,程序是否会误判存在“1000V”;第11位到第15位H+(“10001”)、H-(“00000”)目的是为了判断程序能否正确识别“1000V”;第18位到第21位H+(“0000”)、H-(“1001”)和第22位到第25位H+(“1001”)、H-(“0000”)目的是为了判断程序能否正确识别“B00V”。由读出的H+、H-,求出测量的HDB3码,再由理论HDB3码计算得出理论NRZ码。如下所示:实测HDB3码:+10-10+1 -1000+1 -1 00

30、0-1 +1-1 +100+1 -100-1 +1-1理论NRZ码: 1 0 11 1 1000 1 1 000 0 1 1 000 0 000 0 1 1从dataout按采样时钟下降沿读出NRZ码。如下所示:实测NRZ码: 1 0 11 1 1000 1 1 000 0 1 1 000 0 000 0 1 1实测NRZ码和理论NRZ码相同,所以HDB3译码的VHDL语言设计成功。4.5 HDB3编译码器测试4.5.1 HDB3编码器和译码器在顶层文件连接把HDB3编码器程序和HDB3译码器程序生成元器件,新建Block Diagram/SChematic File文件,在里面对HDB3编码

31、器和HDB3译码器进行连接。如图7所示。图7 HDB3编译码器原理图4.5.2 HDB3编译码器的仿真波形HDB3编译码器的仿真波形图如图8所示。图8 HDB3编译码器仿真波形图如图8所示,clkin为占空比为50%的取样时钟;datain为输入的NRZ码;dataout为输出的NRZ码。从datain按采样时钟下降沿读出NRZ码。如下所示:实测输入NRZ码:10101 10001 1 0000 11 0000 0000 11观察图8中dataout可以发现,dataout向左移位5个取样时钟频率周期,则和datain完全相同。实测输出NRZ码如下所示。实测输出NRZ码:10101 10001

32、 1 0000 11 0000 0000 11实测输入NRZ码和实测输出NRZ码相同,HDB3编译码器设计成功。结束语本文主要是用FPGA来实现HDB3码的编码和译码器。利用EDA技术进行设计,重点在于实现HDB3的编码过程和译码过程的处理,用VHDL对其功能进行描述。由于HDB3码是双极性码,而FPGA只能处理单极性。因此在实际应用中须外加辅助电路,使单双极性实现相互转换。本文对此不做介绍,主要对FPGA可实现的程序部分进行详细分析叙述。最后,通过QuartusII对其各个功能进行仿真,验证整个设计的正确性。但由于利用EDA对电子系统进行设计的经验不多,本设计只实现对HDB3码进行简单的编译

33、功能,但整个设计程序显得有点复杂。在这个设计过程中,完整的实现HDB3编译码的功能,令我获益不少。由于受现在所学的知识的限制,对EDA的展望待进一步作深入研究,通过学习与实践,积累更多的知识与设计经验,把整个设计再进行功能的完善,再使逻辑算法更加简化从而提高整个系统的效率。参考文献1 曹志刚,钱亚生,现代通信原理M,北京:清华大学出版社,19922 樊昌信、张甫翔、徐炳祥,通信原理M,北京:国防工业出版社,20013 张会生、陈树新,现代通信系统原理M,北京:高等教育出版社,20024 曹志刚、钱亚生,现代通信原理M,北京:清华大学出版社,19925 张辉、曹丽娜,现代通信原理与技术M,西安:

34、西安电子科技大学出版社,20026 刘皖、何道君、谭明,FPGA设计与应用M,北京:清华大学出版社,20067 曾繁泰、李冰,李晓林,EDA工程概论M,北京:清华大学出版社,20028 潘松,王国栋,VHDL实用教程M,成都:电子科技大学出版社,20009 曾繁泰,候亚宁,崔元明,可编程器件应用导论M,北京:清华大学出版社,200110 赵鑫、蒋亮,VHDL与数字电路设计M,北京:机械工业出版社,200511 蒋青、吕翔,一种基于FPGA技术HDB3译码器的设计J,微电子学,200712 段吉还、黄智伟,基于CPLD/FPGA的数字通信系统与设计M,北京:电子工业出版社,2004致 谢感谢老师

35、给予我们此次锻炼自己的机会,也感谢老师设计制作过程中给于我们的无私帮助,循循善诱,最后衷心感谢老师对我们的严格要求。感谢等同学对我程序的指点和修改。在设计调整的过程中难免会着急会烦躁,情绪难免会恶化,感谢三个队友在合作过程中的宽容与谅解。在交流沟通时,大家难免会急于表达自己的观点,感谢在团队意见的磨合中,大家都能理性客观的对待问题,一起完成了此次课程设计的任务,并且也在此次课程设计中加强了大家的团队协作能力。附 录附录一 HDB3编码程序-HDB3编码-输入2.048Mb/s数据流-占空比为50%的取样时钟-输出为两路双极性数据流library ieee;use ieee.std_logic_

36、1164.all;use ieee.numeric_std;use ieee.std_logic_arith;entity HDB3 isport(clkin:in std_logic; datain:in std_logic; dataouthh:out std_logic; dataouthl:out std_logic; clkout:out std_logic); end HDB3;architecture behavior of HDB3 isbegin process(clkin)variable count0,count1,count2:integer:=0 ;variable

37、county:boolean;variable temp:std_logic_vector(3 downto 0);beginif clkin'event and clkin='0' then if datain='1' then-输入为1时处理4位寄存器 count0:=0; temp(0):=datain; count1:=count1+1; if temp(3)='0' then-首位0 处理 输出 dataouthh<='0' dataouthl<='0' else if county

38、then-首位1处理 输出 dataouthh<='1' dataouthl<='0' county:=not county; else dataouthh<='0' dataouthl<='1' county:=not county; end if; end if;else temp(0):=datain;-输入为0时处理4位寄存器 count0:=count0+1; if count0=4 then-检测到0000,处理 4位寄存器 count0:=0; count1:=(count1 rem 2);-

39、两个四连零 间 1 的 奇偶 if (count1=1)OR(count2=0) then-两个四连零 间 1 的 奇偶 count1:=0; count2:=1; temp:="0001" dataouthh<='0'dataouthl<='0'county:=not county;else count1:=0; -两个四连零 间 1 的 偶 temp:="1001" if county then dataouthh<='1' dataouthl<='0' else dataouthh<='0' dataouthl<='1' end if; end if; else if temp(3)='0' then-未检测到0000 处理输出 dataouthh<='0' dataouthl<='0' else if count

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论