HDB3编译码设计的FPGA实现

2021-08-04 01:58刘雪峰
数字通信世界 2021年7期
关键词:误码译码极性

刘雪峰,张 希

(1. 西安交通工程学院,陕西 西安 710300;2.西安黄河光伏科技股份有限公司,陕西 西安 710048)

0 引言

在进行长距离数据通信之前,通常要对数据进行编译码处理,HDB3码因具有无直流成份、低频成份和连0个数最多不超过三个等优点而被广泛采用。其所具有的时钟恢复和抗干扰性能更适合于长距离信道传输。鉴于此,本文设计了基于FPGA的 HDB3编译码系统。

本设计利用Verilog HDL编写软件代码,采用模块化的设计方案,在QuartusⅡ开发软件上,完成了硬件的布局与软件的仿真,并用ALTERA CycloneⅣ系列的芯片进行了软硬件功能验证,与理论输出值保持一致。FPGA具有高集成度、响应速度高、编程可重复的特点,故本设计具有软件灵活可靠、硬件调试方便、较低开发成本、系统稳定可靠等优点。

1 HDB3编译码的设计

1.1 HDB3编译码的原理

HDB3码是为了克服AMI码的长连零现象而出现的,将4个连续的“0”位元取代成“000V”或 “B00V” 。其编码规则如下:一是将消息代码转换为AMI码;二是检查AMI码中连“0”的情况,出现4个或4个以上连“0”时,将第4个“0”变为与前一个非“0”符号同极性的符号,用“V”标识(+V和-V);三是检查相邻V符号之间非“0”符号是否为偶数,如果为偶数,则将当前V符号前一个非“0”符号后的第一个“0”变为“B”,“B”的极性与前一个非“0”符号相反,并使“V”后的非“0”符号从“V”开始再交替变化。根据编码规则,V码脉冲与前一个脉冲具有相同的极性。可从接受的信码中找出V码流,根据通信传输中加取代节原则,V码与前三位码是取代码,需复原为四连0。只要找到V码,不管V码流前是两个“0”码,将取代节清零,完成了扣V扣B功能,进而得到原信码序列。

1.2 系统整体框图

系统设计的整体方案如图1所示,本设计包括用于产生基于M序列的伪随机产生模块,产生的伪随机码流分为两条支路:一条支路通过HDB3编译后输送给比较器,另一支路通过帧同步模块输入比较器。同步模块对伪随机码产生模块起始帧头信号进行标记,以使两路信号实现同步;比较器比较两条支路的信号帧,以判断传输过程中是否存在误码,将产生的误码进行标记;计数器统计比较器产生的误码个数;显示器显示计数器计数的结果。

图1 系统整体框图

设计亮点在于比较器之前设置同步Flag模块,同步模块可将伪随机码与通过HDB3编译码后的两支路信号保持同步,比较器可以直接对两支路信号进行比较,提高了判断误码的准确率。

1.3 HDB3编译码整体设计

图2所示为HDB3编译码顶层设计,伪随机码模块产生8位的伪随机信号,通过并串转换模块合成为一路信号送入HDB3编译码模块,将编译数据通过串并转换模块恢复为8位信号与伪随机码模块进行两次转换后的8位信号进行比较,计数,显示编译码过程中的误码。

图2 HDB3编译码顶层设计框图

信号帧头设置flag同步模块,在进入比较计数模块之前,有效的防止了信号的抖动以及在传输过程中的误码问题。具体步骤如下:

在QuartusⅡ12.0开发软件上编程,并利用芯片EP4CE115F29C7N加上外接电路制作实物,进行伪随机码的HDB3编译码模块显示,与理论输出值一致。

图3(a)所示为HDB3编码顶层设计及仿真波形,信号经过HDB3编码部分,在编码部分进行插V、插B操作,以及极性转换;图3(b)所示为HDB3译码顶层设计及仿真波形,信号经过HDB3译码部分,在译码部分进行扣V、扣B操作,以及极性转换。由波形图可以看出,伪随机信号经过HDB3编译码后出现了四连零现象。

图3 HDB3编码顶层设计及仿真波形

2 实验分析

本文设计的软件部分下载进开发板的整个实验系统如图4所示,由图可以看出将编译码后的信号下载进信号分析仪显示OK,说明编译码过程符合通信要求。整个测试过程为期一星期,通信过程产生了0个误码,由实验现象可知本文设计的编译码电路基本符合信号传输的要求。

图4 实验结论图

3 结束语

本文所设计的HDB3编译码模块简单实用,利用FPGA实现 HDB3 编译码功能具有很强的灵活性,可以把编码电路和译码电路与其他电路相集成在一起,提高系统设计的速度。本 文以ALTERA公司的CycloneⅣ系列的FPGA芯片EP4CE115F29C7N为硬件平台,以Quartus II为软件平台,以Verilog HDL为开发工具,来验证FPGA实现的HDB3编译码器。并对整个HDB3码的编码过程以及解码过程作了一个详细的分析。且实验结果符合预期,有很好的应用远景。

猜你喜欢
误码译码极性
极化码自适应信道译码算法
基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
跟踪导练(四)
SDH传输设备信号传输过程中误码问题的分析
一种基于CAN总线的误码测试方法
双极性压缩观测光谱成像技术研究
潘小芳(太原铁路局太原通信段网管中心,太原 030012)
键的极性与分子极性判断的探究