毕业设计(论文)基于vhdl语言的hdb3码的编码和译码

上传人:r****d 文档编号:152216087 上传时间:2022-09-15 格式:DOC 页数:44 大小:421.50KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于vhdl语言的hdb3码的编码和译码_第1页
第1页 / 共44页
毕业设计(论文)基于vhdl语言的hdb3码的编码和译码_第2页
第2页 / 共44页
毕业设计(论文)基于vhdl语言的hdb3码的编码和译码_第3页
第3页 / 共44页
资源描述:

《毕业设计(论文)基于vhdl语言的hdb3码的编码和译码》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于vhdl语言的hdb3码的编码和译码(44页珍藏版)》请在装配图网上搜索。

1、摘 要伴随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。EDA的一个重要特征就是使用硬件描述语言(VHDL)来完成设计文件。诞生于1982年的VHDL语言是经IEEE确认的标准硬件描述语言,在电子设计领域受到了广泛的接受。数字基带信号的要求主要有两点,第一是对各种代码的要求,期望将原始信息符号编制成适合于传输用的码型;第二则是对所选的码型的波形的要求,期望波形适宜于在信道中传输。HDB3编码是数字基带信号传输中常用的传输码型,因其具有无直流成分,低频成分少和连零位数目最多不超过三个等明显的优点,对时钟信号的恢复十分有利而成为普

2、遍使用的基带传输码之一。本设计是在Quartus II开发环境下采用VHDL语言的,设计HDB3编码器和译码器。根据编码规则将译码器分为三个部分:插V模块、插B模块、单极性变双极性模块。根据译码规则,译码器只包含一个模块。最后,对每个模块进行仿真,实现相应功能后再进行整体仿真。关键词 HDB3 VHDL 编码 译码IAbstractThe Electronic Design Automation (EDA) technology has become an important design method of analog and digital circuit system growing.

3、 One important characteristic of the EDA As is the integrated circuit one of the standard description languages validated by IEEE, which was firstly introduced in 1982. And it was widely used by electronic designer now.The requirements of digital baseband signals are two points, The first is the req

4、uirement of various code, expected the preparation of the original information symbols used to pattern in a form suitable for transmission; The second is the requirements of the pattern of the selected waveform, expected waveform suitable for transmission in the channel.The HDB3 coding scheme is com

5、monly used in digital baseband transmission .The HDB3 code ,which has features of zero DC bias via alternating positive-negative voltage level bit by bit and no more than three continuous-zero bits , deduces the power dissipation and makes the receiving device easy to recover the clock in the transm

6、itted code stream .so my major content of graduated design is designing based on the HDB3 volume/decoder of VHDL language, the requirement that it will reach is the basic skill that can realize HDB3 volume/decoder function in software can, and can coordinate entire design, make sure it reach the req

7、uirement that anticipated. This design in Quartus II development environment uses VHDL language to design HDB3 encoder and decoder. According to the encoding rules, there are three parts in decoder: insert the module V, insert the module B, the unipolar variable bipolar module.According to the decod

8、ing rules, decoder contains only one module. Finally, the simulation of each module, it achieve the corresponding function and then achieve the whole simulation.Key words VHDL HDB3 Encoding Decoding38目 录摘 要IAbstractII第1章 绪论11.1 研究目的和意义11.2 基带传输码型简介21.2.1 AMI码21.2.2 数字双相码21.2.3 NRZ码31.3 VHDL语言简介31.3.

9、1 VHDL定义31.3.2 功能和特征41.3.3 应用优点41.4 Quartus简介41.4.1 Quartus II的产生与发展41.5 本设计的研究内容6第2章 HDB3码的编/译码的规则72.1 HDB3码简介72.1.1 HDB3码定义72.1.2 HDB3码特点72.2 HDB3码编解码器的国内外发展情况82.3 HDB3码的应用92.3.1 HDB3码测井电缆遥传系统中的应用92.3.2 HDB3码高速长距离通信92.3.3 HDB3码在基带数据传输中的应用102.4 HDB3码的编码规则102.5 HDB3码的译码规则102.6 本章小结11第3章 HDB3码编码器的建模与

10、实现123.1 插V模块的建模与实现123.1.1 设计思路123.1.2 程序设计13仿真结果143.2 插B模块的建模与实现15设计思路16程序设计17仿真结果19单极性变双极性的建模与实现20设计思路20程序设计21仿真波形22编码器的仿真23本章小结24第4章 HDB3译码器设计264.1 设计思路26程序设计27译码器的仿真27本章小结28结 论30致 谢31参考文献32附录133附录237CONTENTSAbstract(Chinese)IAbstractIIChapter 1 Introduction11.1 The Purpose And Significance Of The

11、 Research11.2 The Introduction Of Baseband And Transmission Code21.2.1 AMI Code21.2.2 Digital Phase Code21.2.3 NRZ Code31.3 VHDL Introduction31.3.1 VHDL defined31.3.2 Functions and features4 Application Advantages41.4 QUARTUS Introduction41.4.1 Production And Development Of Quartus41.5 The Content O

12、f The Design6Chapter 2 The Rules Of HDB3 Code Encoding/Decoding72.1 Introduction Of The HDB3 Code72.1.1 HDB3 Code Definition72.1.2 HDB3 Code Features72.2 HDB3 Code Codec Development At home And Abroad82.3 Applications Of The HDB3 Code92.3.1 Applications of HDB3 Code Logging Cable Telemetry System92.

13、3.2 HDB3 Code High-speed Long Distance Communications92.3.3 Applications Of HDB3 Code In The Base-band Transmission102.4 Encoding Rules Of HDB3 Code102.5 Decoding Rules Of Hdb3 Code102.6 Chapter Summary11Chapter 3 The modeling And Implementation Of HDB3 Encoder123.1 Inserted Modeling And Implementat

14、ion Of the Module V123.1.1 The Design Ideas123.1.2 The Programming13 The Simulation Results143.2 Inserted Modeling And Implementation Of The Module B15 Design Ideas16 Programming17 Simulation Results19 Into a Bipolar Unipolar Modeling And Implementation20 The Design Ideas20 The Programming21 The Sim

15、ulation Results22 Encoder Simulation23 Chapter Summary24Chapter 4 The design of HDB3 Decoder264.1 The Design Concept26 The Programming27 Decoder Simulation27 Chapter Summary28Conclusions30Acknowledgements31References32Appendix 133Appendix 237第1章 绪论数字通信的主要特点:抗干扰能力强,尤其是数字信号通过中继再生后可消除噪声积累;数字信号通过差错控制编码,

16、可提高通信的可靠性;由于数字通信传输一般采用二进制码,所以可使用计算机对数字信号进行处理,实现复杂的远距离大规模自动控制系统和自动数据处理系统,实现以计算机为中心的通信网;在数字通信中,各种消息(模拟的和离散的)都可变成统一的数字信号进行传输;在系统中对数字信号传输情况的监视信号、控制信号及业务信号都可采用数字信号1。数字传输和数字交换技术结合起来组成的ISDN对于来自不同信源的信号自动地进行变换、综合、传输处理、存储和分离,实现各种综合业务;数字信号易于加密处理,所以数字通信保密性强。数字通信的缺点是比模拟信号占带宽,然而,由于毫米波和光纤通信的出现,带宽已不成问题。目前,信道编码被广泛地应

17、用于数字通信,图像处理系统中,成为数据传输中不可缺少的部分。HDB3(High Density Bipolar)码是AMI码的改进型,具有无直流分量,少低频分量,易于提取位同步信号并具有内在的检错能力等优点,成为广泛应用于基带传输系统中的码型,:2Mb/s,8Mb/s和34Mb/s的数字接口均采用HDB3码,因此设计一个稳定的HDB3码的编译码器就显得很有价值2。市场上虽有专用的CD22103A芯片,但是该芯片只具有编译码功能,在使用时需另配位同步提取和电压极性转换电路,不利于系统的集成。在本论文中,我用VHDL语言进行了对HDB3码的编码和译码。 研究目的和意义随着科学技术的不断发展,数字通

18、信在日常生活中到处可见,在数字通信中编解码器的应用更是很广泛。编解码器经常用在视频会议和流媒体等应用中,通常主要还是用在广电行业,作前端应用。编解码器是在同一装置中,由工作于相反传输方向的编码器和解码器构成的组合体。大多数编解码器是有损的,目的是为了得到更大的压缩比和更小的文件大小。而HDB3码因具有无直流成分,低频成分和连0个数最多不超过三个等明显优点,对定时信号的回复十分有利,而成为普遍使用的基带传输码之一3。与其他硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的

19、重要保证。文中结合HDB3的编码规则,给出了一种使用VHDL语言实现HDB3编码的思路和方法。 基带传输码型简介作为传输用的基带信号归纳起来有如下要求:第一,希望将原始信息符号编制成适合于传输用的码型;第二,对所选码型的电波形,希望它适宜于在信道中传输。可进行基带传输的码型较多,本节主要介绍几种常用的码型。1.2.1 AMI码AMI码称为传号交替反转码。HDB3码就是有它改进而成的。AMI码的编码规则为代码中的0仍为传输码0,而把代码中的1交替的变换为传输码的+1-1+1-1,1。二进制数0以零电平表示,数1交替地用正负极性电平表示。接收端极性规律遭到破坏时便判为出现误码,因此AMI码具有自检

20、错能力。在常规状态下,同步信息用数字锁相环便可很容易地提取出来,但如果在数据流中连续出现多个0,则同步信息难以提取,在系统同步工作以前部分数据将会丢失,故AMI码有以下特点:1无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。2编码电路简单,便于观察误码状况。3由于它可以出现长的连0串,因而不利于接收端的定时信号的提取。 数字双相码在本文中很好的利用了双相码解决了设计时遇到的Quartus II仿真软件中不能出现“-1”的这个问题,接下来我将介绍数字双相码。数字双相码的编码规则是:用分别持续半个码元周期的正负电平组合表示信码“1”;用分别持续半个码元周期的负正电平组合表示信码“0”。

21、双相码要求每一位中都要有一个电平转换。因而这种代码的最大优点是自定时,同时双相码也有检测错误的功能,如果某一位中间缺少了电平翻转,则被认为是违例代码。曼彻斯特码(Manchester Code)是一种双相码。我们用高电平到低电平的转换边表示“0”,而用低电平到高电平的转换边表示“1”,位中间的电平转换边既表示了数据代码,也作为定时信号使用曼彻斯特编码用在以太网中。差分曼彻斯特码,这种编码也是一种双相码,和曼彻斯特编码不同的是,这种编码的码元中间的电平转换边只作为定时信号,而不表示数据。数据的表示在于每一位开始处是否有电平转换:有电平转换表示0,无电平转换表示1,差分曼彻斯特编码用在令牌环网中。

22、由曼彻斯特和差分曼彻斯特码这两种双相码的每一个码元都要调制为两个不同的电平,因而调制速率是码元速率的两倍。这无疑对信道的带宽提出了更高的要求,所以实现起来更困难也更昂贵,但由于其良好的抗噪声特性和自定时能力,所以在局域网中仍被广泛使用。1 NRZ码本文主要讨论的就是怎样将NRZ码变成HDB3码。故以下将介绍NRZ码。数字通信的根本任务是远距离、准确地传输数字信息。在数字通信终端设备中,传输不同的信息速率,选择何种线路传输码型,对数字线路的传输质量、适合性和经济性就显得十分重要。NRZ码(non-return to zero),即单极性不归零码,是数字基带信息常用的码型。不归零码的规律是当“1”

23、出现时电平翻转,当0出现时电平不翻转。因而数据“1”和“0”的区别不是高低电平,而是电平是否转换这种代码也叫差分码,用在终端到调制解调器的接口中。这种编码的特点是实现起来简单而且费用低,但不是自定时的。NRZ码缺点很多:含有直流成分,低频成分较大;接收时的判决门限为接收电平的一半,门限不稳定,判决容易出错;不便直接从接收码序列中提取同步信号。基于以上缺点,NRZ码不适合用于进行信道传输2。1.3 VHDL语言简介 VHDL定义VHDL(VHSIC Hardware Description Language)是一个详细且庞大的硬件描述语言。它在20世纪80年代后期由美国国防部开发,并成功地应用在

24、软硬件系统的仿真、验证和设计综合等领域,对于实际自动化的发展起到了极大的促进和推动作用。VHDL语言在硬件设计领域的作用将与C和C+在软件设计领域的作用一样,在大规模数字系统设计中,它将逐步取代如逻辑状态表和逻辑电路等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将设计者的产品上市带来创记录的速度。 功能和特征1.VHDL语言是芯片供应商和CAD工具用户的交流媒介。2.VHDL语言可以作为不同CAD工具和CAE工具的通信媒介。3.VHDL语言支持层次设计。4.VHDL支持灵活的设计方法。5.VHDL支持同步和异步时序模型。6.V

25、HDL语言支持三种不同的基本描述风格:结构、数据流和行为。 应用优点应用VHDL进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个开发组共同并行

26、工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计4。 Quartus简介 Quartus II的产生与发展Quartus 软件包是MAX+plus的升级版本,Altera公司的第四代开发软件。它在一个单一、标准的设计环境里提供一整套综合、优化及验证工具,其功能十分强大。Quartus 提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发

27、,并且为第三方工具提供了无缝接口。Quartus II软件和MAX + PLUS II相比较更加可靠,用户界面更加友好,特别是在仿真,节点发现和引脚分配等方面,而且它图形激励生成器比第三方的仿真工具更快、更有效,转换设计非常简单,在很短的时间内,就可以适用到目标器件中。Quartus II软件不但支持MAX和FLEX、ACEX系列产品,还支持新的MAXII系列以及最新的Cyclone、Stratix和Stratix II系列的FPGA。比MAX + PLUS II提供更好的平均性能表现。对给定的MAX设计,平均设计性能快15% ,所需器件资源平均少5%;一体化RTL综合不仅支持AHDL,还支持

28、最新的VHDL和Verilog语言标准。Quartus II集成开发软件适合多种平台的工作环境,其中包括PC机的Microsoft Windows XP。它支持更多种类的可编辑逻辑器件的开发,同时也提供在可编程系统设计的综合性环境恶化基本设计工具。另外,Quartus II集成开发软件也可以利用第三方软件的结果并支持第三方软件的工作。为加快应用系统的开发,Quartus II集成开发软件提供更多的知识产权模块。知识产权模块(IP)是一些预先设计好的电路功能模块,在设计中实验这些模块不仅可以加快设计进程,而且还可以提高系统性能。Quartus II集成开发软件的核心是模块化的编译器。编译器包括的

29、功能模块有分析/综合器(Analysis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)以及EDA网表文件生成器(EDA Netlist Writer)等。Quartus II集成开发软件允许用户在开发过程中使用Quartus II图形用户界面、EDA工具界面和命令行界面。用户可以在整个开发过程中使用这些界面的任意一个,也可以在开发工程中的不同步骤使用不同的界面5。 Quartus II功能概论作为一种电子设计自动化(EDA)的工具,Quartus II可编辑逻辑器件

30、的集成开发软件支持可编辑逻辑器件开发的全过程。这个过程包括一下步骤:创建工程,工程用来组织整个可编辑逻辑器件的开发的过程;设计输入,用硬件描述语言通过文本编辑的方法完成电路设计;设计编译,把设计输入转换为支持可编程逻辑器件编程的文件格式;设计仿真,该步骤用来检查设计是否满足逻辑要求;器件编程,使用可编程逻辑具有所要求的逻辑功能。 本设计的研究内容VHDL(超高速硬件描述语言)是一标准化的硬件描述语言。采用VHDL设计的电路通常可以在单个可编程芯片上实现,并且设计过程与传统方式相比极为方便快捷。使用VHDL进行电子系统设计,可以使用自顶向下的模块化设计方法,设计成果标准化,可移植性好6。采用VH

31、DL语言在Quartus仿真软件中实现HDB3的编码方法,大大节省了电路版图。本设计给出了一种使用可编程逻辑电路实现的HDB3编码,可广泛使用于数字基带信号的传输,也可用于数字光端机集成电路的G.703接口。由于使用VHDL设计电路具有设计周期短,易于修改,节省费用等优点,现在已经被广大的通信设备研究人员所采用。基于上述情况,本文提出了基于VHDL的HDB3码编译码的设计方案。基于VHDL语言,分别设计HDB3码的编码器模块和译码器模块,其中编码器包括插V模块、插B模块、单极性变双极性模块。最后实现编码器和译码器的功能仿真。第2章 HDB3码的编/译码的规则2.1 HDB3码简介数字信号的传输

32、方式有两种:一种是基带传输,另一种是频带传输。在基带传输系统中,因为信道往往存在隔直流电容或耦合变压器,使得基带信号中的低频和直流成分难于通过。因此,并非所有原始基带数字信号都能在信道中传输。为了在传输信道中获得优良的传输特性,一般要将信号变换成满足于信道传输特性的传输码(又叫线路码),即进行适当的码型变换。通常,在设计数字基带信号码型时应考虑以下原则:(1)码型中低频、高频分量尽量少;(2)码型中应包含定时信息,以便定时提取;(3)码型变换设备要简单可靠;(4)码型具有一定检错能力,若传输码型有一定的规律性,就可根据这一规律性来检测传输质量,以便做到自动检测;(5)编码方案对发送消息类型不应

33、有任何限制,适合于所有的二进制信号, 这种与信源统计特性无关的特性称为对信源具有透明性;(6)低误码增殖,误码增殖是指单个数字传输错误在接收端解码时,造成错误码元的平均个数增加,从传输质量要求出发,希望它越小越好;(7)高的编码效率。以上几点并不是任何基带传输码型均能完全满足的,常常是根据实际要求满足其中的一部分。本文采用则是的HDB3码,以下介绍HDB3码。.1 HDB3码定义HDB3(High Density Bipolar of order 3code)码的全称是三阶高密度双极性码,又称四连“0”取代码,它是一种AMI码的改进型,HDB3码保持了AMI 码极性反转的特点,且减少了连“0”

34、的长度,有利于接收端从基带信号中提取定时信息,低频成分少,提取同步时钟方便,有内在检错能力等优点,是CCITT(国际电报 咨询委员会)推荐的使用码型之一,广泛的应用于数字基带通信7。.2 HDB3码特点HDB3码有以下特点:基带信号无直流成分,且只有很小的低频成分;连0串符号最多只有3个,利于定时信息的提取;不受信源统计特性的影响,对定时信号的恢复十分有利,而成为普遍使用的基带传输码之一。在AMI码中,如果连续的较长的一段序列为“0”码, 则接收端会因为长时间无交替变化波形的控制而失去同步信号,而HDB3 码克服了AMI码的上述缺点。此外,HDB3码还具有频谱能量主要集中在基波频率以下,占用频

35、带较窄等特点。2.2 HDB3码编解码器的国内外发展情况1998年,在34MbsDQDB(分布式排队双总线)城域网中,电接口采用HDB3码。对该接0电路进行了实际的设计,并对其中的时钟提取电路进行了理论分析和实验。通过测量表明,电路设计是可行的。2006年针对复杂大规模可编程器件的特点,提出了一种新的HDB3编译码器的实现方法。在Quartus,采用硬件编程语言VHDL,实现了HDB3编译码器的设计,经过仿真验证,其功能符合HDB3编译码的要求。2007年分析了HDB3译码器的原理,提出了一种基于FPGA技术的HDB3码译码器的快速实现方法。在此基础上,选用Max+plus II平台和Alte

36、ra公司MAX7000器件EPM7096LC68芯片,设计实现了一个串行输入、串行输出的HDB3译码器。实践证明,此方法具有设计简单、快速、高效和实时性强等特点。2007年,通过对HDB3码的编解码原理的分析,提出了一种基于硬件描述语言的实用的NRZ to HDB3集成编解码器设计。此设计涵盖HDB3码的编码、解码、双通道工作以及内建自测(BIST)功能,同时具有Power-on ResetMode-Change机制,为基带信号传输提供了实用的解决方案。在实际测试中,本编解码器运行稳定可靠,可作为黑盒嵌入SOC。2008年已经提出了一种适合于在现场可编程门阵列FPGA上实现的HDB3编译码器的

37、硬件实现方案,在FPGA上完成了布局布线和时序仿真,最后给出了仿真和实验结果。结果表明该方案切实可行,编译码器运行稳定可靠,已用于实际项目中。2008年,针对现有HDB3(三阶高密度双极性)编码器中存在编码复杂、输出延时长等缺陷,提出了一种基于分组编码、统一极性判断和位置极性判断的HDB3编码器快速设计方法,并相应提出了基于极性判别的快速译码设计方法,避免了译码过程中的取代节检测。在Quartus,提出的编译码方法具有消耗资源少、工作速度快的优点,与现有方法相比,编码和译码占用的逻辑单元数分别减少25%和40%,扇出数分别减少29.4%和50.9%.经实际测试,编译码器功能正确,可用于实际电路

38、中。2009年提出了一种用EP2C5T144C8现场可编程门阵列(FPGA)实现满足E1信号规范的HDB3码编码器的设计方法,并应用于数字通信系统。结果表明,在2048kb/s时钟速率下实际运行,3码用于E1信号的规范,E1信号是由64kb/s的数字基带信号32路时分复用成码速率为2048kb/s的PCM一次群信号。我国和欧洲的电信传输网采用E1信号一次群传输系统。2.3 HDB3码的应用 HDB3码测井电缆遥传系统中的应用国内外石油勘探领域中电缆测井的数据通信通道通常是恺装的七芯电缆。然而,受电缆自身性能及制造工艺的限制,以及井下高温、高压及冲击、振动和井下空间狭小等恶劣环境的影响,长期以来

39、,测井电缆数据传输速率低,信号衰减、失真及干扰比较严重,而且数据容量、带宽也有限。测井电缆数据传输的问题已经成为制约现代测井系统发展的瓶颈。因此,对数据编码调制方式及适合石油测井实际应用环境的高速数据通信系统的研究,显得很有意义。目前,测井电缆遥传系统的编码方法是曼彻斯特编码。曼彻斯特码的接收电路简单可靠,但频带利用率不高。特殊的井下环境要求井下测井仪器的尺寸小、可靠性高而且具有高速数据传输能力。新型三阶高密度双极性码(HDB3)的传输速率是曼彻斯特码的2倍,而且检错能力强,误码率低。基于HDB3码的测井电缆遥传系统是将HDB3编码、解码及其相关的控制逻辑集成于CPLD中,从而减小了传输系统的

40、几何尺寸。用时域均衡技术把测井电缆的传输带宽扩展到125kHz左右。所以,这种基于HDB3码的测井电缆遥传系统完全可以满足数控测井仪的100kbits的基本数据传输速率要求。 HDB3码高速长距离通信常用的NRZ码不适合在高速长距离数据通信的信道中传输,因而选用了另外一种编码HDB3码。HDB3码是串行数据传输的一种重要编码方式。和最常用的NRZ码相比,HDB3具有很多优点,例如:消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于长距离信道传输8。 HDB3码在基带数据传输中的应用由于HDB3码具有良好的传输特性,因此,在各种基带传输系统中得到了广泛的应用。特别是在PCM

41、系统和高速数据传输系统中应用甚广,在较低速率的基带数据传输中也使用得较多。根据我国计算机资源不够丰富,且通信事业也不够发达的国情,因而在开展数据通信网的建设过程中,必然会出现某些终端设备远离主机的情况。所以,总是希望传输设备能具有较大的传输距离7。 HDB3码的编码规则从消息代码到HDB3码的编码规则是:(1)将消息代码变换成AMI码。(2)检查AMI码中的0情况,当无4个或4个以上的连0串时,则保持AMI码的形式不变。(3)当代码序列中出现4个或4个以上的连“0”码时,则将连“0”段按4个“0”分节,即“0000”为一节,并使第4个“0”码变为“1”码,用V脉冲表示,且V脉冲的极性与前一个“

42、1”脉冲的极性相同,称V为破坏码,“000V”为破坏节。(4)当所得序列中2个相邻破坏码V之间“1”脉冲的个数为偶数,则还需将第二个破坏节中的第一个“0”码变为“1”码,用B脉冲表示。这时破坏节就变为“B00V”形式。B脉冲的极性与其前一个“1”脉冲的极性相反,而与其后的V脉冲极性相同9。 HDB3码的译码规则HDB3码的译码是编码的逆过程,其译码相对于编码来说简单些。从其编码原理可知,每一个破坏符号V总是与前一非0符号同极性(包括B在内)。这就是说,在接收端译码时,由两个相邻的同极性码,找到破坏脉冲V,同极性码中后面那个码就是V码。由V码向前的第三个码,如果不是0码,表明它是B码,把V码和B

43、码去掉后留下的都是信码, 再进行全波整流,将所有的“-1”变成“+1”后就得到原消息代码。2.6 本章小结本章主要介绍HDB3码的定义,特点和它在现实生活中的应用,HDB3码编译码器的国内外发展情况。此外还介绍了编码规则和译码规则,从大体上介绍了这篇论文的设计。第3章 HDB3码编码器的建模与实现本设计的思想不是像前面编码规则那样首先把代码串变换成AMI码,因为完成插V插B工作之后,其后的“+1”和“-1”的极性还要依据编码规则的规定变换。这样做需要大量的寄存器,同时电路结构也变得复杂。若把信号处理的顺序换一下:首先完成插V工作,接着执行插B工作,最后实现单极性变双极性的信号传输。这样做的好处

44、是:输入进来的信号和插V插B功能电路中处理的信号都是单极性信号,切需要的寄存器的数目可以很少。另外,如何准确识别电路中的“1”,V和B。因为V和B符号是人为标志的符号,但在电路中最终的表现形式还是逻辑电平“1”。解决的方法是利用了双相码,将其用二进制代码分别表示。双相码的编码规则:他是对每个二进制代码分别利用两个不同相位的二进制码取代。HDB3码的编码器模型框图见图3-1。图3-1编码数据流波形及HDB3编码模型整个HDB3编码器包含3个功能部分;插V,插B和单极性码转变成双极性码。各部分之间采用同步时钟作用,并且带有一个异步的复位(清零)端口。下面详细介绍各个部分的设计流程、编写的源程序及用

45、软件模拟仿真的波形图。3.1 插V模块的建模与实现 设计思路设计流程如图3-3所示,当出现四个连“0”串的时候,把第四个“0”变换成为符号V(V可以是逻辑1-高电平),而在其他情况下,则保存消息代码的原样输出。同时为了减少后面工作的麻烦,在进行插V时,用“11”标识它,“1”用“01”标识,“0”用“00”标识。假设输入一串代码,根据设计思想,输入代码与插入V符号之后的关系如表3-2所示。从表中可以看出,插入V后,原代码变成了双极性码,其规律是:“1”码用“01”代替,“0”码用“00”或“11”代替,而具体是用“00”还是“11”,要根据信息码中是否出现4连“0”,如果有四个以上的“0”码,

46、 则第四个“0”码用“11”代替,其它用“00”代替。图3-2插入V后码型图3-3插V符号流程图3.1.2 程序设计插V符号的进程如下:add_v:process(clk,clr)beginif(rising_edge(clk)thenif(clr=1)thencodeoutv=00;count0codeoutv=01;count0if(count0=3)thencodeoutv=11;count0=0;elsecount0=count0+1;codeoutvcodeoutv=00;count0=count0;end case;end if;end if;end process add_v;具

47、体程序见附录1。这个程序设计了一个计数器count0,用来作为应插V符号的标志。当输入是“1”时输出则为“01”;当输入的是“0”时,就要考虑count0此时的值。若为3则输出为“11”即插入符号“V”;若小于3则输出“00”。在进程process中,通过条件控制开关(case语句)完成插V功能。这里使用了一个技巧来实现流程的控制,即在选择语句(case语句)中嵌套了条件判断语句(if语句)来控制双重条件判断的执行结果。仿真结果图3-4插V符号仿真图形如图3-4,仿真中,clk上升沿有效,故赋值时应注意要在上升沿时变动才是有效的。clr高电平有效,clr是高电平是输出则为“0”,是低电平时则正

48、常输出。成功实现将4个连“0”的第四个“0”变成V,其他则按原码输出。其中,利用“11”即“V”代替第四个“0”。图4中,输入是“1111”,输出是“”。由于清零是高电平,所以最前面的四个代码输出是“0”。图3-5插V码模块的模型图3-6插V码模块的rtl级电路3.2 插B模块的建模与实现设计思路从编码规则来分析,这个设计的难点之一是如何决判是否应该插“B”,因为这涉及到由现在时间的状态决定过去时间状态的问题。按照实时信号处理的理论,这是没办法实现的。但在实际的电路中,可以考虑用寄存器的方法,首先把信码寄存在寄存器里,同时设计一个计数器记数两个“V”之间“1”的个数,经过4个码元时间后,由一个

49、判偶电路来给寄存器发送是否插“B”的判决信号,从而实现插“B”的功能。插B模块的功能是保证插V符号的序列不破坏由于“极性交替反转”造成的无直流特性。即当相邻V符号之间有偶数个非0符号的时候,把后一小段的第一个0变成一个非破坏符号B符号。故为了实现插B功能,设计时首先用4位寄存器存前4个状态的输入和1个计数器计算1的奇偶,每当有输入时判断,如果输入1时计数器加1,如果输入0时计数器不变,当输入V时判断计数器的奇偶,如果是偶则输出B,每输出一个各寄存都右移一位10。流程图如3-8所示。从前面的程序中我们了解到,V已经用“11”代替,1用“01”取代,从这里就表现出采用双相码的优点,它轻易地解决了V

50、和1的差别。根据这个设计思想,输入代码与插V及B后的代码的关系见图3-7图3-7插入V,B后码型图3-8插B符号的流程图程序设计插B符号的进程如下:add_b:process(clkb)begin-if(rising_edge(clkb)thenif(codeoutv=11)thenif(firstv=0)thencount1=0;firstv=1;s1(4)=s1(3);s0(4)=s0(3);elseif(count1=0)thens1(4)=1;s0(4)=0;count1=0;elses1(4)=s1(3);s0(4)=s0(3);count1=0;end if;end if;elsi

51、f(codeoutv=01)thencount1=count1+1;s1(4)=s1(3);s0(4)=s0(3);elses1(4)=s1(3);s0(4)=s0(3);count1=count1;end if;end if;end process add_b;codeoutb=s1(4)&s0(4);具体程序见附录1,处理插“B”的问题的思路是:首先把码元(经插V处理过的)放入一个4位的移位寄存器里,在同步时钟的作用下,同时进行是否插B的判决,等到码元从移位寄存器里出来的时候,就可以决定是应该变换成B符号,还是照原码输出。因此,在程序的结构中进行元件声明(component declara

52、tion),调用库里的D触发器来实现延时作用。为了使程序更清晰,用了四个元件例化语句(component instantiation)-dffx;dff port map(),来说明信号的流向。所谓元件例化就是引入一种连接关系,将预先设计好的设计实体定义为一个元件,然后利用特定的语句将此元件与当前的设计实体中的指定端口相连接,从而为当前设计实体引入一个新的低一级的设计层次。在这里,当前设计实体相当于一个较大的电路系统,所定义的例化元件相当于一个要插在这个电路系统上的芯片,而当前设计实体中指定的端口则相当于这块电路板上准备接受此芯片的一个插座。元件例化是VHDL设计实体构成自上而下层次化设计的一

53、种重要途径。要进行插B判决首先要知道哪一个是V,从前面的程序中我们了解到,V已经用11代替,1用01取代,从这里就表现出采用双相码的优点,它轻易的解决了V和1的差别。仿真结果图3-9插B模块的仿真图如图3-9,在仿真中,clk下降沿有效。由于利用了两组四位的寄存器,在输入时其中前三位没有什么条件控制依次移位即可,故输入和输出会有三位的脉冲延时。由波形可看出,在相邻“V”之间有偶数个非0码时插入“B”,否则正常输出。成功实现了插B的功能。图3-10插B模块的模型图3-11插B模块的rtl级电路建模与实现设计思路根据HDB3码的编码规则,我们知道V的极性是正负交替的,余下的“1”和“B”看成为一体

54、且是正负交替的,同时满足V的极性与前面的非0码极性一致。由此我们可以将其分别进行极性变换来实现。从前面的程序知道,“V”,“B”,“1”已经分别用双相码“11”,“10”,“01”标志,所以通过以下的程序可以很容易实现。如下图所示为实现极性变换功能的流程图。根据编码规则,B符号的极性与前一非零符号相反,V极性符号与前一非零符号一致。因此将V单独拿出来进行极性变换(由前面已知V已经由11标志,所以很好与其他的代码区别),余下的“1”和“B”看成一体进行正负交替,这样就完成了HDB3的编码11。这个部分遇到的难点在与:在Quartus软件仿真过程中,它无法识别“-1”,在它的波形仿真中只有“1”和

55、“0”,因此这里采用了双相码来分别表示“-1”,“+1”,“0”。即程序中定义的“11”,“01”,“00”。这里采用双相码分别标识“-1”、“+1”、“0”,最后加一个四选一数字开关CD4052,就可以把程序中定义的“00”、“01”、“11”分别转换成“0”,“+1”,“-1”。单双极性变换的流程图如图3-12图3-12单双极变换的流程图3.3.2程序设计单双极性变化的进程如下:output:process(clk)beginif(rising_edge(clk)thenif(codeoutb=01)or(codeoutb=10)thenif(flag1b=1)thencodeout=01

56、;flag1b=0;elsecodeout=11;flag1b=1;end if;elsif(codeoutb=11)thenif(flag1b=1)thencodeout=11;elsecodeout=01;end if;elsecodeout=00;flag1b=flag1b;end if;end if;具体程序见附录1。本程序中设计了一个计数器flaglb,来计算相邻V之间的“1”的个数。单双极性变换电路HDB3码极性形成电路有两个功能:一是正常传号“B”正负交替极性的形成;二是破坏点“V”脉冲的正负交替极性的形成, 并输出HDB3码12。仿真波形图3-13单双极性变换仿真图如图3-13

57、,在仿真中,clk上升沿有效,如图所示将相邻的非0码变成正负交替的形式,其中“-1”用“11”表示,“+1”用“01”表示,“0”用“00”表示。成功的将单极性的码型变成双极性的码型。图3-14单极性变换成双极性模块的模型图3-15单极性变换成双极性模块的rtl级电路编码器的仿真根据HDB3 码的编码规则,输入与输出的编码关系见图3-16。图3-16码输入输出关系由Quartus仿真软件作模拟仿真,由于它的波形仿真中只有1和0,因此分别定义0,+1,-1和00,01,11,使仿真结果更容易观察,所以结果就分别以0,1,3代替0,+1,-1。图3-17编码器仿真图形如图3-17,在仿真中,clk

58、是上升沿有效,clr是上升沿有效。Codeoutv是经插V后的波形,codeout是最后输出的HDB3码。由于在插B模块中使用寄存器来解决由现在时间的状态决定过去事件状态的问题。所以在输出中会延迟的出现。因为用到两对4位的寄存器S0、S1,然后在输出到双位的B,在进行变换双极性后,从“codeout”输出,所以就会有4个的脉冲时钟延迟。图3-18编码器的模型图3-19编码器的rtl电路本章小结本章主要介绍了HDB3码编码的建模和实现的方法,并基于VHDL语言采用模块化的设计方法进行实现,对于HDB3码的实现本章使用了三个模块,添加破坏点V模块,添加B模块,单极性变双极性变换模块,对编码进行仿真

59、,从仿真的结果来看编码过程是正确的。从实现的过程来看,基于EDA平台上采用模块化的设计的优点是在于工作的过程中,采用模块化的设计便于查找出在编译系统时发生的错误,便于以后对系统进行升级优化13。第4章 HDB3译码器设计 设计思路双单极性变换电路有两个正负整流电路组成。整流电路提取正电平码部分;负整流电路提取负电平部分。V码检测电路包括+V码检测和-V码检测两部分。根据编码规则,V脉冲必然是同极性脉冲。当无V脉冲时,传号脉冲“+1”和“-1”交替出现。当连续出现两个“+1”或“-1”时,若无误码,则后一个一定是V脉冲。扣V扣B电路在V脉冲和同步时钟的控制下,完成扣V扣B的功能13。这样虽然可以

60、实现,但是,做起来相对麻烦一些。经过分析后,我发现译码器的输入就只几种固定的情况,只要把这几种情况一一列出,并讨论每种情况时应该怎么样赋值即可。这种思路也是需要将输入的码元分成两路,因为输入的数据是双相码,故利用两组寄存器分别来存储数据这样更方便14,也容易实现。设计流程图如图4-1:图4-1译码器设计流程图程序设计译码器的一种情况如下:if data0=1and data1=0and reg0(4 downto 1)=0001and reg1(4downto1)=0000thenreg0=00001;reg1=00000;具体程序见附录2。利用两组各五个寄存器来对是否有插V符号进行判断,例如

61、,当两组寄存器的前四位都为0001而新输入的两个数据为11,则可看出这位新输入的数据与寄存器中即四位前的数据是同号的,如此则说明这位新输入的数据是V符号,那么就果断将新输入的数据同前面三位都还原成0,而四位前的数据反映了原始信息。4.3译码器的仿真译码器模块的时序仿真波形如下图所示:图4-2译码器仿真图形如图4-2,在仿真中,clock上升沿有效,由于利用了两组五个寄存器,所以导致输出与输入相差五个脉冲延迟。当正负两轨的HDB3 数据输入后, 检查其中如果一路的数据是“0001”,二路的数据是“0000”,且下一组输入是“01”则输出数据时,一路的数据变为“00001”,二路的数据变为“000

62、00”;如果一路的数据是“0001”,二路的数据是“0001”且下一组输入是“11”则输出数据时,一路的数据变为“00001”,二路的数据变为“00000”;如果一路的数据是“001”,二路的数据是“001”,且下一组输入是“11”时,输出数据一路的变为“0000”,二路的数据变为“0000”;如果一路的数据是“001”,二路的数据是“000”,且下一组输入是“01”时,输出数据一路的数据变为“0000”,二路的数据变为“0000”。合并后输出NRZ码流, 否则直接合并。成功地实现了将HDB3码转换成消息代码。图4-3译码器的符号图4-4译码器的rtl电路本章小结本章主要完成了HDB3码译码器的建模、编程和仿真。译码的设计是根据HDB3 码的特点,首先检测出极性破坏点,即找出4 连零码中添加V 码的位置,其中分为+V和-V的检测两个部分;其次去掉添加的V 码;最后去掉4 连零码中添加的B 码以将其还原成单极性不归零码。由HDB3 码的编码规则可知,“0000”都被“000+1”或“000-1”或“+100+1”或“- 100- 1”取代,所以,只要能检测出“+1000+1”、“- 1000- 1”、“+100+1”、“- 100- 1”、将它们分别改为“10000”、“10000”、“00

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!