《数字通信原理》课程设计说明书基于FPGA的HDB3的编译码系统设计学院:学生姓名:指导教师:专业:班级:学号:完成时间:摘要一般由信源发出的数字基带信号含有丰富的低频分量,甚至直流分量,这些信号往往不宜直接用于传输,易产生码间干扰进而直接影响传输的可靠性,因而要对其进行编码以便传输。FPGA(现场可编程门阵列)作为一种新兴的可编程逻辑器件,具有高集成度、成本低、可靠性高、开发周期短、可重复编程等特点,能将编解码电路集成在一片芯片上。HDB3码(三阶高密度双极性码)具有解码规则简单,无直流,低频成份少,可打破长连0和提取同步方便等优点。基于上述情况,本文提出了基于FPGA的HDB3编译码设计方案。本文先对HDB3码、VHDL语言、FPGA器件和EDA技术进行简述。然后介绍HDB3码的编译码原理以及其特点。最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。关键词:HDB3码;FPGA;EDA;VHDL;编译码目录1绪论11.1引言11.2EDA技术11.3FPGA芯片21.4VHDL硬件描述语言22HDB3码的介绍和编译码规则32.1选择HDB3码的理由32.2HDB3码的介绍32.2.1单极性不归零码(NRZ-L)32.2.2双极性不归零码(Bi-NRZ)32.2.3交替传号极性码(AMI)32.2.4三阶高密度双极性码(HDB3)42.3HDB3的编译码规则42.3.1单极性不归零码(NRZ-L)的编码规则42.3.2AMI码的编码规则42.3.3HDB3码的编译码规则53HDB3编码器的FPGA实现63.1HDB3编码的设计思路63.2HDB3编码的VHDL语言设计63.3HDB3编码的VHDL程序73.4HDB3编码的仿真波形74HDB3译码器的FPGA实现94.1HDB3码译码的设计思路94.2HDB3译码的VHDL语言设计94.3HDB3译码的VHDL程序94.4HDB3译码的仿真波形94.5HDB3编译码器测试104.5.1HDB3编码器和译码器在顶层文件连接104.5.2HDB3编译码器的仿真波形11结束语12参考文献13致谢14附录15附录一HDB3编码程序15附录二HDB3译码程序181绪论1.1引言信号在信道的传输过程中,如何才能保证信号失真最小且可靠的传输是研究人员一致的目标。一个完整的通讯系统,当信号经过一定距离的传送后,总要受到干扰、移相和衰减,因而必须要对数字信号进行再生。从信源输出的信号一般是0、l两种状态的单极性NRZ码,在进行数字信号传输时,必须考虑到传输信道的特点,将信息比特变换为适合于信道传输的数字信号,即进行线路编码。由模拟信源转换而来的PCM信号,或离散信源产生的符号序列,以及数字源发出的代码,从广义角度,我们均称其为PCM编码.在PCM的基带传输系统中,存在着平衡电路和不平衡电路的变换,及远端的供电电路,这些电路中都存在着变压器,因而含有丰富的直流和低频的基带信号,这些信号就不适宜在信道中传输,否则会造成正常信号的严重畸变。为了使得终端机编码输出的由0和l组成的单极性数码流适应于传输信道的特性,还必须经过码型变换,即对信号进行编码。选择码型时一般应该考虑几方面的因素,比如从线路码流中容易提取时钟,线路码型中不宜含有直流分量,高、低频成分应尽量减少,设备应简单,易于实现码型变换和码型反变换的调试等。基于此,人们又在考虑能不能有一种更好的方法来弥补这一不足之处。FPGA具有编程灵活的特点,能够在不大改动系统平台的情况下具有改变系统特性和行为的灵活性,因而能完成对实时信号的处理;同时FPGA作为一种新兴的高密度可编程逻辑器件,可以将编码与解码电路集成在一片FPGA芯片上,它的体积小,其结果大大提高了系统的集成度。HDB3码的具有其译码规则简单,便于时钟的提取,无直流分量,实现的电路也远比采用曼彻斯特编码方式简单等优点。本文主要就是要研究如何在一片FPGA芯片上实现HDB3编译码的设计。1.2EDA技术EDA(ElectronicDesignAutomation)即电子设计自动化,它是指利用计算机来完成电子系统的设计。EDA技术研究的对象是电子设计的全过程,有系统级、电路级和物理级三个层次的设计。其涉及的电子系统是指从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此,EDA技术研究的范畴相当广泛。从专用集成电路(ASIC)开发与应用角度看,EDA软件系统应当包含以下子模块:设计输入子模块、设计数据库子模块、分析验证子模块、综合仿真子模块、布局布线子模块等。在现代电子设计技术领域种,EDA技术已成为主要的设计手段。EDA技术可把数字通信技术,微电子技术和现在电子设计自动技术结合起来,实现了硬件设计软件化,加速了数字通信系统设计的效率,降低了设计成本。1.3FPGA芯片典型的FPGA它通常包含三类编程资源:可编程逻辑功能块CLB(ConfigurableLogicBlocks),可编程I/O模块IOB(Input/OutputBlock)和可编程内部互连PI(ProgrammableInterconnect)。CLB是实现逻辑设计的基本单元,它们排列为阵列,散布于整个芯片。CLB的功能很强,不仅实现了逻辑函数,还可配置为RAM等复杂形式。IOB作为芯片上逻辑与外部封装引脚的接口,通常围绕着阵列芯片的周围。PI包括各种长度的连线和一些可编程连接开关,通过它们把各个CLB、IOB按设计要求连接起来,构成特定功能的电路。FPGA器件的功能由逻辑结构的配置数据决定,工作时,配置数据存放于片内的SRAM或熔丝上。使用SRAM的FPGA器件,工作前需从芯片外部加载配置数据。配置数据可存储于片外的EPROM或其他存储体上。用户可控制加载过程,在现场修改器件逻辑功能,即现场可编程。1.4VHDL硬件描述语言VHDL是一种超高速集成电路硬件描述语言,它提供了一个标准的,从逻辑门级到数字系统级的各抽象级描述硬件的标准文本,提供了精确的语法和语义,为集成电路及系统设计提供了形式化、层次化和规范化的描述,不仅能有效地用于CAD进行模拟,而且可作为一种精确的自然语言用于设计者之间的设计交流,它允许设计者在语言的基本作用范畴之外表示信息,尽管最初的工具在某些级(例如开关级)不能提供模拟。由于没有限制设计者必须拥有特殊的硬件技术或设计方法,该语言在工业上有着广泛的用途,它被喻为硬件描述语言中的FORTRAN,其性能是其它硬件描述语言无法媲美的。由此,VHSIC的硬件描述语言(VHSICHDL)即VHDL便诞生了,并很快被美国电气和电子工程师协会所承认。VHDL语言描述电路的行为,具有很强的电路功能描述能力,适用于大规模电子系统的设计。2HDB3码的介绍和编译码规则2.1选择HDB3码的理由发送信号设计中一个主要的问题是确定信号的线路编码类型,考虑对直流或低频受限信道,线路编码应不含直流分量;码型变换要保证透明传输,唯一可译,同时可使两端用户方便发送并正确接收原编码序列,而无觉察中间环节的形式转换,即码型选择仅是传输的中间过程;便于从接收码流中提取定时信号;所选码型以及形成波形,应有较大能量,以提高自身抗噪声及干扰的能力;码型具有一定检错能力,能减少误码扩散。所以选择HDB3码。2.2HDB3码的介绍HDB3码是由基带信号NRZ码对应的传输码AMI码改进而来。为了解HDB3码的编码规则,我们需要先了解基带信号NRZ码和传输码AMI码。2.2.1单极性不归零码(NRZ-L)单极性不归零码(UnipolarNonreturn-to-zero)的0、l码与基带信号的0电位及正电位对应,脉冲无间隔,只适于短距离传输。缺点:含有直流(DC)分量;接收判决门限为接收电平的一半,门限不稳,判决易错;不便直接从接收码序列中提取同步信号;传输时信道一端需接地(不平衡传输)。2.2.2双极性不归零码(Bi-NRZ)双极性码的0、l码与基带信号的负、正电位对应。与单极性相比,双极性不归零码(Bipolar-NRZ)优点为:从统计平均看,l、0各半,不含直流分量;两种码元极性相反,接收判决电平为0,稳定性高;可在电缆等线路不接地传送(平衡传输)。因此,Bi-NRZ码比较常用,更适合于速度不高的比特流传输,将单极性转换为双极性也较简单。缺点:不易从中直接提取同步信息;I、0不等概率时仍有直流分量。2.2.3交替传号极性码(AMI)AMI码(AlternativeMarkInversedEncoding)又称双极性方式码(BipolarEncoding)、平衡对称码或传号交替反转码,它属于单极性码的变型,当遇0码时为0电平,当遇l码时则交替转换极性,这样成为确保正负极性个数相等的伪三进制码。优点:确保无直流,零频附近的低频分量小,便于变量器耦合匹配;有一定检错能力,当发生1位误码时,可按AMI规则发现错误,以ARQ纠错;接收后只要全波整流,则变为单极性码,如果它是AMI--RZ型,可直接提取同步。缺点:码流中当连0过多时,同步不易提取。2.2.4三阶高密度双极性码(HDB3)这种码型属于伪三进制码。HDB3中3阶的含义是限制连0个数不超过3位.为减少连0数,有的做法采取扰码,按一定规则将多个连0分散,尽量使码序列随机化。有效的办法是采用HDBn(n=l,2,3),一般多使用n=3。优点:译码规则简单、无直流、低频成份少、频带较窄、可打破长连0,提取同步方便、不受信源统计特性的影响。2.3HDB3的编译码规则该设计的基带信号码型为单极性不归零码(NRZ-L),传输码型为交替传号极性码(AMI)改进的三阶高密度双极性码(HDB3),所以介绍HDB3的编译码原理前先介绍单极性不归零码(NRZ-L)和传交替传号极性码(AMI)的编译码规则。2.3.1单极性不归零码(NRZ-L)的编码规则单极性NRZ码在表示一个码元时,二进制符号1和0分别对应基带信号的正电平和零电平,在整个码元持续时间,电平保持不变。如图1所示。图1单极性NRZ-L码2.3.2AMI码的编码规则AMI码又称为平衡对称码。这种码的编码规则是:把码元序列中的―1码变为极性交替变化的传输码1、-1、1、-1、...,而码元序列中的0码保持不变。如图2所示。图2AMI码由AMI码的编码规则可以看出,由于1和-1各占一半,因此,这种码中无直流分量,且其低频和高频分量也较少,信号的能量主要集中在2Tf处,其中Tf为码元速率。此外,AMI码编码过程中,将一个二进制符号变成了一个三进制符号,即这种码脉冲有三种电平,因此我们把这种码称为伪三电平码,也称为1B/1T码型。AMI码除了上述特点外,还有编译码电路简单及便于观察误码情况等优点。但是AMI码有一个重要的缺陷,就是当码元序列中出现长连0时,会造成提取定时信号的困难,因而实际系统中常采用AMI码的改进型HDB3码。2.3.3HDB3码的编译码规则HDB3是三阶高密度双极性码,它是为了克服传输波形中出现长连0码情况而设计的AMI码的改进型。HDB3码的编码规则是:1、把码元序列进行AMI编码,然后去检查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码:100001000011000011AMI码:-10