一种SerDes技术中的错位检测与纠错电路的制作方法

文档序号:7805120阅读:286来源:国知局
一种SerDes技术中的错位检测与纠错电路的制作方法
【专利摘要】本发明属于SerDes串行通信【技术领域】,具体为一种SerDes技术中的错位检测与纠错电路。本发明由发送端数字电路和接收端数字电路两大部分组成。在发送端,由发送端控制器启动校验码发生电路依次产生N位全“1”的同步信号和仅最高位为“0”的校验信号,上述信号被二选一MUX选通输出到模拟Serializer模块,再经过差分传输通道和Deserializer后送给接收端数字电路;在接收端,错位检测电路在检测判别接收数据有没有错位;纠错电路模块根据接收的校验码中“0”实际出现的位号将正确的数据位序恢复纠正并最终输出。本发明采用数字电路实现,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言的数字集成电路设计流程兼容。
【专利说明】—种SerDes技术中的错位检测与纠错电路
【技术领域】
[0001]本发明属于SerDes串行通信【技术领域】,具体为一种SerDes技术中的错位检测与纠错电路。
【背景技术】
[0002]随着电子通信技术的发展,业内对数据接口的传输速率和通道带宽提出了越来越高的要求。传统的并行接口,如IEEE 1284、PATA等,因为通道位宽资源耗费大而不能满足系统日益小型化的要求。因此,速度更快、位宽更小的串行接口逐渐成为主流解决方案。
[0003]SerDes接口技术是英文Serializer (串行器)/Deserializer (解串器)的简称。它是一种广泛应用的时分多路复用(Time Division Multiplex, TDM)以及点对点(Point-to-Point, P2P)的串行通信技术。SerDes技术在发送端将多路并行信号转换成高速串行差分信号,通过传输介质(光缆、铜线或者低阻电介质等),最后在接收端将高速串行信号合并成原来的低速并行信号从而完成数据的传输过程。这种时分多路复用技术充分利用了传输介质的信道容量,缩减了传输信道和器件管脚数目从而降低了通道资源开销,便于系统的集成。另外,采用差分信号的传输也具有抗干扰性强,误码率低的优点。
[0004]SerDes的实现结构大致可以分为四类:并行时钟SerDes、8b/10b编码SerDes、嵌入式时钟SerDes、位交错SerDes。其中,并行时钟SerDes将并行宽总线串行化为多个差分信号对,传送与数据并联的时钟,是一种源同步做法,缺点是传输宽总线I/O时使用了多个串行对,因而需要更多的连线和低的串行对之间的偏斜。8b/10b编码SerDes首先将并行数据映射到IObit码,然后将其串化为差分对。编码的依据是:为接收器时钟恢复提供足够的边沿跳变率,并且保证直流平衡(即平衡高低电平发送的数量)。为了让接收端在串行数据流中定位到字边界,发送端会在发送数据之前添加一个区别于任何普通数据位序的特殊符号(逗号字符)。该方案的缺点是增加了两个冗余位,对接口吞吐率的提升带来不利的影响。嵌入式时钟SerDes将数据总线和时钟串化为一个串行信号对。两个高、低时钟位,在每个时钟循环中被嵌入串行数据流,从而形成每个串行化字的开始和结束帧。该方案的优点是由于数据负载夹在嵌入式时钟位之间,因此数据字宽度并不限定于字节的倍数;缺点是由于没有采用DC均衡编码,因而在光通信应用中AC耦合特性较差。位交错SerDes将多个输入串行流中的位汇聚为更快的串行信号对,广泛应用于同步光纤网中,缺点是高速电路设计带来的挑战和成本开销。
[0005]在非源同步SerDes结构中,为了进一步缩减传输信号数量,提高数据通信带宽,一方面,采取不传送与数据并联的时钟,而是在接收端采用时钟恢复电路产生采样时钟;另一方面,如果SerDes传输线不长,串扰较低,可不对并行数据编码,这样相对于8b/10b编码节约2bit码流,提高了吞吐率。数据在传输时,由于通道延时的不确定性,SerDes接收端并不能准确识别串行信号中最高位出现的位置,从而导致输出的并行数据出现错位,该过程示意图如图1所示。如果用传统的模拟电路去解决接收数据错位问题会带来设计复杂度的大大提升以及调试验证的不方便等难题。本发明采用数字电路实现了错位检测与纠错电路,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言(HDL)的数字集成电路设计流程是兼容的。

【发明内容】

[0006]本发明的目的在于提供一种SerDes技术中错位检测与纠错电路,采用数字电路实现,具有可编程性以及逻辑简单、灵活性好等优点。
[0007]基于以上发明目的,本发明提出一种错位检测与纠错电路,其整体结构如图2所示,它由发送端数字电路和接收端数字电路两大部分组成。发送端数字电路包括:发送端控制器、校验码发生电路、二选一数据选择器(MUX);由发送端控制器启动校验码发生电路依次产生N位全“ I”的同步信号和仅最高位为“O”的校验信号,上述信号被二选一数据选择器选通输出到模拟Serializer (串行器)模块,再经过差分传输通道和Deserializer (解串器)后送给接收端数字电路。接收端数字电路包括错位检测电路、纠错电路;错位检测电路在检测到全“ I ”同步信号后再去检测下一个数据包,若仍为全“ I ”信号,则接收数据没有错位;否则,说明接收数据有错位;纠错电路根据接收的校验码中“O”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
[0008]本发明中,所述发送端控制器,其核心为状态机,状态流程图如图3所示,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“1010…10”信号,同时将MUX的O输入端选通输出。当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“111L...11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生I个时钟周期的N位“ 0111....11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的I输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
[0009]本发明中,所述错位检测电路,其结构如图4所示,由一个状态机和“O”位号计算电路构成,状态机通过检测解串器输出的N位数据,捕捉到校验包,继而启动“O”位号计算电路算出十进制位号送给纠错电路。状态机的状态流程图如图5所示,在“初始状态”,状态机检测解串器输出的N位数据,若接收为N位全“ I ”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“ I”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生,并启动“O”位号计算电路。“O”位号计算电路根据图6 (以N=S为例)查表获得十进制位号送给纠错电路。
[0010]本发明中,所述纠错电路,其结构如图7所示,由N路触发器(Flip-Flop, FF)、二选一数据选择器(MUX)和交叉开关、控制器构成,假设错位检测电路产生的位号为M,串行器按照自高向低位发送并行数据,解串器输出为Dout [N-1:0],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-l:0];否则,表示有错位,控制器的工作机制为:将解串器输出的低M+1位数据通过I级触发器后(设为Dout’ [M:0]),作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为Dout’ [M:0]-Dout[N-l:M+l]。
[0011]本发明的错位检测与纠错电路,其工作过程如下:
(I)在发送端,由发送端控制器启动校验码发生电路依次产生N位全“I”的同步信号和仅最高位为“O”的校验信号。[0012](2)同步信号及校验信号被二选一 MUX (数据选择器)选通输出到模拟Serializer(串行器)模块,再经过差分传输通道和Deserializer (解串器)后送给接收端数字电路。
[0013](3)在接收端,错位检测电路在检测到全“I”同步信号后再去检测下一个数据包,若仍为全“ I ”信号,则接收数据没有错位;否则,说明接收数据有错位。
[0014](4)纠错电路模块根据接收的校验码中“O”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
[0015]SerDes技术实现时,若采取不传送与数据并联的时钟,而是在接收端采用时钟恢复电路产生采样时钟,由于数据在传输通道延时的不确定性,SerDes接收端并不能准确识别串行信号中最高位出现的位置,从而导致输出的并行数据出现错位。如果用传统的模拟电路去解决接收数据错位问题会带来设计复杂度的大大提升以及调试验证的不方便等难题。本发明采用数字电路实现了错位检测与纠错电路,具有可编程性以及逻辑简单、灵活性好等优点,与现行通用的基于硬件描述语言(HDL)的数字集成电路设计流程是兼容的。
【专利附图】

【附图说明】
[0016]图1接收数据发生错位过程图。
[0017]图2错位检测与纠错电路整体结构图。
[0018]图3发送端控制器状态流程图。
[0019]图4错位检测电路结构图。
[0020]图5错位检测电路状态机状态流程图。
[0021]图6位号计算查表图。
[0022]图7纠错电路结构图。
【具体实施方式】
[0023]在发送端,控制器的核心为状态机,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“ 1010...10”信号,同时将MUX的O输入端选通输出。当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“1111...11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生I个时钟周期的N位“0111....11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的I输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
[0024]错位检测电路接收解串器输出的N位数据,当检测到接收了 N位全“I”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“ I ”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生。错位检测电路根据查表法将接收的校验包中“O”出现的位置转化为十进制数的位号传递给纠错电路。
[0025]纠错电路根据接收的校验码中“O”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。假设位号为Μ,串行器按照自高向低位发送并行数据,解串器输出为Dout [N-1:0 ],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-l:0];否则,表示有错位,纠错方法为:将解串器输出的低M+1位数据通过I级触发器后(设为Dout’ [M:0]),作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为Dout, [M:0 ]-Dout[N_l:M+l]。
【权利要求】
1.一种SerDes技术中的错位检测与纠错电路,其特征在于由发送端数字电路和接收端数字电路两大部分组成;发送端数字电路包括:发送端控制器、校验码发生电路、二选一数据选择器,由发送端控制器启动校验码发生电路依次产生N位全“I”的同步信号和仅最高位为“O”的校验信号,上述信号被二选一数据选择器选通输出到模拟Serializer即串行器,再经过差分传输通道和Deserializer即解串器后送给接收端数字电路;接收端数字电路包括错位检测电路、纠错电路,错位检测电路在检测到全“ I ”同步信号后再去检测下一个数据包,若仍为全“I”信号,则接收数据没有错位;否则,说明接收数据有错位;纠错电路根据接收的校验码中“ O ”实际出现的位号将正确的数据位序恢复纠正出来并最终输出。
2.根据权利要求1所述的错位检测与纠错电路,其特征在于:所述发送端控制器的核心由状态机构成,状态机默认工作在“空闲状态”,控制校验码发生电路产生N位“ 1010...10”信号,同时将二选一数据选择器的O输入端选通输出;当系统复位信号释放后,状态机跳转至“同步信号发送状态”,控制校验码发生电路产生持续两个时钟周期的N位“ 1111...11”同步信号;接着,状态机跳转至“校验信号发送状态”,控制校验码发生电路产生I个时钟周期的N位“0111....11”校验信号;此后,状态机跳转至“正常数据传输状态”,将MUX的I输入端选通输出,从而允许N位并行输入数据传送到SerDes通道中。
3.根据权利要求2所述的错位检测与纠错电路,其特征在于:所述错位检测电路由一个状态机和“O”位号计算电路构成;错位检测电路接收解串器输出的N位数据,当检测到接收了 N位全“I”信号,表示此为同步包,接着检测接收到的下一个N位数据,若仍为全“I”信号,表示此为第二个同步包,没有错位发生;否则表示此为接收错位的校验包,已有错位发生;错位检测电路根据查表法将接收的校验包中“O”出现的位置转化为十进制数的位号传递给纠错电路。
4.根据权利要求3所述的错位检测与纠错电路,其特征在于:所述纠错电路由N路触发器、二选一数据选择器和交叉开关、控制器构成,纠错电路根据接收的校验码中“O”实际出现的位号将正确的数据位序恢复纠正出来并最终输出;假设位号为M,串行器按照自高向低位发送并行数据,解串器输出为Dout [N-1:0],如果M=N-1,表示没有错位,不需要纠错,电路输出的N位并行接收数据即为Dout[N-l:0];否则,表示有错位,纠错方法为:将解串器输出的低M+1位数据通过I级触发器后,作为纠正后数据的高M+1位;同时将解串器输出的高N-M-1位作为纠正后数据的低N-M-1位,即纠错后最终输出的N位并行数据为Dout,[M:0]-Dout[N_l:M+l]。
【文档编号】H04L1/00GK104009823SQ201410237882
【公开日】2014年8月27日 申请日期:2014年6月2日 优先权日:2014年6月2日
【发明者】虞志益, 林杰, 周力君, 周炜, 朱世凯, 俞剑明 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1