一种利用FPGA实现HDB3编解码的系统及方法与流程

文档序号:22581727发布日期:2020-10-20 17:05阅读:262来源:国知局
一种利用FPGA实现HDB3编解码的系统及方法与流程

本发明属于数据通信领域,尤其涉及一种利用fpga实现dhb3编解码的系统及方法。



背景技术:

在fpga网络通信中,常常遇到需要将hdb3码转换为nrz码供fpga使用,目前很多项目中在硬件设计时添加了专用芯片来实现该功能,添加芯片将大大提高成本,同时该芯片面临停产的风险,因此需要fpga完成hdb3的编解码。

所以本发明公开了一种用fpga实现hdb3编解码的方法,主要用于硬件设计中没有添加hdb3编解码芯片的情况。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种利用fpga实现dhb3编解码的系统及方法,减小了硬件成本,同时可对该方法进行模块化处理,为用户提供了不依赖于专用芯片对hdb3进行编解码。

为了达到以上目的,本发明采用的技术方案为:

本方案提供一种利用fpga实现hdb3编解码的系统,包括编码模块,以及通过用户对接单元与所述解码模块连接的编码模块;

所述解码模块包括信号整形单元、与所述信号整形单元连接的时钟数据恢复单元以及与所述时钟数据恢复单元连接的hdb3解码单元;

所述编码模块包括hdb3编码单元以及与所述hdb3编码单元连接的数据发送单元;

所述hdb3解码单元与所述hdb3编码单元通过用户对接单元连接。

进一步地,所述信号整形单元用于对入口信号进行整形,使入口信号保持平滑,并将整形后的入口信号传输至时间数据恢复单元;

所述时钟数据恢复单元用于将入口信号恢复出同步时间和数据,并利用恢复的同步时钟数据对入口数据进行采集,将采集到的双端信号转换为单端信号,并将单端信号传输至hdb3解码单元;

所述hdb3解码单元用于对单端信号进行hdb3解码和输出,并将解码后的nrz源码输出信号传输至用户对接单元;

所述hdb3编码单元用于将用户对接单元的nrz源码输出信号进行编码发送;

所述数据发送单元用于将已编码的数据进行单→双的数据变换处理。

基于上述系统,本发明还公开了一种利用fpga实现hdb3编解码的方法,包括hdb3解码方法和hdb3编码方法;

所述hdb3解码方法包括以下步骤:

a1、将硬件端口发送的hdb3编码数据作为入口信号,并对入口信号进行整形处理;

a2、将经整形后的入口信号恢复出同步时钟和hdb3编码数据;

a3、利用恢复出来的同步时钟对hdb3编码数据进行采集,并将采集到的双端信号转换为单端信号;

a4、将所述单端信号发送至接收nrz源码的fpga的用户对接单元;

a5、判断输出信号是否丢失,若是,则上报信号丢失指示信号,供fpga的用户对接单元进行参考,结束对hdb3的解码操作,否则,结束对hdb3的解码操作;

所述hdb3编码方法包括以下步骤:

b1、将fpga的用户对接单元发送的nrz源码发送至hdb3编码单元,并将所述nrz源码进行编码发送;

b2、将已编码的信号进行数据变换处理,并将变换后的数据发送至硬件接口,实现对hdb3的编码操作。

进一步地,所述步骤a3包括如下步骤:

c1、利用恢复出来的同步时钟对hdb3编码数据进行采集;

c2、在采集到的hbd3编码中找到v点;

c3、对所述v点进行取代节点替换操作,从而将采集到的双端信号转换为单端信号。

再进一步地,所述步骤b1包括如下步骤:

d1、对fpga的用户对接单元发送的源码nrz进行连零检测,并标记为v点;

d2、将v点之间1的个数为偶数的点标记为b点;

d3、对所述b点和v点进行极性标记,从而将所述nrz源码转换成hdb3编码数据;

d4、将所述转换的hdb3编码数据进行编码发送。

再进一步地,所述步骤b2中数据变换处理具体为:

将已编码信号进行单→双的数据变换处理。

再进一步地,所述hdb3编码和hdb3解码的接口模式均包括dr接口模式和sr接口模式;

所述dr接口模式和sr接口模式均包括用户发送数据端tx和用户接收数据端rx。

再进一步地,在所述dr模式中,用户发送数据端tx用于对单端信号进行hdb3解码,并将解码后的nrz源码输出信号进行编码发送,并将合并的同步时钟与hdb3的编码进行单→双的数据变换处理,将变换后的信号输送给fpga;

在所述dr模式中,用户接收数据端rx用于利用fpga对输入信息进行脉冲滤波整形,并根据整形后的信号对时钟数据进行恢复,并将恢复后的数据输出至用户对接单元进行hdb3解码。

再进一步地,在所述sr模式中,用户发送数据端tx用于输出hdb3编码和经单→双变换的数据;

在所述sr模式中,用户接收数据端rx用于对接收的信号进行脉冲滤波整形处理,并恢复时钟数据,输出hdb3解码。

再进一步地,所述脉冲滤波整形包括去除毛刺和恢复波形轮廓。

本发明的有益效果:

本发明提供了一种利用fpga实现hdb3编解码的系统及方法,主要用于硬件设计中没有添加hdb3编解码芯片的情况,本发明支持时钟数据恢复功能、支持hdb3编码功能、支持hdb3编码功能以及支持编解码功能测试。本发明减小了硬件成本,同时可对该方法进行模块化,为用户提供了不依赖于硬件芯片,本发明通过使用fpga处理hdb3编解码的方法可在fpga中灵活多次使用该模块,进一步减少硬件芯片的需求,将hdb3编解码通过fpga编写代码实现,提供了从码流中恢复出时钟信息的方法。

附图说明

图1为本发明的系统结构图。

图2为本发明的编码流程图。

图3为本发明的解码流程图。

图4为本发明的编解码结构图。

图5为本实施例中编解码流程图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

实施例

如图1所示,本发明提供了一种利用fpga实现hdb3编解码的系统,包括编码模块,以及通过用户对接单元与所述解码模块连接的编码模块;所述解码模块包括信号整形单元、与所述信号整形单元连接的时钟数据恢复单元以及与所述时钟数据恢复单元连接的hdb3解码单元;所述编码模块包括hdb3编码单元以及与所述hdb3编码单元连接的数据发送单元;所述hdb3解码单元与所述hdb3编码单元通过用户对接单元连接。所述信号整形单元用于对入口信号进行整形,使入口信号保持平滑,并将整形后的入口信号传输至时间数据恢复单元;所述时钟数据恢复单元用于将入口信号恢复出同步时间和数据,并利用恢复的同步时钟数据对入口数据进行采集,将采集到的双端信号转换为单端信号,并将单端信号传输至hdb3解码单元;所述hdb3解码单元用于对单端信号进行hdb3解码和输出,并将解码后的nrz源码输出信号传输至用户对接单元;所述hdb3编码单元用于将用户对接单元的nrz源码输出信号进行编码发送;所述数据发送单元用于将已编码的数据进行单→双的数据变换处理。

基于上述系统,本发明还提供了一种利用fpga实现hdb3编解码的方法,包括hdb3解码方法和hdb3编码方法;

如图2所示,所述解码方法包括以下步骤:

a1、将硬件端口发送的hdb3编码数据作为入口信号,并对入口信号进行整形处理;

a2、将经整形后的入口信号恢复出同步时钟和hdb3编码数据;

a3、利用恢复出来的同步时钟对hdb3编码数据进行采集,并将采集到的双端信号转换为单端信号,其实现方法如下:

c1、利用恢复出来的同步时钟对hdb3编码数据进行采集;

c2、在采集到的hbd3编码中找到v点;

c3、对所述v点进行取代节点替换操作,从而将采集到的双端信号转换为单端信号;

a4、将所述单端信号发送至接收nrz源码的fpga的用户对接单元;

a5、判断输出信号是否丢失,若是,则上报信号丢失指示信号,供fpga的用户对接单元进行参考,结束对hdb3的解码操作,否则,结束对hdb3的解码操作;

如图3所示,所述编码方法包括以下步骤:

b1、将fpga的用户对接单元发送的nrz源码发送至hdb3编码单元,并将所述nrz源码进行编码发送,其实现方法如下:

d1、对fpga的用户对接单元发送的源码nrz进行连零检测,并标记为v点;

d2、将v点之间1的个数为偶数的点标记为b点;

d3、对所述b点和v点进行极性标记,从而将所述nrz源码转换成hdb3编码数据;

d4、将所述转换的hdb3编码数据进行编码发送;

b2、将已编码的信号进行数据变换处理,并将变换后的数据发送至硬件接口,实现对hdb3的编码操作,其中,所述数据变换具体为:将已编码信号进行单→双的数据变换处理。

本实施例中,所述hdb3编码和hdb3解码的接口模式均包括dr接口模式和sr接口模式;

所述dr接口模式和sr接口模式均包括用户发送数据端tx和用户接收数据端rx。

在所述dr模式中,用户发送数据端tx用于对单端信号进行hdb3解码,并将解码后的nrz源码输出信号进行编码发送,并将合并的同步时钟与hdb3的编码进行单→双的数据变换处理,将变换后的信号输送给fpga;

在所述dr模式中,用户接收数据端rx用于利用fpga对输入信息进行脉冲滤波整形,并根据整形后的信号对时钟数据进行恢复,并将恢复后的数据输出至用户对接单元进行hdb3解码,所述脉冲滤波整形包括去除毛刺和恢复波形轮廓。

在所述sr模式中,用户发送数据端tx用于输出hdb3编码和经单→双变换的数据;

在所述sr模式中,用户接收数据端rx用于对接收的信号进行脉冲滤波整形处理,并恢复时钟数据,输出hdb3解码,所述脉冲滤波整形包括去除毛刺和恢复波形轮廓。

本实施例中,如图4所示,本发明提供一种利用fpga实现hdb3编解码方案,很好的通过fpga完成hdb3编解码。将源码转换为hdb3码,首先是连0检测,标记v点,其次是数v点之间1的个数是奇数还是偶数,是偶数需要标记b点,对b点,v点的数据,进行极性标记。将hdb3转化为源码,首先找到v点,其次将取代节替换,恢复出原始码流即可。

本实施例中,用户支持两种接口模式,sr和dr模式,其区别在于用户对接单元是否支持编解码功能。sr模式在liu里面做了编解码功能,和用户对接单元交互的是nrz源码。而dr模式不做编解码功能,需要用户进行编解码处理。

本实施例中,tx和rx通道的定义是相对用户侧而言,用户发送数据为tx方向,用户接收数据为rx方向。

本实施例中,hdb3编解码模式:

(1)选择dr模式

tx方向,对接单元完成了hdb3编码工作,将同步时钟和编码并进行了数据变换(单→双)的信号输送给fpga,fpga只需要将p/n赋值输出即可。

rx方向,fpga需要对输入信号进行脉冲滤波整形,包括去除毛刺,恢复波形轮廓,然后进行时钟数据恢复,输出给对接单元进行hdb3解码接收数据。

(2)选择sr模式

使用qrss随机序列生成器对通信链路进行检测,也可以通过配置设置发送端发送数据为全1,在接收端接收对比,进行通信链路检测。

tx方向,实现hdb3的编码和数据变换(单→双)进行输出。

rx方向对接收的信号进行滤波整形,包括去除毛刺,恢复波形轮廓,然后进行时钟数据恢复,最后进行hdb3解码输出

如图5所示,图5为本实施例中编解码的流程图,图中qrss随机序列生成器:随机序列数据处理模块,进行硬件电路损耗测试。hdb3编解码:使用hdb3编解码模式。抖动衰减器模块:对信号进行滤波整形。tx时序控制:发送数据为全1,随机数据或者是正常的通信数据。tx脉冲整形:将输出的hdb3码流进行数据变换(单→双),将单根信号两根信号,进行三极性表示输出,然后经过硬件模/数转换进行三极性电平传输。rx时钟数据恢复:将硬件电路输送过来的三极性信号进行处理(包括p/n电平异常处理ais或los检测),并从中恢复出参考时钟和数据。ais:在512bit的窗口内,0的个数小于等于2则ais,当512bit的滑窗内0的个数大于等于3则取消ais。rlos:当输入信号出现2048个及以上周期的电平低于375mv则定义为rlos,当接收信号达到12.5%的1且0的连续个数不超过15个在一个32bit的窗口内,并且该信号电平超过425mv,则清除rlos。配置:配置分主机模式和硬件模式,主机模式通过配置接口访问内部寄存器,进行配置控制。硬件模式则通过硬件端口的上下拉,实现配置控制。

本实施例中,为了证明本方法的实用性,现对hdb3编解码进行测试:

s1、本地模拟环回测试:在硬件对接端口处进行环回,将tx环回给rx,无视硬件对接端口的输入端,建议使用,fpga可以用来检测整个链路的正确性;

s2、远端环回:在将rx方向进行时钟数据恢复后的信号进行环回,将rx环回给tx,无视用户对接端口的输入端;

s3、编码环回:tx方向,用户侧信号进行编码后环回解码输出,无视硬件对接端口的输入端,fpga可以单独验证hdb3加解密模块的正确性;

s4、双端口环回:tx方向,用户侧信号进行编码后环回解码输出,rx方向,硬件端口侧信号进行时钟数据恢复后环回输出,功能为编码环回和远端环回的综合。

本发明通过使用fpga处理hdb3编解码的方法可在fpga中灵活多次使用该模块,进一步减少硬件芯片的需求,将hdb3编解码通过fpga实现,提供了从码流中恢复出时钟信息的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1