CN109597705B - 抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 - Google Patents
抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 Download PDFInfo
- Publication number
- CN109597705B CN109597705B CN201811481933.1A CN201811481933A CN109597705B CN 109597705 B CN109597705 B CN 109597705B CN 201811481933 A CN201811481933 A CN 201811481933A CN 109597705 B CN109597705 B CN 109597705B
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- parallel
- single event
- column
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Abstract
本发明针对现有抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法纠错时间或硬件开销大的技术问题,提出一种抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,包括发送端对发送的低速并行数据的编码和并串转换步骤,以及接收端对接收的高速串行信号的串并转换和解码步骤。本发明对多拍并行数据的每个数据位拼接而成的新数据分别进行编码,而且错误数据在解码过程中将得到纠正,可直接纠正错误的数据,无需重传,效率高;所使用的编码方式中,纠错的过程是按列进行,即便连续多位数据都出错,按列进行纠错的过程中错误数据也只有一个,故解码方法能纠正1位错即可,因此,本发明只需纠正1位错,硬件实现过程简单,电路开销小。
Description
技术领域
本发明涉及一种高速串行接口数据的编解码方法,特别涉及一种抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法。
背景技术
太空中存在大量高能粒子(质子、电子、重离子等),集成电路中的时序电路受到这些高能粒子轰击后,其保持的状态有可能发生翻转,此效应称为单粒子翻转效应。集成电路中的组合电路受到这些高能粒子轰击后,有可能产生瞬时电脉冲,此效应称为单粒子瞬态效应。如果时序电路的状态发生错误翻转,或者单粒子瞬态效应产生的瞬时电脉冲被时序电路错误采集,都会造成集成电路工作不稳定甚至产生致命的错误,这在航天、军事领域尤为严重。因此,对集成电路进行加固从而减少单粒子翻转效应和单粒子瞬态效应越来越重要。
高速串行接口电路(Serializer/Deserializer,SerDes)是高速数据传输系统中使用的重要集成电路,由发送端和接收端组成。发送端将低速并行数据并串转换成高速串行信号通过传输媒体(光缆、铜线等)发送到接收端。接收端将高速串行信号串并转换成低速并行数据。
单粒子翻转效应和单粒子瞬态效应往往会导致太空中工作的高速串行接口电路发出的串行数据出现连续多位数据误码,大大增加高速数据传输系统的误码率。其抗单粒子翻转和单粒子瞬态的能力对整个高速数据传输系统的抗单粒子翻转和单粒子瞬态的能力起关键作用,对高速串行接口电路进行加固可以使高速数据传输系统的抗单粒子翻转和单粒子瞬态能力得到提高。
通常采用循环冗余校验(Cyclic Redundancy Check,CRC)结合数据重传的方法来对单粒子翻转和单粒子瞬态造成的SerDes误码进行纠错。该方法将SerDes发送端的输入数据先进行CRC编码,然后经过并串转换发送到接收端,接收端将收到的数据先进行串并转换,然后通过CRC校验码对接收端数据进行校验,如果发现CRC校验不通过,则丢弃该数据,并通知发送端重传该数据。该方法具有纠正单粒子翻转和单粒子瞬态造成的连续多位数据误码的能力,但纠错过程耗时长,不适用于要求数据传输实时性的应用。
申请号为201711390319.X的中国专利公开了一种抗干扰的高速串行接口及其实现方法。该方法将输入数据先经过RS编码,再经过交织,后经过8B/10B编码,通过并串转换进行发送;输出数据先经过串并转换,再经过8B/10B解码,后经过解交织,通过RS解码还原成原始数据。该方法理论上具有实时纠正单粒子翻转和单粒子瞬态造成的连续多位数据误码的能力,但利用该方法纠正连续多位数据误码需要RS编解码电路具有纠正多位错的能力。当该方法能够纠正的连续误码数据位数增加时,不仅RS校验码的位数快速增加,而且编解码电路的复杂性和硬件开销也快速增大,电路的面积和功耗代价大。
发明内容
本发明针对现有抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法纠错时间或硬件开销大的技术问题,提出一种抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,它可以纠正SerDes发出的串行数据出现连续多位数据出错,且只需纠正1位错,硬件实现过程简单,电路开销小。
抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,包括发送端对发送的低速并行数据的编码和并串转换步骤,以及接收端对接收的高速串行信号的串并转换和解码步骤;
发送端对发送的低速并行数据的编码和并串转换,步骤如下:
T.1,将按拍连续发送的X位并行数据按每N拍为一组进行分组,每组为N行X列数据位矩阵,其中X为并行数据的数据宽度,X、N均为自然数;
T.2,对每组N行X列数据位矩阵的每列数据分别进行编码得到该列数据的校验码,每列数据的校验码为M位,进而形成M行X列校验码矩阵,并与原数据位矩阵组合成(M+N)行X列数据位矩阵,M为自然数;
T.3,将各组的(M+N)行X列并行数据,按行依次转换成(M+N)拍X位并行数据,随后将其转换为高速串行信号通过传输媒体发送到接收端。
接收端对接收的高速串行信号的串并转换和解码,步骤如下:
R.1,将接收到的高速串行信号转换成数据宽度为X的并行数据。
R.2,通过识别特定的(M+N)拍X列并行数据来确定该(M+N)拍X列并行数据的边界,并以此为边界依据对后续的X列并行数据按照每组(M+N)拍X列并行数据进行分组,得到(M+N)行X列数据位矩阵,保证每组(M+N)拍X位用户并行数据能够正确解码。所述特定的M+N拍X列并行数据为特定的数据包,即训练用数据包,用来确认数据边界。
R.3,对每组(M+N)行X列数据位矩阵的每列数据分别进行解码,每组得到纠错后的N行X列数据位矩阵。如果收到的数据出错,在解码过程中将得到纠正。纠错的过程是按列进行,即便连续X位数据都出错,按列进行纠错的过程中错误数据也只有一个,故解码方法能纠正1位错即可。如果此时连续错误数据的位数超过X位,则不能将错误数据纠正,那么后续接收的数据中,每组数据的边界不能正确界定。
R.4,对每组N行X列数据位矩阵,转换成N拍数据宽度为X的并行数据,并按拍输出X位并行数据,恢复成原始数据。
作为本发明技术方案的进一步改进,所述T.2发送端对发送数据的编码方法采用汉明码、RS编码等可纠正1位错的编码方法。与现有技术相比,本发明的优点在于:
1)本发明对多拍并行数据的每个数据位拼接而成的新数据分别进行编码,当串行数据连续多位出错时,可将其纠正,纠错效率高,最多可纠正连续X(即数据宽度)位的错误。
2)本发明错误数据在解码过程中将得到纠正,可直接纠正错误的数据,无需重传,效率高。
3)所使用的编码方式中,纠错的过程是按列进行,即便连续X位数据都出错,按列进行纠错的过程中错误数据也只有一个,故解码方法能纠正1位错即可,因此,本发明只需纠正1位错,硬件实现过程简单,电路开销小。
附图说明
图1为本发明数据处理的结构框图;
图2为本发明纠错原理图。
具体实施方式
如图1所示,本发明抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,包括发送端发送的低速并行数据的编码和并串转换步骤,以及接收端对接收的高速串行信号的串并转换和解码步骤;
发送端对发送的低速并行数据的编码和并串转换,步骤如下:
第一步,将按拍连续发送的X位并行数据按每N拍为一组进行分组,每组为N行X列数据位矩阵,其中X为并行数据的数据宽度,X、N均为自然数。
第二步,对每组N行X列数据位矩阵的每列数据分别进行编码得到该列数据的校验码,每列数据的校验码为M位,进而形成M行X列校验码矩阵,并与原数据位矩阵组合成(M+N)行X列数据位矩阵,M为自然数。编码方法采用汉明码、RS编码等可纠正一位错的编码方法。
第三步,将各组的(M+N)行X列并行数据,按行依次转换成(M+N)拍X位并行数据,随后将其转换为高速串行信号通过传输媒体发送到接收端。
接收端对接收的高速串行信号的串并转换和解码,步骤如下:
第一步,将接收到的高速串行信号转换成数据宽度为X的并行数据。
第二步,对(M+N)拍X列并行数据进行检测,通过识别特定的(M+N)拍X列并行数据来确定该(M+N)拍X列并行数据的边界,并以此为依据对后续的X列并行数据按照每组(M+N)拍X列并行数据进行分组,得到(M+N)行X列数据位矩阵,保证每组(M+N)拍X位用户并行数据能够正确解码。
第三步,对每组(M+N)行X列数据位矩阵的每列数据分别进行解码,每组得到纠错后的N行X列数据位矩阵。如果收到的数据出错,在解码过程中将得到纠正。纠错的过程是按列进行,即便连续X位数据都出错,按列进行纠错的过程中错误数据也只有一个,故解码方法能纠正1位错即可。如果此时连续错误数据的位数超过X位,则不能将错误数据纠正,那么后续接收的数据中,每组数据的边界不能正确界定。
第四步,对每组N行X列数据位矩阵,转换成N拍数据宽度为X的并行数据,并按拍输出X位并行数据,恢复成原始数据。
以下将结合图2,对本发明的实施流程做进一步详细说明。图2中以(a-j)10位宽的并行数据为例表示。基于本发明抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法传递数据的流程如下:
第一步,发送端接收N拍X位特定并行数据(此处并非用户数据,而是特定的数据包,即训练用数据包,用来确认数据边界),经过上述发送端处理数据的步骤后,输出高速串行信号,并通过传输媒体发送到接收端。
第二步,接收端将接收到的连续串行数据转换为数据宽度为X的并行数据。从中识别出上述(N+M)行X列特定并行数据的边界,并根据该边界对后续接收的连续串行数据按每(N+M)拍进行一次边界划分,对得到的每组(N+M)行X列并行数据,采用与发送端编码方法相对应的解码方法对该(N+M)行X列并行数据按列进行解码,输出N拍X位并行数据。如果收到的数据出错(图2中第三个小图内数据为X表示出错),错误数据在解码过程中将得到纠正。如图2所示,纠错的过程是按列进行,即便连续X位数据都出错,按列进行纠错的过程中错误数据也只有一个,故解码方法能纠正1位错即可。如果此时连续错误数据的位数超过X位,则不能将错误数据纠正,那么后续接收的数据中,每组数据的边界不能正确界定。
第三步,重复Y次第一步和第二步,使得接收端不会因为第一组数据偶然的传输错误而无法确认后续数据的边界。重复Y次,降低失误的概率,从而保证对收到的(N+M)X位串行数据进行的边界切分和串并转换正确。若边界切分和串并转换不正确,则继续重复此步骤。Y为自然数,根据传输需求设置。
第四步,发送端接收N拍X位用户并行数据,形成N行X列数据位矩阵,对该N行X列矩阵按列分组,对每列数据分别进行编码,形成M行X列校验码矩阵,编码方法采用汉明码、RS编码等可纠正一位错的编码方法,然后将该(M+N)行X列并行数据按行转换成(M+N)拍X位并行数据,随后将其转换为高速串行信号通过传输媒体发送到接收端。
第五步,接收端从接收的串行数据中根据第一步到第三步确定的并行数据边界收到(N+M)拍并行数据之后,采用与发送端采用的编码方法相应的解码方法对各数据位组合进行解码,输出N拍X位并行数据。
需要说明的是,第一步至第三步中,发送接收的数据是训练用的数据包,不是用户数据,第三步中对训练数据多次传输的原因是传递过程中错误数据的产生不可控,只传输一次失误概率比较高,多次传输,成功一次即可,故多次传输可以降低出错概率,并不能百分百保证一定正确;如果不成功便重复第三步。经过第一步至第三步训练数据传输后,保证对收到的(N+M)X位串行数据进行的边界切分和串并转换正确,第四步和第五步开始对用户数据进行传输。
Claims (2)
1.抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,其特征在于,包括发送端对发送的低速并行数据的编码和并串转换步骤,以及接收端对接收的高速串行信号的串并转换和解码步骤;
发送端对发送的低速并行数据的编码和并串转换,步骤如下:
T.1,将按拍连续发送的X位并行数据按每N拍为一组进行分组,每组为N行X列数据位矩阵,其中X为并行数据的数据宽度,X、N均为自然数;
T.2,对每组N行X列数据位矩阵的每列数据分别进行编码得到该列数据的校验码,每列数据的校验码为M位,进而形成M行X列校验码矩阵,并与原数据位矩阵组合成M+N行X列数据位矩阵,M为自然数;
T.3,将各组的M+N行X列并行数据,按行依次转换成M+N拍X位并行数据,随后将其转换为高速串行信号通过传输媒体发送到接收端;
接收端对接收的高速串行信号的串并转换和解码,步骤如下:
R.1,将接收到的高速串行信号转换成数据宽度为X的并行数据;
R.2,通过识别特定的M+N拍X列并行数据来确定该M+N拍X列并行数据的边界,并以此边界为依据对后续的X列并行数据按照每组M+N拍X列并行数据进行分组,得到M+N行X列数据位矩阵;所述特定的M+N拍X列并行数据为特定的数据包,即训练用数据包,用来确认数据边界;
R.3,对每组M+N行X列数据位矩阵的每列数据分别进行解码,每组得到纠错后的N行X列数据位矩阵;
R.4,对每组N行X列数据位矩阵,转换成N拍数据宽度为X的并行数据,并按拍输出X位并行数据,恢复成原始数据。
2.如权利要求1所述的抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法,其特征在于,所述T.2步骤中发送端对发送数据的编码方法采用可纠正一位错的编码方法,包括汉明码、RS编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481933.1A CN109597705B (zh) | 2018-12-05 | 2018-12-05 | 抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481933.1A CN109597705B (zh) | 2018-12-05 | 2018-12-05 | 抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597705A CN109597705A (zh) | 2019-04-09 |
CN109597705B true CN109597705B (zh) | 2022-02-08 |
Family
ID=65961210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481933.1A Active CN109597705B (zh) | 2018-12-05 | 2018-12-05 | 抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112865807A (zh) * | 2021-01-11 | 2021-05-28 | 电子科技大学 | 一种具有抗辐照功能的8b/10b编解码电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1128587A2 (en) * | 2000-02-23 | 2001-08-29 | NTT DoCoMo, Inc. | Received-signal combining method and system |
CN1849765A (zh) * | 2003-09-09 | 2006-10-18 | 株式会社Ntt都科摩 | 无线多重传输系统中的信号传输方法及发送机 |
CN101686104A (zh) * | 2008-09-22 | 2010-03-31 | 华为技术有限公司 | 一种前向纠错的编解码的方法、装置和系统 |
CN101729211A (zh) * | 2008-10-13 | 2010-06-09 | 株式会社Ntt都科摩 | 空时编码方法、无线信号的发送、接收和解码方法及装置 |
CN108155970A (zh) * | 2017-12-21 | 2018-06-12 | 中国电子科技集团公司第五十八研究所 | 一种抗干扰的高速串行接口及其实现方法 |
-
2018
- 2018-12-05 CN CN201811481933.1A patent/CN109597705B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1128587A2 (en) * | 2000-02-23 | 2001-08-29 | NTT DoCoMo, Inc. | Received-signal combining method and system |
CN1849765A (zh) * | 2003-09-09 | 2006-10-18 | 株式会社Ntt都科摩 | 无线多重传输系统中的信号传输方法及发送机 |
CN101686104A (zh) * | 2008-09-22 | 2010-03-31 | 华为技术有限公司 | 一种前向纠错的编解码的方法、装置和系统 |
CN101729211A (zh) * | 2008-10-13 | 2010-06-09 | 株式会社Ntt都科摩 | 空时编码方法、无线信号的发送、接收和解码方法及装置 |
CN108155970A (zh) * | 2017-12-21 | 2018-06-12 | 中国电子科技集团公司第五十八研究所 | 一种抗干扰的高速串行接口及其实现方法 |
Non-Patent Citations (2)
Title |
---|
"基于ARM的高速数字信号误码率控制系统的研究";李文慧;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20141031(第04期);第I136-231页 * |
"基于FPGA的高速串行码流接收器";袁建富 等;《纳米技术与精密工程》;20160531;第14卷(第03期);第196-200页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109597705A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9660763B2 (en) | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes | |
JP4366463B2 (ja) | 符号化装置及び符号化方法 | |
EP1098446A2 (en) | Multiple coding method and apparatus, multiple decoding method and apparatus, and information transmission system | |
CN108111256B (zh) | 级联编译方法、装置、存储介质及其计算机设备 | |
CA3193957C (en) | Forward error correction with compression coding | |
RU2310273C2 (ru) | Способ кодирования-декодирования информации в системах передачи данных | |
CN108282265A (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
CN1756090A (zh) | 信道编码装置和方法 | |
CN109597705B (zh) | 抗单粒子翻转和单粒子瞬态的高速串行接口数据编解码方法 | |
CN104135345A (zh) | 一种应用于长期演进系统的跨层编解码方法 | |
CN102299784A (zh) | 数据传输方法和设备 | |
CN1656692A (zh) | 用于迭代硬判决前向纠错译码的装置 | |
CN112332869A (zh) | 改进的tpc迭代方法和装置 | |
US20220286145A1 (en) | Pipelined forward error correction for vector signaling code channel | |
CN102208963B (zh) | 一种系统二进制确定无速率码的译码方法 | |
RU2608872C1 (ru) | Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби | |
WO2020114318A1 (zh) | 一种编码方法、解码方法及装置 | |
Peterson | Data coding and error checking techniques | |
RU2759801C1 (ru) | Способ кодовой цикловой синхронизации для каскадного кода при применении жестких решений | |
CN112803955B (zh) | 通用Turbo码编码器结构、编码器、方法、装置、设备及介质 | |
Tomás et al. | Reverse-maximum distance profile convolutional codes over the erasure channel | |
Ajmera et al. | High speed architecture for orthogonal code convolution | |
Takata et al. | An error control system with multiple-stage forward error corrections | |
CN113890544A (zh) | 基于并行耦合极化码编译码方法 | |
CN116886241A (zh) | 物理层数据的编解码和传输系统及方法 |
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 |