Word版本下载可任意编辑】 EDA的数据传输系统的HDB3编码器 0 引言 数字基带信号的传输是数字通信系统的重要组成部分在数字通信中,有些场合可不经过载波调制和解调过程,而对基带信号开展直接传输采用AMI码的信号交替反转,有可能出现四连零现象,这不利于接收端的定时信号提取而HDB3码因其无直流成份、低频成份少和连0个数多不超过三个等特点,而对定时信号的恢复十分有利,并已成为CCITT协会推荐使用的基带传输码型之一为此,本文利用VHDL语言对数据传输系统中的HDB3编码器开展了设计 1 HDB3码的编码规则 HDB3码是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符号开始再交替变化。
2 HDB3编码器的VHDL建模与程序设计 HDB3码的VHDL建模思想是在消息代码的根底上,依据HDB3编码规则开展插人“V”符号和“B”符号的操作,且用2位二进制代码分别表示完成单极性信号变成双极性信号的转换其编码模型如图1所示 2.1 插“V”模块的实现 插“V”模块主要是对消息代码里的四连0串的检测,即当出现四个连0串的时候,把第四个“0”变换成符号“V”,用“11”标识 “1”用“01”标识,“0”用“00”标识其模型如图2所示,实现的VHDL构造代码如artv: 2.2 插“B”模块的实现 插“B”模块的建模思路是当相邻“V”符号之间有偶数个非0符号时,把后一小段的第1个“0”变换成一个“B”符号可用一个4位的移位存放器来实现延迟,这样经插“V”处理过的码元,可在同步时钟的作用下同时开展是否插“B”的判决,等到码元从移位存放器里出来的时候,就可以决定是应该变换成“B”符号,还是照原码输出输出端用“11”表示符号“V”,“01”表示“1”码, “00”表示“0”码,“10”表示符号“B”其模型如图3所示,VHDL的构造代码如artb: 2.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”组合,再通过“00”、 “01”、“10”控制四选一数字开关的地址来选择输出通道,就可以实现0、-B、+B本设计使用CC4052的一组通道作为四选一数字开关,从而将CPLD或FPGA目标芯片的标识性输出转换成双极性信号,终实现HDB3非归零编码CC4052的接线如图4所示,所实现的地址控制器的模型如图5所示其VHDL构造代码如artd: 3 HDB3编码器的仿真 在此,以四连“0”的可能性通过如下表1所列的多“0”消息代码开展分析,并利用EDA工具对VHDL源程序开展编译、适配、优化、逻辑综合与仿真。
仿真结果显示其完全可以到达编码要求其仿真图如图6所示而将HDB3编码硬件描述到CPLD或FPGA目标芯片中,然后连接好CC4052开展实际应用测试(用示波器测得)的编码波形如图7所示 4 结束语 将基于VHDL的HDB3编码用在光纤通信系统中作为误码仪测试误码的HDB3转换器,能满足实际测试的需要且运用基于VHDL的可编程芯片开发技术将相关的信号处理电路开展硬件描述,并用CPLD/FPGA技术实现数字通信系统,不仅可以实现多种数字逻辑功能,而且可大大提高工作效率,减少电路设计的时间和可能发生的错误,同时也可降低开发成本4 / 4。