双极性码,什么是双极性码

数据通信

6人已加入

描述

双极性码,什么是双极性码

数字信号可以直接采用基带传输,所谓基带就是指基本频带。基带传输就是在线路中直接传送数字信号的电脉冲,这是一种最简单的传输方式,近距离通信的局域网都采用基带传输。

基带传输时,需要解决数字数据的数字信号表示以及收发两端之间的信号同步问题。对于传输数字信号来说,最简单最常用的方法是用不同的电压电平来表示两个二进制数字,也即数字信号由矩形脉冲组成。按数字编码方式,可以划分为单极性码和双极性码,单极性码使用正(或负)的电压表示数据;双极性码是三进制码,1为反转,0为保持零电平。根据信号是否归零,还可以划分为归零码和非归零码,归零码码元中间的信号回归到0电平,而非归零码遇1电平翻转,零时不变。常见的几种基本的数字信号脉冲编码方案如下:

单极性不归零码,无电压(也就是元电流)用来表示"0",而恒定的正电压用来表示"1"。每一个码元时间的中间点是采样时间,判决门限为半幅度电平(即0.5)。也就是说接收信号的值在0.5与1.0之间,就判为"1"码,如果在O与0.5之间就判为"0"码。每秒钟发送的二进制码元数称为"码速"。

双极性不归零码,"1"码和"0"码都有电流,但是"1"码是正电流,"0"码是负电流,正和负的幅度相等,故称为双极性码。此时的判决门限为零电平,接收端使用零判决器或正负判决器,接收信号的值若在零电平以上为正,判为"1"码;若在零电平以下为负,判为"0"码。

以上两种编码,都是在一个码元的全部时间内发出或不发出电流(单极性),以及发出正电流或负电流(双极性)。每一位编码占用了全部码元的宽度,故这两种编码都属于全宽码,也称作不归零码NRZ (Non Return Zero)。如果重复发送"1"码,势必要连续发送正电流;如果重复发送"0"码,势必要连续不送电流或连续发送负电流,这样使某一位码元与其下一位码元之间没有间隙,不易区分识别。归零码可以改善这种状况。

双极性码

单极性归零码,当发"1"码时,发出正电流,但持续时间短于一个码元的时间宽度,即发出一个窄脉冲;当发"0"码时,仍然完全不发送电流,所以称这种码为单极性归零码。

双极性归零码,其中"1"码发正的窄脉冲,"0"码发负的窄脉冲,两个码元的间隔时间可以大于每一个窄脉冲的宽度,取样时间是对准脉冲的中心。

非归零码在传输中难以确定一位的结束和另一位的开始,需要用某种方法使发送器和接收器之间进行定时或同步;归零码的脉冲较窄,根据脉冲宽度与传输频带宽度成反比的关系,因而归零码在信道上占用的频带就较宽。

单极性码会积累直流分量,这样就不能使用变压器在数据通信设备和所处环境之间提供良好绝缘的交流藕合,直流分量还会损坏连接点的表面电镀层;双极性码的直流分量大大减少,这对数据传输是很有利的。

从以上讨论中可以发现,基带传输的另一个重要问题就是同步问题。接收端和发送端发来的数据序列在时间上必须取得同步,以便能准确地区分和接收发来的每位数据。这就要求接收端要按照发送端所发送的每个码元的重复频率及起止时间来接收数据,在接收过程中还要不断校准时间和频率,这一过程称为同步过程。在计算机通信与网络中,广泛采用的同步方法有位同步法和群同步法两种。

1、位同步

位同步使接收端对每一位数据都要和发送端保持同步。在数据通信中,习惯于把位同步称为"同步传输"。实现位同步的方法可分为外同步法和自同步法两种。在外同步法中,接收端的同步信号事先由发送端送来,而不是自己产生也不是从信号中提取出来。即在发送数据之前,发送端先向接收端发出一串同步时钟脉冲,接收端按照这一时钟脉冲频率和时序锁定接收端的接收频率,以便在接收数据的过程中始终与发送端保持同步。

自同步法是指能从数据信号波形中提取同步信号的方法。典型例子就是著名的曼彻斯特编码,这种编码通常用于局域网传输。在如下图所示的曼彻斯特编码方式中,每一位的中间有一跳变,位中间的跳变既作为时钟信号,又作为数据信号:从高到低的跳变表示"1",从低到高的跳变表示"0"。

双极性码

图1

另外,还有一种差分曼彻斯特编码,这种编码每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变表示"0",无跳变表示"1"。由此可见,两种曼彻斯特编码方法都是将时钟和数据包含在信号流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,所以这种编码也称为自同步编码。

从曼彻斯特编码和差分曼彻斯特编码的脉冲波形中可以看出,这两种双极型编码的每一个码元都被调制成两个电平,所以数据传输速率只有调制速率的1/2,也即对信道的带宽有更高的要求。但它们具有自同步能力和良好的抗干扰性能,在局域网中仍被广泛使用。

2、群同步

在群同步的通信系统中,传输的信息被分成若干"群"。所谓的"群",一般是以字符为单位,在每个字符的前面冠以起始位、结束处加上终止位,从而组成一个字符序列o数据传输过程中,字符可顺序出现在比特流中,字符与字符间的间隔时间是任意的,即字符间采用异步定时,但字符中的各个比特用固定的时钟频率传输。在数据通信中,习惯于把群同步称为"异步传输"。字符间的异步定时和字符中比特之间的同步定时,是群同步即异步传输的特征。这种传输方式中,每个字符以起始位和停止位加以分隔,故也称"起一止"式传输。

群同步传输规程中的每个字符可由下列四部分组成:

(1)1位起始位,以逻辑、"表示:

(2)5~8位数据位,即要传输的字符内容;

(3)1位奇/偶检验位,用于检错,该部分可以不选;

(4)1~2位停止位,以逻辑"1"表示,用以作字符间的间隔。

群同步的字符格式见图2。由图中可以看出,群同步是靠起始位(逻辑"0")和停止位(逻辑"1")来实现字符的定界及字符内比特的同步的。接收端靠检测链路上由空闲位或前一字符停止位(均为逻辑"1")到该字符起始位的下降沿来获知一个字符的开始,然后按收、发双方约定的时钟频率对约定的字符比特数(5~8位)进行逐位接收,最后以约定算法(奇/偶校验法)进行差错检测,完成一个字符的传输。发送器和接收器中近似于同一频率的两个约定时钟,在一段较短的时间内能够保持同步。在群同步传输中,起始位和停止位的作用是十分重要的。起始位指示字符的开始,并启动接收端对字符中比特的同步;而停止位则是作为字符之间的间隔位而设置的,没有停止位,紧跟其后的下一字符的起始位下降沿便可能丢失。

群同步法只需保持每个字符的起始点同步,在群内则按约定的频率进行位的接收就可以了。这种方法实现简单,但需要添加诸如起始位、校验位和停止位等附加位,相对于同步传输来说,编码效率和信道利用率较低,一般用于低速数据传输的场合。

双极性码

图2

使用XC9572实现HDB3码

1、XC9572芯片简介

XC9572是XILINX公司生产的一款高性能可编程逻辑器件。它内含4个36V18功能块,并具有1600个可用系统门。其系统结

构如图1所示。从结构上看,XC9572包含三种单元,即宏单元、可编程I/O单元和可编程内部连线。其主要特点如下:

●所有可编程管脚间的脚对脚延时均为5ns;

●系统的时钟速度可达到125MHz;

●具有72个宏单元和1600个可用系统门;

●可编程次数为10000次;

●可采用5V在线编程和擦除;

●拥有强大的管脚锁定能力;

●每个宏单元都具有可编程低功耗模式;

●未用的管脚有编程接地能力;

●提供有编程保密位,可对设计提供加密保护以防止非法读取;

●外部I/O引脚与3.3V和5V兼容。

双极性码

2、HDB3的编解码及实现原理

HDB3码(三阶高密度双极性码)是基带电信设备之间进行基带传输的主要码型之一。它的主要特点是易于提取时钟、不受直流特性影响、具有自检能力、连令串小于3个等。

E1信号是我国和欧洲国家电信传输网一次群使用的传输系统。E1信号由32个64kbps的PCM话路经过时分复用形成。CCITT建议G.703标准详细规定了HDB3码用于E1信号的标准。

用XC9572实现E1信号的HDB3编解码电路比较简单,而且无需可调整外围电路。设计使用PC44封装形式的XC9572可编程逻辑器件共有30个可编程IO引脚、6个电源引脚和4个JTAG引脚。整个设计使用了XC9572器件80%的容量。

HDB3码是AMI码的改进型。AMI码是用交替极性的脉冲表示码元“1”,用无脉冲表示码元“0”。为了防止电路长时间出现无脉冲状态,HDB3码的编码规则是:当没有4个或4个连续的“0”码时,就按AMI码规则编码;当出现4个或4个连续的“0”码时,每4个连续“0”的第一个“0”的变化应视它前面相邻的“1”的情况而定,如果它的前一个“1”的极性与前一个破坏点的极性相反而本身就是破坏点,则4个连续的“0”的第一个仍保持“0”;如果它的前一个“1”的极性与前一个破坏点的极性相同而本身就是破坏点,则第一个“0”改为“1”。这一规则保证了相继破坏点具有交替的极性,因而不会引入直流成分。4个连续“0”的第2,3个总是“0”。4个连续的“0“的第4个改为“1”,而极性与它前一个“1”的极性相同(破坏点极性交替规则)。在接收端,如果相继接收到两个极性相同的“1”?它的前面有3个连续的“0”?则将后一个“1”改为“0”?如果它的前面有2个连续的“0”,则将前后两个“1”改为“0”,这样就恢复了原来的数据信号。下面是一个HDB3码的例子:

其中:V代表破坏点,+V表示+1,-V表示-1,+B表示-1,-B表示-1。

双极性码

在根据上述原理实现HDB3编解码的图2电路中,BNC1插头送来的HDB3信号经变压器T1、U4及外围器件组成的单双变换电路后将转换成两路单极性码并送给可编程逻辑电路XC9572 U5的43、44脚,然后经过可编程逻辑电路内部解码后,从可编程逻辑电路XC9572 U5的24、25脚输出数据和时钟。从U5的26、27引脚输入的数据和时钟经其内部编码后,将从其2和8脚输出,而后再经过U3以及外围器件和变压器T1组成的单双变换电路形成HDB3码,并从BNC2插头输出。

3、FOUNDATION ISE 4.21开发工具

FOUNDATION ISE 4.21是开发XILINX公司可编程逻辑产品(包括CPLD和FPGA系列)的软件工具包。利用FOUNDATION ISE 4.21提供的设计环境和设计工具,可以灵活高效地完成各种数字电路设计。在FOUNDATION ISE 4.21的设计环境下,对CPLD和FPGA进行设计的过程如下:

(1)FOUNDATION ISE 4.21的设计输入有图形输入和文本输入两种方式。此外,符号编辑器用于编辑用户的模块符号。在本系统中,笔者使用VeriLOG语言作为文本输入方式。

(2) 设计实现是在FPGA或CPLD器件内物理地实现所需的逻辑。这个过程由FOUNDATION ISE 4.21中的核心部分编译器完成。它可依据设计输入文件自动生成?主要用于器件编程、波形仿真、延时分析等所需的数据文件。

(3) 设计仿真是由仿真器和时延分析器利用编译器产生的数据文件来自动完成逻辑功能仿真和延时特性仿真(时序仿真)的。通过仿真可以发现设计中的错误与不足,以便对设计进行修改和完善,使其最终达到设计要求。

(4) 仿真结果正确以后,即可进行器件编程。即通过编程器(Programmer)将设计文件下载到FPGA芯片中。以在实际芯片中进行实际信号的时序验证?同时就芯片的实际运行性能进行系统测试。

4、HDB3的CPLD实现及仿真结果

用XC9572实现HDB3编解码设计主要由编码、时钟提取和译码三部分组成。其中编码部分是根据HDB3编码原理把二进制码的时钟和数据信号编码成两路单极性的HDB3码输出。其编码原理框图如图3所示。

双极性码

时钟提取是译码的关键部分,原理是32.768MHz时钟提取两路HDB3单极性码的上升沿,并形成宽度2倍于32.768MHz时钟周期宽度的脉冲,然后用此脉冲复位32.768MHz时钟的16位计数器,最后根据16位计数器的结果产生2.048MHz时钟。

译码部分比较简单。它根据HDB3码的特点首先检测出极性破坏点,即找出4连零码中添加V码的位置(破坏点位置),其次去掉添加的V码,最后去掉4连零码中添加的B码以将其还原成单极性不归零码。译码原理框图如图4所示。

HDB3编解码的CPLD设计可采用上面介绍的FOUNDATION ISE4.21开发工具来实现。设计输入采用Verilog HDL语言完成。设计分为三个模块:时钟模块、编码模块、译码模块。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分