一种非对称K码编解码的串行通信数据极性恢复方法与流程

文档序号:17937588发布日期:2019-06-18 22:44阅读:495来源:国知局
一种非对称K码编解码的串行通信数据极性恢复方法与流程

本发明涉及计算机网络技术及通信领域,尤其涉及一种非对称k码编解码的串行通信数据极性恢复方法。



背景技术:

serdes是serializer(串行器)/deserializer(解串器)的简称,是一种时分多路复用(tdm)、点对点(p2p)的串行通信技术,serdes是一种通用的高速串行接口技术,在网络应用等方面被广泛采用。随着serdes技术的不断发展,对均衡器,鉴相器,抖动容忍能力及数据时钟恢复能力提出了更高的要求。如何尽最大可能降低传输误码率,减少恢复时钟的相位误差,是评价serdes性能的重要指标之一。

但是,受限于pma(物理媒介适配层)设计性能,经cdr(clockdatarecovery,时钟数据恢复)恢复出的时钟可能会产生较大的相位偏移,若数据进行曼彻斯特编解码,由于每个码元正中间会出现一次电平转换,因此采样位置的不同可能会得到完全相反的采样结果,引起数据极性的反转。另外由于芯片工艺,板级pcb走线,过孔等原因,导致pma外接高速差分数据线反接,采样结果同样会出现数据极性反转的现象。

目前,利用现有8b/10b编解码技术本身可以间接实现极性校准,即通过发送特定序列进行编解码处理,将恢复数据与发送数据对比检测来判断数据极性,在实际中为做到对数据极性的实时监测,要定期插入特定数据码组进行检验,占用了有效数据带宽资源且进一步增加设计复杂度,并且会打断正常数据传输,很难持续进行极性检测校准。因此,继续一种新的技术手段,可以简单高效的方式解决数据极性问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明提供一种非对称k码编解码的串行通信数据极性恢复方法,以解决上述技术问题。

本发明提供的非对称k码编解码的串行通信数据极性恢复方法,包括:

对待发送数据流进行预处理,所述预处理在待发送数据流中间隔插入k码;

对预处理后的数据流进行8b/10b编码,获取正常编码数据;

将k码映射为非对称的极性编码,与其余编码数据形成新的数据流,并将所述新的数据流发送至接收端;

在接收端对接收数据流的编码极性进行检测,根据极性检测结果判断接收数据流是否存在极性反转,如果存在,则对存在极性反转的数据进行极性调整,将发生极性反转的数据进行恢复。

进一步,所述将k码映射为非对称的极性编码包括:根据8b/10b编码极性规则,将正常编码数据中经过8b/10b编码后的对称型k码替换为两种非对称极性编码。

进一步,所述待发送数据流包括有效数据流和空闲数据流,所述预处理包括将k码间隔插入所述空闲数据流中,待发送数据流经过8b/10b编码后,将k码映射为两种非对称极性编码中的一种。

进一步,经过8b/10b编码后数据中的非对称极性编码的当前极性与前一个数据编码的末端极性相同。

进一步,所述极性调整包括对接收的数据比特位按位取反处理。

进一步,所述极性检测包括:

对接收的数据流进行极性界定,所述极性界定包括对非对称编码极性的正确性进行连续检测,

如果连续检测到的多个非对称编码的极性正确,则判定串行通信数据的极性正确,并保持极性不做调整;

如果连续检测到多个非对称编码的极性错误,则判定串行通信数据的极性错误,并对其进行极性反转;

继续对非对称极性编码的正确性进行持续检测,当检测到正确性发生反转变化时,记录变化数量,

如果变化数量超过预设的数量阈值,则重新进行极性界定;

如果变化数量未超过预设的数量阈值,则继续进行持续检测;

若极性正确性恢复,则变化数量计数清零。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法。

本发明还提供一种电子终端,包括:处理器及存储器;

所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述任一项所述方法。

本发明的有益效果:本发明中的非对称k码编解码的串行通信数据极性恢复方法,通过将k码映射为两种非对称的极性编码,解决了数据极性问题,提高了信道的容错能力,在保证在原来字节定界功能的基础上,增加了数据极性检查功能,可以有效解决高速serdes数据通路中,因pma设计、工艺问题、pcb布线等问题引入的极性反转,有效纠正数据通路中的极性错误,尤其适用于对控制信息的使用要求不高、不需要完整使用标准8/10编码中所有k码形态的情况。

附图说明

图1是本发明实施例中非对称极性编解码的数据极性恢复方法中发送端和接收端处理过程示意图。

图2是本发明实施例中非对称极性编解码的数据极性恢复方法的流程示意图。

图3是本发明实施例中非对称极性编解码的数据极性恢复方法的极性编码映射原理示意图。

图4是本发明实施例中非对称极性编解码的数据极性恢复方法中数据通路极性检测及调整示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本实施例中的非对称k码编解码的串行通信数据极性恢复方法,包括:

对待发送数据流进行预处理,所述预处理包括在待发送数据流中间隔插入k码;

对预处理后的数据流进行8b/10b编码,获取正常编码数据;

将k码映射为非对称的极性编码,与其余编码数据形成新的数据流,并将所述新的数据流发送至接收端;

在接收端对接收数据流的极性编码进行极性检测,根据极性检测结果判断接收数据流是否存在极性反转,如果存在,则对存在极性反转的数据进行极性调整,将发生极性反转的数据进行恢复。

如图1、2所示,在本实施例中,在发送数据流中插入k码,对进行8b/10b编码,正常数据生产成编码数据,而将k码数据映射为极性编码a-和b+中的一种,与其余编码数据形成新的数据流,然后再进行特定编解码或其他数据处理后发送至接收端;接收端对数据进行接收,对数据流定边界,然后进行极性编码检测,通过连续识别数据流中的极性编码的特征,确定当前的数据极性,根据需要对数据做出调整,然后再对数据进行8b/10b解码,进而进行解码后的相关数据处理,数据处理包括但不限于曼彻斯特编解码等编解码技术,本领域技术人员应该可以通过现有技术轻易的获取,再此不再赘述。

如图3所述,本实施例中的k码为8b/10b码表的一个子集,包含多个k码字,通常作为特征码字插入数据编码中,用于解码前的字符定界使用,根据标准码表规则,该子集内的字节编码后会生成对称码型。本实施例中将k码映射为非对称的极性编码包括:根据8b/10b编码极性规则,将正常编码数据中经过8b/10b编码后的对称型k码替换为两种非对称极性编码。在本实施例中,以k28.5码为例,根据标准码表规则k28.5码(101_11100)该码正常编码后生成对称码型001111_1010和110000_0101,将原始的对称型编码映射为a-(001111_0101)和b+(110000_1001)两种非对称极性编码。在编码过程中,由于本实施例只对k28.5码做不对称映射处理,替换原有码表对称编码,替换前后不额外增加数据位数及其他特征编码,因此数据通路带宽不受影响。

如图4所示,在本实施例中,数据流由有效数据/data/和空闲数据/i/组成,有效数据与空闲数据的定义遵从具体serdes协议标准,本实施例中的预处理包括将k码间隔插入空闲数据流中,待发送数据流经过8b/10b编码后,将k码映射为两种非对称极性编码中的一种,不会对有效数据构成影响。在发送端,数据经8b/10b编码后,k码生成a-或b+的一种。在接收端,如果检测接收到的数据中检测极性编码为a-或b+,说明数据采样正常,数据极性不做调整;若收到极性编码的按位反转码,即a+或b-,如果在接收端收到连续的a+或b-,则说明数据极性反转,需要对接收的数据比特位按位取反处理。

在本实施例中,经过8b/10b编码后数据中的非对称极性编码的当前极性与前一个数据编码的末端极性相同,为保证编码后的dc平衡,极性编码的当前极性要与前一个数据编码的末端极性相同,所以根据前一个数据的末端极性来选择发送极性编码a-还是b+,同样所选极性编码的末端极性与下一个数据编码的当前极性保持一致。发送端数据编码的末端极性与极性编码a-和b+的选择,是为了使发送的“0”、“1”数量保持基本一致,均属于编码极性的范畴,与所述在接收数据流中提取k码的非对称编码值进行数据极性检测不同。

在本实施例中,具体的,极性检测包括:

对接收的数据流进行极性界定,所述极性界定包括对非对称编码极性的正确性进行连续检测,

如果连续检测到的多个非对称编码的极性正确,则判定串行通信数据的极性正确,并保持极性不做调整;

如果连续检测到多个非对称编码的极性错误,则判定串行通信数据的极性错误,并对其进行极性反转;极性反转变化,即a-变为a+或者b+变为b-(检测到的a+变为b-,或a-变为b+不算极性变化)

继续对非对称极性编码的正确性进行持续检测,当检测到正确性发生反转变化时,记录变化数量,

如果变化数量超过预设的数量阈值,则重新进行极性界定;

如果变化数量未超过预设的数量阈值,则继续进行持续检测;

若极性正确性恢复,则变化数量计数清零。

利用现有8b/10b编解码技术本身可以间接实现极性校准,根据码表规则,不同的有效数据经过编码后得到的数据相互之间具有不对称性。假设我们发送一组有特定规律的数据,进行8b/10b编码后得到一串特定码流,将这些码流再经过多个功能模块后进行解码,对于正常的接收数据,我们可以解码为与预期规则相符合的数据;对于按位取反的数据流,我们会得到与预期规则不同的解码数据。我们可以根据两种不同的解码结果来判断数据极性是否反转。但这种方式实现较为复杂,在实际中为做到对数据极性的实时监测,要定期插入特定数据码组进行检验,占用了有效数据带宽资源且进一步增加设计复杂度。我们通过定义一种自研协议,只改进8b/10b编解码中的k码子集便解决了数据极性问题,同时保证了原来的字节定界功能不变,提高了信道的容错能力。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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