CN109905199B - 一种非对称k码编解码的串行通信数据极性恢复方法 - Google Patents
一种非对称k码编解码的串行通信数据极性恢复方法 Download PDFInfo
- Publication number
- CN109905199B CN109905199B CN201711298199.0A CN201711298199A CN109905199B CN 109905199 B CN109905199 B CN 109905199B CN 201711298199 A CN201711298199 A CN 201711298199A CN 109905199 B CN109905199 B CN 109905199B
- Authority
- CN
- China
- Prior art keywords
- polarity
- data
- code
- data stream
- asymmetric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
Abstract
本发明提供一种非对称K码编解码的串行通信数据极性恢复方法,包括:对待发送数据流进行预处理,该处理在待发送数据流中间隔***K码;对预处理后的数据流进行8/10B编码,获取正常编码数据;将K码映射为非对称的极性编码,与其余编码数据形成新的数据流,并将所述新的数据流发送至接收端;在接收端对接收数据流的编码极性进行检测,将极性反转的数据进行恢复;本发明解决了数据极性问题,提高了信道的容错能力,可以有效解决高速Serdes数据通路中极性反转的情况,有效纠正数据通路中的极性错误,同时保留8/10B编码的DC平衡特性,尤其适用于对控制信息的使用要求不高、不需要完整使用标准8/10B编码中所有K码形态的情况。
Description
技术领域
本发明涉及计算机网络技术及通信领域,尤其涉及一种非对称K码编解码的串行通信数据极性恢复方法。
背景技术
SERDES是SERializer(串行器)/DESerializer(解串器)的简称,是一种时分多路复用(TDM)、点对点(P2P)的串行通信技术,Serdes是一种通用的高速串行接口技术,在网络应用等方面被广泛采用。随着Serdes技术的不断发展,对均衡器,鉴相器,抖动容忍能力及数据时钟恢复能力提出了更高的要求。如何尽最大可能降低传输误码率,减少恢复时钟的相位误差,是评价Serdes性能的重要指标之一。
但是,受限于PMA(物理媒介适配层)设计性能,经CDR(clock datarecovery,时钟数据恢复)恢复出的时钟可能会产生较大的相位偏移,若数据进行曼彻斯特编解码,由于每个码元正中间会出现一次电平转换,因此采样位置的不同可能会得到完全相反的采样结果,引起数据极性的反转。另外由于芯片工艺,板级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码子集便解决了数据极性问题,同时保证了原来的字节定界功能不变,提高了信道的容错能力。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种非对称K码编解码的串行通信数据极性恢复方法,其特征在于,包括:
对待发送数据流进行预处理,所述预处理在待发送数据流中间隔***K码;
对预处理后的数据流进行8B/10B编码,获取正常编码数据;
将K码映射为非对称的极性编码,与其余编码数据形成新的数据流,并将所述新的数据流发送至接收端;
在接收端对接收数据流的编码极性进行检测,根据极性检测结果判断接收数据流是否存在极性反转,如果存在,则对存在极性反转的数据进行极性调整,将发生极性反转的数据进行恢复。
2.根据权利要求1所述的非对称K码编解码的串行通信数据极性恢复方法,其特征在于,所述将K码映射为非对称的极性编码包括:根据8B/10B编码极性规则,将正常编码数据中经过8B/10B编码后的对称型K码替换为两种非对称极性编码。
3.根据权利要求2所述的非对称K码编解码的串行通信数据极性恢复方法,其特征在于,所述待发送数据流包括有效数据流和空闲数据流,所述预处理包括将K码间隔***所述空闲数据流中,待发送数据流经过8B/10B编码后,将K码映射为两种非对称极性编码中的一种。
4.根据权利要求3所述的非对称K码编解码的串行通信数据极性恢复方法,其特征在于,经过8B/10B编码后数据中的非对称极性编码的当前极性与前一个数据编码的末端极性相同。
5.根据权利要求1所述的非对称K码编解码的串行通信数据极性恢复方法,其特征在于,所述极性调整包括对接收的数据比特位按位取反处理。
6.根据权利要求1所述的非对称K码编解码的串行通信数据极性恢复方法,其特征在于,所述极性检测包括:
对接收的数据流进行极性界定,所述极性界定包括对非对称编码极性的正确性进行连续检测,
如果连续检测到的多个非对称编码的极性正确,则判定串行通信数据的极性正确,并保持极性不做调整;
如果连续检测到多个非对称编码的极性错误,则判定串行通信数据的极性错误,并对其进行极性反转;
继续对非对称极性编码的正确性进行持续检测,当检测到正确性发生反转变化时,记录变化数量,
如果变化数量超过预设的数量阈值,则重新进行极性界定;
如果变化数量未超过预设的数量阈值,则继续进行持续检测;
若极性正确性恢复,则变化数量计数清零。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该程序被处理器执行时实现权利要求1至6中任一项所述方法。
8.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求1至6中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711298199.0A CN109905199B (zh) | 2017-12-08 | 2017-12-08 | 一种非对称k码编解码的串行通信数据极性恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711298199.0A CN109905199B (zh) | 2017-12-08 | 2017-12-08 | 一种非对称k码编解码的串行通信数据极性恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905199A CN109905199A (zh) | 2019-06-18 |
CN109905199B true CN109905199B (zh) | 2021-07-09 |
Family
ID=66940775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711298199.0A Active CN109905199B (zh) | 2017-12-08 | 2017-12-08 | 一种非对称k码编解码的串行通信数据极性恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905199B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030953B (zh) * | 2019-12-04 | 2021-11-09 | 中国电子科技集团公司第五十八研究所 | 一种低延时8b/10b编码的方法与装置 |
CN111147107B (zh) * | 2019-12-25 | 2021-12-24 | 天地融科技股份有限公司 | 一种数据接收方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5048062A (en) * | 1989-10-30 | 1991-09-10 | International Business Machines Corp. | Transmitting commands over a serial link |
JP4026255B2 (ja) * | 1998-12-18 | 2007-12-26 | ソニー株式会社 | データ伝送方法及び装置 |
CN102487307B (zh) * | 2010-12-06 | 2014-05-28 | 中国航空工业集团公司第六三一研究所 | 一种用于fc协议的eof极性选择方法 |
CN103199869B (zh) * | 2012-01-06 | 2017-05-10 | 上海华虹集成电路有限责任公司 | 基于rd+的8b/10b解码电路 |
CN106330357B (zh) * | 2015-06-30 | 2019-11-15 | 深圳市中兴微电子技术有限公司 | 一种serdes的传输校验方法、节点与*** |
CN106411322A (zh) * | 2016-11-04 | 2017-02-15 | 深圳国人通信股份有限公司 | 基于SerDes技术串行通信***的编解码方法及装置 |
CN106788446A (zh) * | 2016-11-25 | 2017-05-31 | 电子科技大学 | 一种新的8b/10b编码实现方法 |
CN108631988B (zh) * | 2017-03-24 | 2020-12-04 | 华为技术有限公司 | 用于数据传输的方法和装置 |
CN107395539A (zh) * | 2017-08-31 | 2017-11-24 | 华南理工大学 | 一种适用于jesd204b协议中的8b10b编码器设计方法 |
-
2017
- 2017-12-08 CN CN201711298199.0A patent/CN109905199B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109905199A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652067B2 (en) | Orthogonal differential vector signaling codes with embedded clock | |
US20160294586A1 (en) | Clock-Embedded Vector Signaling Codes | |
CN106063181B (zh) | 接收机电路和在接收机电路上操作的方法 | |
CN109905199B (zh) | 一种非对称k码编解码的串行通信数据极性恢复方法 | |
WO2013001631A1 (ja) | 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 | |
CN104426629A (zh) | 一种物理层编解码方法及其装置 | |
CN105281776A (zh) | 一种可纠错的曼彻斯特解码装置及其方法 | |
CN113517949A (zh) | 码字同步方法、接收器、网络设备及网络*** | |
US11755524B2 (en) | Controller area network apparatus | |
US20100040169A1 (en) | Coding methods and systems for improved error margins | |
JP2001527239A (ja) | ディジタルデータを直列伝送するための通信インタフェースおよびデータ伝送方法 | |
US9337959B2 (en) | Defect propagation of multiple signals of various rates when mapped into a combined signal | |
US9479310B2 (en) | Method, apparatus and system to communicate with a device | |
CN101442380B (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
US8438443B2 (en) | Pattern-dependent error correction method and system | |
US9594719B2 (en) | Seamless addition of high bandwidth lanes | |
US7180886B2 (en) | Synchronized data communication on a one-wired bus | |
US20140223270A1 (en) | Classifying bit errors in transmitted run length limited data | |
CN113810071B (zh) | 一种自适应线序调整方法、装置、设备、***及存储介质 | |
CN108334469A (zh) | 一种高速差分串行数据传输的方法、***和装置 | |
CN102939721B (zh) | 用于在通信网络中调节接收器处的符号判定阈值的方法和设备 | |
US20210342285A1 (en) | Encoding of symbols for a computer interconnect based on frequency of symbol values | |
CN115250162A (zh) | 码字同步方法、接收器、网络设备及网络*** | |
US7676725B1 (en) | Method of code generation that minimizes error propagation | |
US20030147461A1 (en) | Means and method of data encoding and communication at rates above the channel bandwidth |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |