HDB3编解码器的设计
- 格式:doc
- 大小:301.00 KB
- 文档页数:15
通信原理课程设计报告HDB3编码器的设计班级:通信05-2班指导教师:***学号:15号**:***设计日期:2007年11月26日至2007年11月30日第一章 HDB3码概述及产生背景现代通信借助于电和光来传输信息,数字终端产生的数字信息是以“1”和“0”两种状态位代表的随机序列,他可以用不同形式的电信号表示,以构造不同形式的数字信号。
在一般的数字通信系统中首先将消息变为数字基带信号,称为信源编码,经过调制后进行传输,在接收端先进行解调恢复为基带信号,再进行解码转换为消息。
HDB3码是AMI码的改进型,HDB3码又叫三阶高密度双极性码,是基带电信设备之间进行基带传输的主要码型之一。
该码具有以下特点:(1) 无直流分量,功率谱密度与AMI码类似。
(2) 解决了AMI码长连‘0’且提取信号的困难的问题。
(3) 具有内在检错能力。
由此可见,HDB3码是一种优良码,目前是广泛应用于基带传输的接口码。
在一般的数字通信系统中首先将消息变为数字基带信号,其次,传输码型中应含有定时时钟信息,以利于收端定时时钟的提取,再次,实际传输系统常希望在不中断通信的前提下,能监视误码,如果传输码型有一定的规律性,那么就可以根据这一规律性来检测传输质量,以便做到自动监测,因此,传输码型应具有一定的误码检测能力。
HDB3码就是具有误码检测能力的一种码。
第2章设计原理及步骤2.1 HDB3编码器的设计原理2.1.1 引言数字基带信号的传输是数字通信系统的重要组成部分。
在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号进行直接传输。
采用AMI码的信号交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取。
而HDB3码因其无直流成份、低频成份少和连0个数最多不超过三个等特点,而对定时信号的恢复十分有利。
针对数字基带传输系统中HDB3信号的特点,采用基于CPLD/FPGA 的VHDL语言,在Max+plusⅡ的环境中,实现HDB3数字基带信号的调制、解调器.仿真结果表明,实现的HDB3基带信号调解器,系统简单、可靠,通过此系统能够方便地将原始信息流转换成HDB3基带信号。
HDB3码编译码电路的设计摘要:在数字通信中,选择合适在信道中传输的码型是十分重要的,HDB3码(三阶高密度码)是比较常用的信道传输码型,因此HDB3码的编译码就显得非常重要。
通过对HDB3编译码原理的分析,提出了一种基于可编程逻辑器件EPM7064LC84-15实现HDB3编译码的方法,给出了软件设计流程、原理图和仿真波形。
编译码器已通过硬件下载、测试,可用于实际电路中。
此方法中由于CPLD可重复编程的特点,可对其进行在线修改,便于设备的调试和运行。
关键词:三阶高密度码;复杂可编程逻辑器件;编译码Design of HDB3 Encoding and Decoding CircuitAbstract:In digital communication, it is very important for transmitting quality.HDB3 is the abbreviation of High Density Bipolar 3.It's used in digital transmission,so it's important to design circuit of HDB3.By analyzing the principle of HDB3 encoding and decoding,this paper gives a novel HDB3 encoding method based on EPM7064LC84-15 and the flow of software design、schematic diagram and the simulated waveform of HDB3 encoder and decoder.Downloading and testing shows that this encoder and decoder has stable performance and therfore can be applied to circuitry.Since CPLD can be reprogrammed,it can be repaired online,thus making it convenient to debug and run the equipment.Key words: HDB3;CPLD;Encoding and Decoding目录摘要: (I)Abstract: (II)第1章绪论 (2)1.1 课题背景 (2)1.1.1 EDA技术简介 (2)1.1.2 MaxplusII 简介 (2)1.1.3 HDB3码简介 (3)第2章方案论证 (4)2.1 方案一:基于 XC9572的HDB3编译码器 (4)2.2 方案二:基于CPLD的HDB3编解码器 (5)第3章 HDB3编译码电路的设计 (7)3.1 HDB3编码器的设计 (7)3.1.1 HDB3编码器原理 (7)3.1.2 HDB3编码器的设计 (8)3.2 HDB3译码器的设计 (11)3.2.1 HDB3译码器的原理 (11)3.2.2 HDB3译码器的设计 (12)3.3 引脚锁定 (13)第4章编程下载和测试 (14)结论 (15)致谢 (16)参考文献 (17)附录A (18)附录B (19)第1章绪论1.1课题背景1.1.1EDA技术简介EDA(Electrical Design Automation,电子设计自动化)技术是现代集成电路及电子整机系统设计科技创新和产业发展的关键技术。
昆明学院2013 届毕业论文(设计)论文(设计)题目基于FPGA的HDB3码的编码器与译码器设计(软件设计)子课题题目姓名周艳学号 201004090147所属院系自动控制与机械工程学院专业年级 2010级通信技术1班指导教师任杰2013年 5月HDB3码是基带传输码型之一,因为它具有无直流分量、低频分量少、连0数不超过3个这些特点,所以有利于信号的恢复和检验,所以HDB3码被广泛应用到井下电缆遥传系统以及高速长距离书记通信中等。
FPGA具有成本低、可靠性高、开发周期短、可重复编程等特点。
利用EDA技术,可对其实现硬件设计软件化,加速了数字系统设计的效率,降低了设计成本。
本文先对HDB3码,FPGA器件和EDA技术的发展背景进行简述。
接着阐述EDA技术中常用的VHDL语言的发展与优点,并以VHDL为核心,简要说明硬件电路的设计的方法步骤。
然后介绍HDB3码的编译码原理以及其特点。
最后,对HDB3码的编译原理进行重点分析,并且以VHDL语言为主,分别对编码器部分和译码器部分的具体实现方法进行说明,给出具体设计的思考方案和程序流程图,并对设计方案进行软件仿真,同时给出仿真结果并对其进行分析,证明设计方案的正确性。
关键词:HDB3码;FPGA;EDA;VHDL;编译码HDB3 code is one of codes used in the transmission system. It has no DC components and a few of LF components. Moreover, it has continuous zeros no more than three. The features of HDB3 code help the signal to be rebuilt and be checked for error easily, so HDB3 code is the commonly used code in the transmission system. Low cost, dependability, short design cycle and repeated program ability are the features of FPGA. You can design hardware of digital circuits by using software as a result of using FPGA with EDA. It will construct the digital system quickly system quickly and reduce the cost of design.This paper first introduces the development and background of HDB3.FPGA and EDA, and then expands VHDL. which is commonly used as design-entry language for EDA.A summary of digital circuits’ design by using VHDL is provided.Moreover, the principle and decoder is designed by using VHDL. Finally, the plan of design, the flow of software design and the simulated waveform of HDB3 encoder and decoder is presented, showing correctness of the design.Keywords: HDB3 code; FPGA ; EDA ; VHDL; Encoder and Decoder目录第一章概述 (1)1.1 HDB3码的简述 (1)1.2 FPGA简介 (2)1.2.1 FPGA的发展历程 (2)1.2.2 FPGA基本结构及其特点 (3)1.3 EDA技术 (4)1.4 VHDL硬件描述语言 (4)1.4.1 简介 (4)1.4.2 VHDL具有的特点 (5)1.4.3 VHDL的优点 (7)1.4.4 VHDL设计硬件电路的方法 (7)第二章 HDB3码的编译规则 (10)2.1主要的基带传输码型 (10)2.1.1 NRZ码的编码规则 (10)2.1.2 AMI码的编码规则 (10)2.2 HDB3码的编码规则 (11)2.3 HDB3码的译码规则 (12)2.4 HDB3码的检错能力 (12)第三章 HDB3编码器的FPGA实现 (13)3.1 HDB3码编码器的实现分析 (13)3.2 HDB3码编码器的设计思路 (13)3.2.1 4连‘0’的检出加V及判‘1’极性 (13)3.2.2 取代节的选取 (13)3.3设计建模 (14)3.3.1插“V”码模块设计及仿真 (15)3.3.2插“B”码模块设计及仿真 (17)3.3.3 HDB3编码器的极性转换模块设计及仿真 (20)第四章 HDB3译码器的FPGA实现 (24)4.1 译码器的实现分析 (24)4.2 HDB3译码器的设计思路 (24)4.3 V的检测 (25)4.4 扣V扣B (25)4.5 设计建模 (25)4.5.1扣V扣B的实现 (26)4.6 软件仿真 (26)第五章结论 (28)参考文献 (29)附录 (30)谢辞 (38)第一章概述1.1 HDB3码的简述HDB3(High Density Bipolar of order 3code)码的全称是三阶高密度双极性码,又称为四连“0”取代码,它是一种AMI码的改进,保持了AMI码的优点而克服其缺点。
基于VHDL语言的HDB3码编解码器设计引言 (2)1 绪论 (2)1.1可编程逻辑器件概述 (2)1.1.1 可编程逻辑器件的发展历程 (2)1.1.2 可编程逻辑器件的特点 (3)1.1.3 可编程逻辑器件的一般设计流程 (4)1.1.4 现代数字系统的设计方法 (6)1.2 VHDL语言概述 (7)1.2.1 VHDL语言介绍 (7)1.2.2语言特性、功能与特点 (7)1.2.3 TOP-DOWN的设计思想简介 (8)1.3 Quartus® II的介绍 (9)1.3.1 Quartus® II的产生与发展 (9)1.3.2 Quartus® II功能概论 (10)1.3.3 Quartus® II的应用 (10)2 HDB3码介绍 (21)2.1 数字基带信号 (21)2.2 NRZ,AMI,HDB3码之间的对应关系 (21)2.3 HDB3码的编/译码规则 (22)3 用VHDL语言设计HDB3编码器 (24)3.1 HDB3编码器实现的基本原理 (24)3.2 HDB3编码器的设计过程 (24)3.3 HDB3编码器仿真波形 (30)4 用VHDL语言设计HDB3译码器 (31)4.1 HDB3解码器实现的基本原理 (31)4.2 HDB3解码器的设计过程 (32)4.3 HDB3解码器仿真波形 (33)5总结 (34)5.1 系统设计思路小结 (34)5.2 毕设存在的问题及不足 (35)5.3 毕设后的感想 (35)致谢 (36)参考文献 (37)附录:基于VHDL语言的HDB3码编/解码器设计程序 (37)现代通信在技术一般的数字通信系统中首先将消息变为数字基带信号,称为信源编码,经过调制后进行传输,在接收端先进行解调恢复为基带信号,再进行解码转换为消息。
在实际的基带传输系统中,并不是所有电波均能在信道中传输,因此有基带信号的选择问题,因此对码型的设计和选择需要符合一定的原则。
清华大学电子工程系数字逻辑与处理器基础实验报告实验六HDB3编解码器设计实验报告班级无010学号201001009姓名苏永晖实验日期2012/ 5/24交报告日期2012/6/ 20一、实验目的本实验主要希望大家通过实际编程,了解HDB3编解码的流程,对通信系统的数据传输方式有更加深入的了解。
二、实验原理HDB3是一种伪三进制归零码,如图1给出了一种归零码(RZ)和非归零码(NRZ)的示意图。
HDB3码的三个状态可用B+、B-和0表示。
二进制信号中的空号(0)在HDB3中仍编为0;但是对4个连空号应用特殊规则。
二进制信号中的传号(1)在HDB3信号中应交替为B+和B-(交替翻转)。
因此HDB3编码输出包含正端码和负端码。
在编4个连空号时引入交替翻转的“破坏点”。
4个连0被000V或者B00V取代。
V 表示破坏点,选取原则是:使任意两个V脉冲间的B脉冲数目为奇数。
这样,相邻V脉冲的极性也满足交替规则,因而整个信号保持无直流分量。
图2所示为HDB3编码的对应表和波形示意,其中B码和V码都是归零码,为宽度为半个时钟周期的脉冲。
编码流程是记住上一次B码编码的极性(B+,B-)以及从上一次极性翻转码V出现以来B的个数的奇偶性。
如果当前的NRZ码输入是1,则直接编码为B码,如果当前的NRZ码输入是0,则要分两种情况处理:如果已经连续输入了4个0,则回溯到最前面的那个码对应的HDB3编码结果,将它编为B码,同时将当前NRZ码编为V码。
HDB3解码器不能做到实时解码,在出现V码时需要进行长度为4的回溯,将这四个码重新解码为0。
回溯的实现方案是采用长度为5的移位寄存器实现。
当前的解码结果从最高位存入,当前解码的输出从最低位输出。
高4位是回溯区域。
具体的解码流程是:记住上一次B码的极性(B+,B-),判断当前HDB3码是V码、B 码或者0码,如果是V码,则进行长度为4的回溯,将它们全部重新编码为0000,如果是B码,则从移位寄存器的最高位存入1;如果是0码,则从移位寄存器的最高位存入0。
HDB3码编码器设计HDB3编码器是一种常用的数字编码方案,用于传输数字信号时提高码元传输效率和信号传输质量。
HDB3编码器使用了高度密集的编码方式,将4位二进制数据编码成5位二进制码元。
HDB3编码规则如下:1.将输入的二进制数据按照顺序分组,每组四位。
2.检测每组中连续出现的0的数量。
如果连续零的数量达到四个,则执行步骤3,否则执行步骤43.在连续的四个零前插入特殊位。
特殊位是0011或1100,根据上一个特殊位的类型来决定。
-如果前一个特殊位是0011,则在四个零前插入1100特殊位。
-如果前一个特殊位是1100,则在四个零前插入0011特殊位。
4.如果没有连续零序列,根据下列规则编码:-如果当前输入位为1,则输出+1码元(0100)。
-如果当前输入位为0,则输出-1码元(0000)。
-如果输入位的累计数量达到四个,则对其奇偶性进行判断。
-如果四个输入位的奇偶性相同,则输出反转码元(000V);其中V是有电平变化的码元(0或1),用来解决直流偏置的问题。
-如果四个输入位的奇偶性不同,则使用和上一个输出码元相同的码元。
基于以上规则,我们可以设计一个HDB3编码器的逻辑电路。
以下是一个可能的设计:1.首先,我们需要一个计数器来记录连续零的数量。
计数器的初始值为零。
2.创建一个4位寄存器,用于存储最近四个输入位的数据。
3.创建一个类型寄存器,用于存储上一个特殊位的类型。
初始值可以设定为0,表示上一个特殊位为1100。
4.创建一个输出寄存器,用于存储当前输出码元。
5.实现一个逻辑电路来根据输入的二进制数据判断要执行的操作。
-如果连续零的数量达到四个,判断上一个特殊位的类型。
-如果上一个特殊位是0011,则将1100特殊位插入到输入码元中,并将类型寄存器更新为1-如果上一个特殊位是1100,则将0011特殊位插入到输入码元中,并将类型寄存器更新为0。
-将连续零的数量重置为0。
-如果连续零的数量没有达到四个,根据输入位的奇偶性执行操作。
一、设计总体思路1.引言随着远距离通讯技术的发展,现代通信通常借助于电和光来传输信息,数字终端产生的数字信息是以“1”和“O”二种状态代表的随机序列,它可以用不同形式的电信号表示,从而构造不同形式的数字信号。
在一般的数字通信系统过程中,首先将所需传输的消息信号转化为相对应的数字基带信号,即信源的编码,经过调制信号与信道相匹配后再进行传输,在接收端先进行解调恢复为基带信号,再进行解码转换为原始消息。
但在实际的基带传输系统中,信道的低频传输特性差容易受噪声的干扰,可能造成信号严重畸变,甚至可能被噪声完全淹没而分不出信号,因此有必要对传输的信号进行编码,而经过信道编码后的传输码却具有较强的波形抗干扰性。
我们比较常用的编码规则有AMI和 HDB3编码。
AMI 码,又名符号交替反转码,其编码规则是:若用“0”和“1”代表传号和空号“, 0”码不变“, 1”码则交替地转换为+1 和-1。
通常脉冲宽度为码元宽度的一半, 这种码型交替出现正、负极脉冲,所以无直流分量,低频分量也很少。
这种码的反变换也很容易,在再生信码时,只要将信号整流,即可将“-1”翻转为“+1”,恢复成单极性码。
AMI 码的缺点是,当原信码出现长连“0”串时,信号的电平长时间不跳变,造成提取定时信号的困难,解决连“0”码问题的有效方法之一是采用HDB3 码。
2.HDB3编译码HDB3码的全称是3阶高密度双极性码,它是AMI码的一种改进型,其目的是为了保持AMI码的优点而克服其缺点,使连“0”个数不超过3个。
其编码规则如下:(1)当信码的连“0”个数不超过3时,仍按AMI码的规则编,即传号极性交替;(2)当连“0”个数超过3时,则将第4个“0”改为非“0”脉冲,记为+V 或-V,称之为破坏脉冲。
相邻V码的极性必须交替出现,以确保编好的码中无直流;(3)为了便于识别, V码的极性应与其前一个非“0”脉冲的极性相同,否则,将四连“0”的第一个“0”更改为与该破坏脉冲相同极性的脉冲,并记为+B或-B;(4)破坏脉冲之后的传号码极性也要交替。
HDB3编解码电路设计HDB3 (High Density Bipolar 3-Zero) 是一种常用的数字通信编码和解码技术,它可以有效地传输数字数据,而不会引入过多的传输开销和误码率。
在本文中,我将详细介绍HDB3编解码电路的设计。
一、HDB3编码1.将原始数据按照4位一组进行分组。
2.对每个4位的数据进行如下规则的转换:-如果4位数据中有连续的0,则将连续的0替换为000V或B00V,其中V表示一种特定的极性反转。
-如果4位数据中有连续的1,且前面的极性反转为B,则将连续的1替换为000V,其中V表示一种特定的极性反转。
-如果4位数据中有连续的1,但前面的极性反转不为B,则将连续的1替换为0000。
-如果4位数据中没有连续的0或1,则将第一个1替换为B,其中B 表示一种特定的极性反转。
3.将每个4位数据的替换结果进行串联,形成最终的编码结果。
二、HDB3解码HDB3解码主要是通过对编码数据进行逆向操作,即还原出原始的数据。
下面是HDB3解码的步骤:1.将编码数据按照4位一组进行分组。
2.对每个4位的数据进行如下规则的逆向操作:-如果4位数据中有000V或B00V的形式,则将该4位数据替换为连续的0。
-如果4位数据中有0000的形式,则将该4位数据替换为连续的1-如果4位数据中有连续的1,则将连续的1替换为连续的1,并进行极性反转。
-如果4位数据中有B的形式,则将该4位数据替换为连续的1,并进行极性反转。
3.将每个4位数据的逆向操作结果进行串联,形成最终的解码结果。
1.编码电路设计:-使用4位移位寄存器来存储输入的数据,并将其输入到编码器电路中。
-编码器电路由逻辑门电路构成,根据上述编码规则对4位数据进行转换。
-将每个4位数据的转换结果串联形成编码结果。
2.解码电路设计:-使用4位移位寄存器来存储输入的编码数据,并将其输入到解码器电路中。
-解码器电路由逻辑门电路构成,根据上述解码规则对4位数据进行逆向操作。
HDB3编译码电路的设计[摘要]数字基带信号的传输是数字通信系统的一个重要组成部分,HDB3(三阶高密度双极性码)编码是数字基带信号传输中常用的传输码型。
HDB3编码无直流成分且连0串符号最多只有3个。
该种码型通过正负极性交替消除传输信号中的直流成分,降低功耗。
文中基于VHDL设计了HDB3编码器,实现了编码过程中的插V及插B模块;通过插入正反极性电平信号解决了串行码元中连0多于4个时的情形。
在MAX+PLUSⅡ工具中进行了仿真、调试,结果表明实现了HDB3编码功能,能实现基带信号在基带信道中直接传输与提取,同时能很好地提取定时信号。
编译码器已通过硬件下载、测试,可用于实际电路中。
此方法中由于CPLD可重复编程的特点,可对其进行在线修改,便于设备的调试和运行。
[关键词]HDB3编码; 编译码;VHDL;MAX+PLUSⅡ[中图分类号] TN702 [文献标志码] AThe Design of HDB3 Encoding and Decoding CircuitAbstract: The digital baseband signal transmission in digital communication systems are an important component of, HDB3 (third-order high-density bipolar code) are encoded digital baseband signal transmission used in the transmission pattern. HDB3 encoding non-DC components and even the string of symbols 0 and only a maximum of three. Pattern of the alternating polarity through positive and negative signal to eliminate transmission of DC components, reduced power consumption. Based on the VHDL design of a HDB3 encoder, the encoding process of implementation of the interpolation module V and Chap B; by the insertion of the positive and negative polarity signal level to solve the serial symbol 0 even when more than 4 cases. MAX + PLUS Ⅱ in the instrument in the simulation, debugging, results show that the implementation of the HDB3 coding function, can achieve base-band signal at base-band channel of direct transmission and extraction, while a good timing signal extraction. Had passed through the hardware codecs download, test, can be used in the actual circuit. This method because of CPLD can duplicate the characteristics of programming can be modified online, easy to debug and run the equipment.Key words: HDB3 coding; codec; VHDL; MAX + PLUS Ⅱ目录摘要 (Ⅲ)Abstract (Ⅳ)1 绪论 (1)1.1 课题背景 (1)1.1.1 eda发展概况 (1)1.1.2 硬件描述语言--VHDL (1)1.1.3 CPLD简介 (2)1.1.4 Max+plusII (3)1.2 课程设计目的 (4)1.2.1设计流程 (4)1.2.2设计方案 (4)2 HDB3编码电路的设计 (5)2.1 HDB3编码器的设计需要 (5)2.2 HDB3编码器的编码规则 (5)2.3 HDB3码的VHDL建模思想 (5)2.4 HDB3码编码的设计原理 (6)2.5 HDB3码编码的底层设计 (6)2.5.1 伪随机序列的设计原理 (6)2.5.2 HDB3码的编码设计 (7)2.5.3 HDB3编码的顶层原理图 (9)2.6 本章小结 (10)3 HDB3解码电路的设计 (11)3.1 HDB3解码的设计原理 (11)3.2 HDB3解码的设计 (12)3.3 本章小结 (12)4 编程下载与测试 (12)4.1 HDB3码编码的下载 (14)4.2 HDB3码译码的下载 (14)4.3 HDB3码的编译设计的测试 (15)结论 (16)致谢 (17)参考文献 (18)附录A (19)附录B: (22)1. 绪论1.1 课题背景1.1.1 eda发展概况电子设计技术的核心就是EDA技术,EDA是指以计算机为工作台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。
东北石油大学课程设计2010年12月24日东北石油大学课程设计任务书课程通信综合课程设计题目HDB3编码器设计专业通信工程姓名祁庆男学号070602140117主要内容利用EDA实现HDB3编码器,通过Quartus Ⅱ软件模拟实现HDB3码的相应功能,系统应具有而且具有软件开发周期短,成本低,执行速度高,实时性强,升级方便等特点。
基本要求实现HDB3编码器,消除NRZ码的直流成分,具有时钟恢复和抗干扰性能,且适合于长距离信道传输。
同时,本系统应具有一定的检错能力,当数据序列用HDB3码传输时,若传输过程中出现单个误码,其极性交替变化规律将受到破坏,因而在接收端根据HDB3码这一独特规律特性,可检出错误并纠正错误,同时HDB3码方便提取位定时信息。
参考资料[1]樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2006.[2]郑君里,应启珩,杨为理.信号与系统[M].北京:高等教育出版社,2001.完成期限2010、11、1—2010、12、24指导教师专业负责人2010年11 月1日目录1.设计要求 (1)2. HDB3码编码工作原理 (1)2.1 HDB3码的编码规则 (1)2.2编码设计思想 (2)3. 基于Quartus II软件的HDB3码编码器的设计 (2)3.1插“V”模块的实现 (3)3.2插“B”模块 (5)3.3单极性变双极性的实现 (7)4. Quartus Ⅱ软件介绍 (8)4.1 Quartus Ⅱ软件的发展 (8)4.2 Quartus Ⅱ的VHDL语言的软件操作流程 (9)4.3 Quartus Ⅱ的VHDL语言的软件操作流程 (9)5. 双极性变换的硬件电路 (10)6. 总结 (10)参考文献 (11)1.设计要求利用EDA实现HDB3编码器,通过Quartus Ⅱ软件模拟实现HDB3码的相应功能,系统应具有而且具有软件开发周期短,成本低,执行速度高,实时性强,升级方便等特点。
HDB3码是数字基带通信系统中重要组成部分之一,因其具有无直流成份,检错能力强,具有时钟恢复性能等优点,成为ITU推荐使用的基带传输码型之一。
首先介绍HDB3编码的原理和方法,提出一种基于EDA技术实现的HDB3编码器的方法。
HDB3码编译码器的实现有多种途径,常用的解决方案是应用专用的HDB3收发芯片,如选用专用E1收发芯片DS2153Q和单片机实现该码制的转换功能。
本文提供一种利用现代EDA技术,以ACEX系列FPGA芯片EPlK10为硬件平台,以Quartus II为软件平台,以VHDL,为开发工具,适合于FPGA实现的HDB3编码器的设计方案。
2. HDB3码编码工作原理2.1 HDB3码的编码规则要了解HDB3码的编码规则,首先要知道AMI码的构成规则,AMI码就是把单极性脉冲序列中相邻的“1”码(即正脉冲)变为极性交替的正、负脉冲。
将“0”码保持不变,把“1”码变为+1、-1交替的脉冲。
如:NRZ码:10000100001100001 1AMI码:-10 000 +10000-1 +10000-1 +1HDB3码是AMI码的改进型,称为三阶高密度双极性码,它克服了AMI码的长连0串现象。
HDB3码的编码规则为先检查消息代码(二进制)的连0串,若没有4个或4个以上连0串,则按照AMI码的编码规则对消息代码进行编码;若出现4个或4个以上连0串,则将每4个连0小段的第4个0变换成与前一非0符号(+1或-1)同极性的V符号,同时保证相邻V符号的极性交替(即+1记为+V,-1记为-V);接着检查相邻V符号间非 0符号的个数是否为偶数,若为偶,则将当前的V符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0 符号从V符号开始再交替变化。
例:NRZ码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 插V: 1 0 0 0 V 1 0 0 0 V 1 1 0 0 0 v 1 1插B:+1 0 0 0 +V-1 0 0 0 –V +1 -1 +B 0 0 +V -1 +12.2编码设计思想由于CPLD 不能处理负电平,只能面向“1”、“0’’两种状态,所以要对它的输出进行编码。
编码的实现是根据HDB3 编码原理把二进制码编码成两路单极性的码字输出,之后经过单双变换模块形成HDB3码,设计中的大部分工作可采用VHDL语言描述实现,仅单双变换模块由于采用模拟器件CD4052 实现,所以只能以外接电路实现。
本文主要涉及用VHDL 语言描述HDB3 码编译码器的逻辑功能。
在编码过程中,要经过连0 检测、破坏节判断、破坏节间“1”的个数判断、调整“1”的符号输出等步骤。
由HDB3 编码规则,当NRZ 码中出现4 连“0”串时,第 4 个“0”用破坏符号“V”来代替,并且连续两个“V”之间如果有偶数个“1”时,要把最后一小段的第一个“0”变为“B”。
为了在单双极性变换时便于分辨出“V”标志和“B”标志,所以用“00”来标识“0”,用“10”标识“-1”,用“11”来标识“+1”。
如果直接将要进行编码的数据按上述编码原则先转换成AMI码,然后进行加v码,加B码操作,会发现转化成AMI码时有一个“+1”“一1”码极性形成的过程,而在加B码操作之后,非零码元相应极性还有可能进行反转,因此有两个信号极性产生的过程。
分析HDB3的编码结果:V码的极性是正负交替的,余下的1码和B码看成为一体也是正负交替的,同时满足V码的极性与前面的非零码极性一致。
由此产生了利用FPGA进行HDB3码编码的思路:先进行加V码,加B码操作,在此过程中,暂不考虑其极性,然后将V码,1码和B码分成两组,分别进行极性变换来一次实现。
这样可以提高系统的效率,同时减小系统延时。
HDB3编码器的数字电路部分由三个模块组成:V码产生单元(v Gen),B码产生单元(B Gen),单极性一双极性转换单元(single2double)。
3. 基于Quartus II软件的HDB3码编码器的设计在HDB3码的VHDL建模思想是在消息代码的基础上,依据HDB3编码规则进行插人“V”符号和“B”符号的操作,且用2位二进制代码分别表示。
最后完图1 HDB3编码实现流程3.1插“V”模块的实现插“V”模块主要是对消息代码里的四连0串的检测,即当出现四个连0串的时候,把第四个“0”变换成符号“V”,用“11”标识。
“1”用“01”标识,“0”用“00”CASE codein ISWHEN '1'=>codeoutv<="01";count0<=0WHEN '0'=>IF(count0=3) THENcodeoutv<="11";count0<=0;ELSEcount0<=count0+1;codeoutv<="00";END IF;WHEN OTHERS=>codeoutv<="00";count0<=count0;END CASE;END IF;END IF;AND PROCESS add_v;经插v后仿真波形如下:图3 插V仿真波形从仿真波形可以看出当出现四个连0串的时候,把第四个“0”变换成符号“V”,用“11”标识。
“1”用“01”标识,“0”用“00”。
程序如下:s0(0)<=codeoutv(0);s1(0)<=codeoutv(1);ds11:DFF PORT MAP(s1(0),clk,s1(1)); ds01:DFF PORT MAP(s0(0),clk,s0(1));ds12:DFF PORT MAP(s1(1),clk,s1(2)); ds02:DFF PORT MAP(s0(1),clk,s0(2)); ds13:DFF PORT MAP(s1(2),clk,s1(3)); ds03:DFF PORT MAP(s0(2),clk,s0(3)); ds14:DFF PORT MAP(s1(3),clk,s1(4)); ds04:DFF PORT MAP(s0(3),clk,s0(4)); ds15:DFF PORT MAP(s1(4),clk,s1(5)); ds05:DFF PORT MAP(s0(4),clk,s0(5)); bclk:clkb<=NOT clk;add_b:PROCESS(clkb);BEGINIF(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;ELSIF(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);其仿真波形如下:图5 插B波形图由仿真波形可以分析出由输出端用“11”表示符号“V”,“01”表示“1”码,“00”表示“0”码,“10”表示符号“B”3.3单极性变双极性的实现根据编码规则,“B”符号的极性与前一非零符号相反,“V”极性符号与前一非零符号一致。
因此,可对“V”单独进行极性变换(“V”已经由“11”标识,相邻“V”的极性是正负交替的),余下的“1”和“B”看成一体进行正负交替,从而完成HDB3的编码。
因为经过插“B”模块后,“V”、“B”、“1”已经分别用双相码“11”、“10”、“01”标识。
“0”用“00”标识。
而在实际应用中,CPLD或FPGA端口的输出电压只有正极性电压,且在波形仿真中也只有“+1”和“0”,而无法识别“-1”。
所以要得到所需HDB3编码的结果,需定义“00”、“01”、“10”来分别表示“0”、“-1”、“+1”。
可将插“B”模块后输出的“00”、“01”、“10”、“11”组合转换为“00”、“01”、“10”组合。