CN104009823B - 一种SerDes技术中的错位检测与纠错电路 - Google Patents
一种SerDes技术中的错位检测与纠错电路 Download PDFInfo
- Publication number
- CN104009823B CN104009823B CN201410237882.3A CN201410237882A CN104009823B CN 104009823 B CN104009823 B CN 104009823B CN 201410237882 A CN201410237882 A CN 201410237882A CN 104009823 B CN104009823 B CN 104009823B
- Authority
- CN
- China
- Prior art keywords
- circuit
- dislocation
- error correction
- data
- signal
- 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.)
- Expired - Fee Related
Links
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明属于SerDes串行通信技术领域,具体为一种SerDes技术中的错位检测与纠错电路。本发明由发送端数字电路和接收端数字电路两大部分组成。在发送端,由发送端控制器启动校验码发生电路依次产生N位全“1”的同步信号和仅最高位为“0”的校验信号,上述信号被二选一MUX选通输出到模拟Serializer模块,再经过差分传输通道和Deserializer后送给接收端数字电路;在接收端,错位检测电路在检测判别接收数据有没有错位;纠错电路模块根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正并最终输出。本发明采用数字电路实现,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言的数字集成电路设计流程兼容。
Description
技术领域
本发明属于SerDes串行通信技术领域,具体为一种SerDes技术中的错位检测与纠错电路。
背景技术
随着电子通信技术的发展,业内对数据接口的传输速率和通道带宽提出了越来越高的要求。传统的并行接口,如IEEE 1284、PATA等,因为通道位宽资源耗费大而不能满足系统日益小型化的要求。因此,速度更快、位宽更小的串行接口逐渐成为主流解决方案。
SerDes接口技术是英文Serializer(串行器)/Deserializer(解串器)的简称。它是一种广泛应用的时分多路复用(Time Division Multiplex, TDM)以及点对点(Point-to-Point, P2P)的串行通信技术。SerDes技术在发送端将多路并行信号转换成高速串行差分信号,通过传输介质(光缆、铜线或者低阻电介质等),最后在接收端将高速串行信号合并成原来的低速并行信号从而完成数据的传输过程。这种时分多路复用技术充分利用了传输介质的信道容量,缩减了传输信道和器件管脚数目从而降低了通道资源开销,便于系统的集成。另外,采用差分信号的传输也具有抗干扰性强,误码率低的优点。
SerDes的实现结构大致可以分为四类:并行时钟SerDes、8b/10b编码SerDes、嵌入式时钟SerDes、位交错SerDes。其中,并行时钟SerDes将并行宽总线串行化为多个差分信号对,传送与数据并联的时钟,是一种源同步做法,缺点是传输宽总线I/O时使用了多个串行对,因而需要更多的连线和低的串行对之间的偏斜。8b/10b编码SerDes首先将并行数据映射到10bit码,然后将其串化为差分对。编码的依据是:为接收器时钟恢复提供足够的边沿跳变率,并且保证直流平衡(即平衡高低电平发送的数量)。为了让接收端在串行数据流中定位到字边界,发送端会在发送数据之前添加一个区别于任何普通数据位序的特殊符号(逗号字符)。该方案的缺点是增加了两个冗余位,对接口吞吐率的提升带来不利的影响。嵌入式时钟SerDes将数据总线和时钟串化为一个串行信号对。两个高、低时钟位,在每个时钟循环中被嵌入串行数据流,从而形成每个串行化字的开始和结束帧。该方案的优点是由于数据负载夹在嵌入式时钟位之间,因此数据字宽度并不限定于字节的倍数;缺点是由于没有采用DC均衡编码,因而在光通信应用中AC耦合特性较差。位交错SerDes将多个输入串行流中的位汇聚为更快的串行信号对,广泛应用于同步光纤网中,缺点是高速电路设计带来的挑战和成本开销。
在非源同步SerDes结构中,为了进一步缩减传输信号数量,提高数据通信带宽,一方面,采取不传送与数据并联的时钟,而是在接收端采用时钟恢复电路产生采样时钟;另一方面,如果SerDes传输线不长,串扰较低,可不对并行数据编码,这样相对于8b/10b编码节约2bit码流,提高了吞吐率。数据在传输时,由于通道延时的不确定性,SerDes接收端并不能准确识别串行信号中最高位出现的位置,从而导致输出的并行数据出现错位,该过程示意图如图1所示。如果用传统的模拟电路去解决接收数据错位问题会带来设计复杂度的大大提升以及调试验证的不方便等难题。本发明采用数字电路实现了错位检测与纠错电路,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言(HDL)的数字集成电路设计流程是兼容的。
发明内容
本发明的目的在于提供一种SerDes技术中错位检测与纠错电路,采用数字电路实现,具有可编程性以及逻辑简单、灵活性好等优点。
基于以上发明目的,本发明提出一种错位检测与纠错电路,其整体结构如图2所示,它由发送端数字电路和接收端数字电路两大部分组成。发送端数字电路包括:发送端控制器、校验码发生电路、二选一数据选择器(MUX);由发送端控制器启动校验码发生电路依次产生N位全“1”的同步信号和仅最高位为“0”的校验信号,上述信号被二选一数据选择器选通输出到模拟Serializer(串行器)模块,再经过差分传输通道和Deserializer(解串器)后送给接收端数字电路。接收端数字电路包括错位检测电路、纠错电路;错位检测电路在检测到全“1”同步信号后再去检测下一个数据包,若仍为全“1”信号,则接收数据没有错位;否则,说明接收数据有错位;纠错电路根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
本发明中,所述发送端控制器,其核心为状态机,状态流程图如图3所示,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“1010…10”信号,同时将MUX的0输入端选通输出。当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“1111…11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生1个时钟周期的N位“0111….11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的1输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
本发明中,所述错位检测电路,其结构如图4所示,由一个状态机和“0”位号计算电路构成,状态机通过检测解串器输出的N位数据,捕捉到校验包,继而启动“0”位号计算电路算出十进制位号送给纠错电路。状态机的状态流程图如图5所示,在“初始状态”,状态机检测解串器输出的N位数据,若接收为N位全“1”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“1”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生,并启动“0”位号计算电路。“0”位号计算电路根据图6(以N=8为例)查表获得十进制位号送给纠错电路。
本发明中,所述纠错电路,其结构如图7所示,由N路触发器(Flip-Flop, FF)、二选一数据选择器(MUX)和交叉开关、控制器构成,假设错位检测电路产生的位号为M,串行器按照自高向低位发送并行数据,解串器输出为Dout[N-1:0],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-1:0];否则,表示有错位,控制器的工作机制为:将解串器输出的低M+1位数据通过1级触发器后(设为Dout’[M:0]),作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为Dout’[M:0]-Dout[N-1:M+1]。
本发明的错位检测与纠错电路,其工作过程如下:
(1)在发送端,由发送端控制器启动校验码发生电路依次产生N位全“1”的同步信号和仅最高位为“0”的校验信号。
(2)同步信号及校验信号被二选一MUX(数据选择器)选通输出到模拟Serializer(串行器)模块,再经过差分传输通道和Deserializer(解串器)后送给接收端数字电路。
(3)在接收端,错位检测电路在检测到全“1”同步信号后再去检测下一个数据包,若仍为全“1”信号,则接收数据没有错位;否则,说明接收数据有错位。
(4)纠错电路模块根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
SerDes技术实现时,若采取不传送与数据并联的时钟,而是在接收端采用时钟恢复电路产生采样时钟,由于数据在传输通道延时的不确定性,SerDes接收端并不能准确识别串行信号中最高位出现的位置,从而导致输出的并行数据出现错位。如果用传统的模拟电路去解决接收数据错位问题会带来设计复杂度的大大提升以及调试验证的不方便等难题。本发明采用数字电路实现了错位检测与纠错电路,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言(HDL)的数字集成电路设计流程是兼容的。
附图说明
图1 接收数据发生错位过程图。
图2 错位检测与纠错电路整体结构图。
图3 发送端控制器状态流程图。
图4 错位检测电路结构图。
图5 错位检测电路状态机状态流程图。
图6 位号计算查表图。
图7 纠错电路结构图。
具体实施方式
在发送端,控制器的核心为状态机,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“1010…10”信号,同时将MUX的0输入端选通输出。当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“1111…11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生1个时钟周期的N位“0111….11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的1输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
错位检测电路接收解串器输出的N位数据,当检测到接收了N位全“1”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“1”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生。错位检测电路根据查表法将接收的校验包中“0”出现的位置转化为十进制数的位号传递给纠错电路。
纠错电路根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。假设位号为M,串行器按照自高向低位发送并行数据,解串器输出为Dout[N-1:0],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-1:0];否则,表示有错位,纠错方法为:将解串器输出的低M+1位数据通过1级触发器后(设为Dout’[M:0]),作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为Dout’[M:0]-Dout[N-1:M+1]。
Claims (4)
1.一种SerDes技术中的错位检测与纠错电路,其特征在于由发送端数字电路和接收端数字电路两大部分组成;发送端数字电路包括:发送端控制器、校验码发生电路、二选一数据选择器,由发送端控制器启动校验码发生电路依次产生两个N位全“1”的同步信号和仅最高位为“0”的校验信号,上述信号被二选一数据选择器选通输出到模拟Serializer即串行器,再经过差分传输通道和Deserializer即解串器后送给接收端数字电路;接收端数字电路包括错位检测电路、纠错电路,错位检测电路在检测到全“1”同步信号后再去检测下一个数据包,若仍为全“1”信号,则接收数据没有错位;否则,说明接收数据有错位;纠错电路根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
2.根据权利要求1所述的错位检测与纠错电路,其特征在于:所述发送端控制器的核心由状态机构成,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“1010…10”信号,同时将二选一数据选择器的0输入端选通输出;当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“1111…11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生1个时钟周期的N位“0111…11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的1输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
3.根据权利要求2所述的错位检测与纠错电路,其特征在于:所述错位检测电路由一个状态机和“0”位号计算电路构成;错位检测电路接收解串器输出的N位数据,当检测到接收了N位全“1”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“1”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生;错位检测电路根据查表法将接收的校验包中“0”出现的位置转化为十进制数的位号传递给纠错电路。
4.根据权利要求3所述的错位检测与纠错电路,其特征在于:所述纠错电路由N路触发器、二选一数据选择器和交叉开关、控制器构成,纠错电路根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正出来并最终输出;假设位号为M,串行器按照自高向低位发送并行数据,解串器输出为Dout[N-1:0],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-1:0];否则,表示有错位,纠错方法为:将解串器输出的低M+1位数据通过1级触发器后,作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为{Dout’[M:0], Dout[N-1:M+1]}。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410237882.3A CN104009823B (zh) | 2014-06-02 | 2014-06-02 | 一种SerDes技术中的错位检测与纠错电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410237882.3A CN104009823B (zh) | 2014-06-02 | 2014-06-02 | 一种SerDes技术中的错位检测与纠错电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104009823A CN104009823A (zh) | 2014-08-27 |
CN104009823B true CN104009823B (zh) | 2017-07-07 |
Family
ID=51370321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410237882.3A Expired - Fee Related CN104009823B (zh) | 2014-06-02 | 2014-06-02 | 一种SerDes技术中的错位检测与纠错电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104009823B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330357B (zh) * | 2015-06-30 | 2019-11-15 | 深圳市中兴微电子技术有限公司 | 一种serdes的传输校验方法、节点与系统 |
TWI594608B (zh) | 2015-11-27 | 2017-08-01 | 智原科技股份有限公司 | 積體電路以及其串化器/解串化器實體層電路的操作方法 |
CN112929584B (zh) * | 2021-02-23 | 2024-02-02 | 深圳市视显光电技术有限公司 | P2p信号采集转换方法、系统及p2p信号采集转换板 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251967A (zh) * | 1998-10-16 | 2000-05-03 | 索尼公司 | 信息处理及流处理装置和方法、记录和/或播放装置 |
CN1396736A (zh) * | 2001-07-11 | 2003-02-12 | 深圳市中兴通讯股份有限公司上海第二研究所 | 非归零码-传号反转码的编解码装置 |
CN1418417A (zh) * | 2000-02-22 | 2003-05-14 | 夏普公司 | 无线通信发射机和接收机 |
CN101706763A (zh) * | 2009-11-20 | 2010-05-12 | 中兴通讯股份有限公司 | 一种串行和解串行的方法及装置 |
-
2014
- 2014-06-02 CN CN201410237882.3A patent/CN104009823B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251967A (zh) * | 1998-10-16 | 2000-05-03 | 索尼公司 | 信息处理及流处理装置和方法、记录和/或播放装置 |
CN1418417A (zh) * | 2000-02-22 | 2003-05-14 | 夏普公司 | 无线通信发射机和接收机 |
CN1396736A (zh) * | 2001-07-11 | 2003-02-12 | 深圳市中兴通讯股份有限公司上海第二研究所 | 非归零码-传号反转码的编解码装置 |
CN101706763A (zh) * | 2009-11-20 | 2010-05-12 | 中兴通讯股份有限公司 | 一种串行和解串行的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104009823A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7305047B1 (en) | Automatic lane assignment for a receiver | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN101809556B (zh) | 横跨串行流交织和串行化/去串行化lcd、照相机、键区和gpio数据的方法和电路 | |
CN103716118B (zh) | 一种自适应多速率的数据发送和接收方法及装置 | |
CN101867452A (zh) | 一种电力专用串行实时总线的通信方法 | |
CN102708080B (zh) | 一种对齐高速串行通信通道的方法和系统 | |
JP2013146105A (ja) | 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出 | |
JP2004520778A (ja) | スキュー耐性のないデータグループを有するパラレルデータ通信 | |
CN102340316A (zh) | 基于fpga的微型空间过采样直流平衡串行解串器 | |
CN107317644B (zh) | 一种兼容突发和连续数据的帧同步装置 | |
EP1433293A1 (en) | Parallel data communication having skew intolerant data groups and data validity indicator | |
CN109101453B (zh) | 异步串行通信采样系统和方法 | |
CN104009823B (zh) | 一种SerDes技术中的错位检测与纠错电路 | |
Mahat | Design of a 9-bit UART module based on Verilog HDL | |
WO2017012517A1 (zh) | 混合物理编码子层以及数据发送、接收方法、存储介质 | |
US6687779B1 (en) | Method and apparatus for transmitting control information across a serialized bus interface | |
CN102946294A (zh) | 一种高速串行通信通道之间去偏差的方法 | |
CN111949590B (zh) | 一种可跨fpga平台的高速通讯方法 | |
CN101039323B (zh) | 多速率多协议比特流处理器 | |
KR100839687B1 (ko) | 고속 비동기 링크 상에서 디버그 포트를 통한 통과 | |
CN114442514A (zh) | 一种基于fpga的usb3.0/3.1控制系统 | |
CN101442380A (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
CN106209307A (zh) | 多颗fpga片间互联方法与系统 | |
CN115278143A (zh) | 一种基于fpga实现cml数字视频接口的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170707 Termination date: 20200602 |