一种8b10b编码串行数据的时钟恢复方法技术

技术编号:19436235 阅读:57 留言:0更新日期:2018-11-14 13:05
本发明专利技术公开了一种8b10b编码串行数据的时钟恢复方法,具体为,帧层的发送端将上层应用的数据以N字节为单位组帧发送,接收端进行帧判别、同步状态指示及数据提取;字节层的发送端对8bit字节进行10bit编码,并插入帧同步字,接收端按10b8b规则解码10bit流为数据字节或帧同步字;位层的发送端等间隔发送10bit数据流,接收端进行时钟同步和数据采样。本发明专利技术逻辑简单,易于在FPGA甚至CPLD中进行复用;倍频数低,可在较高速的通信场景中实现大规模并行复用。

【技术实现步骤摘要】
一种8b10b编码串行数据的时钟恢复方法
本专利技术涉及一种8b10b编码串行数据的时钟恢复方法,属于硬件通信

技术介绍
在工业自动化设备中,随着设备处理对象数量增加、处理精度和速度要求提高、设备间联系网络的增强,设备中往往集成多个处理器(包括CPU、DSP、FPGA、SOC等),处理器间、设备间需要进行复杂的数据交换。以分布式电网安全稳定控制装置为例,其由数个机箱组成,每个机箱内置十数个模件,不同模件分别采集若干路模拟信号、收发若干路控制信号、进行若干路协议通信。对于机箱内通信汇聚点、装置间通信汇聚点,通信具备高速、实时、并发等特点,一般采用多条链路的高速串行通信设计实现。在高速串行通信中,通信接收端的时钟(数据)恢复(CDR,ClockDataRecovery)是关键的一环,为收发端时钟同步、接收数据提供必要的基础。时钟恢复一般采用如下几种技术:1)PLL(PhaseLockedLoop,锁相环)芯片。采用内置PLL电路的专用时钟恢复芯片。其输入串行数据,输出恢复后的时钟,为后级通信节后电路提供时钟源及数据采样基准。2)FPGA(Field-ProgrammableGateArray,现场可编程逻辑阵列)内嵌PLL。FPGA内部集成一个或多个PLL,每个PLL可对1路串行信号进行时钟恢复,其输出信号可直接提供给片内后级逻辑电路。3)同频分相采样。通常在FPGA内用逻辑电路实现。同时设计多个与接收时钟同频的采样电路,实时从中选择当前相位合适的采样结果。4)倍频采样。通常在FPGA或CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)内用逻辑电路实现。利用高倍频时钟(通常为8X、16X,X即倍数),采样得到接收信号的近似波形,从其电平跳变沿得到信号时钟。上述的几种技术在各类通信场合都得到了广泛应用,也都存在相应的局限性。列举如下:1)PLL芯片:需要专业芯片,成本高,占用PCB(PrintedCircuitBoard,印制电路板)面积,增加EMI(ElectroMagneticInterference,电磁干扰)风险。2)FPGA内嵌PLL:从低端至高端,单片PPGA的PLL数量一般2至8个,多用于系统时钟处理等关键环节。如果面对多条通信链路,PLL资源往往难以满足要求。3)同频分相采样:占用数倍逻辑资源;存在多个时钟域,且存在动态切换,使后级时钟隔离设计较为复杂。4)倍频采样。为了可靠恢复信号的边沿,需要8X、16X高倍频采样,这样使得系统最高工作频率与目标通信频率比率过大,从而降低了系统效率和整体性能。8b10b是一种在中高速通信中常用的编码/解码技术,其基本原理是将8bit字节扩充为10bit,将其中1、0数基本相等的256种编码挑出,对应原字节的256种可能性(包括同样1、0均衡的反码,共512种。正反码交替传输)。这样链路在进行10bit数据传输时,便得到了电平均衡、跳变密集的优点,便于数据传输和解码。另外8b10b将少量1、0不均衡的编码(同样包括反码)作为特殊字符,可用作通信链路层或更高层的控制字节。该技术已在电力系统二次设备等工业领域广泛使用,通常是中高速实时通信应用中自有协议的首选方案。在实际的设计中,电路面积、方案成本、开发周期、EMI风险等因素使得设计人员往往无法直接采用某通用技术方案。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术的缺陷,提供一种8b10b编码串行数据的时钟恢复方法,针对8b10b编码的串行数据流,设计一套能恢复数据中时钟的流程方法,且该方法能易于逻辑编程实现并能在FPGA芯片中多例复用。为解决上述技术问题,本专利技术提供一种8b10b编码串行数据的时钟恢复方法,包括以下步骤:1)Frame层的发送端将上层应用的数据以N字节为单位组帧发送,接收端进行帧判别、同步状态指示及数据提取;2)Byte层的发送端对8bit字节进行10bit编码,并插入帧同步字,接收端按10b8b规则解码10bit流为数据字节或帧同步字;3)Bit层的发送端等间隔发送10bit数据流,接收端进行时钟同步和数据采样。前述的步骤1)发送端发送的组帧的帧结构为:1字节控制码+N字节有效数据,数据流以此1+N字节为基本发送或接收单位;所述控制码又称帧同步字,为10bit非平衡编码。前述的N的取值根据需求进行设定。前述的步骤1)Frame层的发送端进行组帧发送的过程为:设状态位nSYNC_DATA,其0/1值分别表示当前发送帧同步字/正常数据,设计数器cnt_N,在0->N间循环,对基本帧的字节数据发送进行计数,当nSYNC_DATA状态为0时,发送帧同步字;当cnt_N为1-N时,nSYNC_DATA状态为1,发送有效数据。前述的步骤1)Frame层的接收端进行帧判别、同步状态指示及数据提取的过程如下:帧判别:与发送端对应,设计数器cnt_N,在0->N间循环,每增1表示收到新接收、译码后的一个字节;设状态位FRM_OK,其值为1表示当前帧接收正确;当cnt_N为0时nSYNC_DATA为0,且cnt_N为1-N时,nSYNC_DATA如果为1,则FRM_OK置1;同步状态指示:设计数器cnt_Byte,每字节周期增1;设命令位SYN_OK,其值为1表示当前帧接收同步正常,每次FRM_OK信号有效时,判断cnt_Byte值,如在(N-1)与(N+1)之间,置SYN_OK为1,否则置0;数据提取:设8bit字节数组DATA_RECE[15:0],表示当前接收帧中有效数据;设状态位DATA_SYNC_OK,其值为1表示当前帧数据接收正确;DATA_SYNC_OK逻辑上等于FRM_OK与SYN_OK,DATA_SYNC_OK时,上层逻辑在一定时间窗口提取DATA_RECE[15:0]数据。前述的步骤2)中,Byte层的发送端在1字节时间窗口内,将8bit字节数据编码为10bit字节数据,以固定的10bit传输间隔,提供给发送端Bit层逻辑。前述的步骤2)中,设CLK_1X为接收端硬件系统时钟,设CLK_3X为3倍采样时钟,设DATA_SYNC为同步后的采样数据,ENA_SYNC为其数据使能信号,Byte层的接收端分别以CLK_3X、ENA_SYNC、DATA_SYNC为时钟、使能、数据进行数据流采集,同时以10bit窗口对数据流进行10b8b解码,将结果记录到nSYNC_DATA,供Frame层逻辑进行判别。前述的步骤3)中,Bit层的发送端按照CLK_1X频率,对Byte层编码后的10bit数据流连续发送。前述的步骤3)中,Bit层的接收端进行时钟同步和数据采样的过程如下:设cnt_ENA为0-2循环计数器,以CLK_3X为时钟源,当其值为1时,ENA_SYNC置为有效;以CLK_3X对接收数据RXD_IN进行采样,采样后信号记为DATA_SYNC,如检测到信号电平跳转,将cnt_ENA重新置零;设LOST_SYNC为失步状态指示,其值为1表示接收信号丢失或异常,设cnt_BIT为固定电平计数器,以CLK_3X对接收数据进行采样,从新边沿跳转开始,cnt_BIT累加,当计数到K时,LOST_SYNC置为1。前述的在本文档来自技高网
...

【技术保护点】
1.一种8b10b编码串行数据的时钟恢复方法,其特征在于,包括以下步骤:1)Frame层的发送端将上层应用的数据以N字节为单位组帧发送,接收端进行帧判别、同步状态指示及数据提取;2)Byte层的发送端对8bit字节进行10bit编码,并插入帧同步字,接收端按10b8b规则解码10bit流为数据字节或帧同步字;3)Bit层的发送端等间隔发送10bit数据流,接收端进行时钟同步和数据采样。

【技术特征摘要】
1.一种8b10b编码串行数据的时钟恢复方法,其特征在于,包括以下步骤:1)Frame层的发送端将上层应用的数据以N字节为单位组帧发送,接收端进行帧判别、同步状态指示及数据提取;2)Byte层的发送端对8bit字节进行10bit编码,并插入帧同步字,接收端按10b8b规则解码10bit流为数据字节或帧同步字;3)Bit层的发送端等间隔发送10bit数据流,接收端进行时钟同步和数据采样。2.根据权利要求1所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤1)发送端发送的组帧的帧结构为:1字节控制码+N字节有效数据,数据流以此1+N字节为基本发送或接收单位;所述控制码又称帧同步字,为10bit非平衡编码。3.根据权利要求2所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述N的取值根据需求进行设定。4.根据权利要求2所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤1)Frame层的发送端进行组帧发送的过程为:设状态位nSYNC_DATA,其0/1值分别表示当前发送帧同步字/正常数据,设计数器cnt_N,在0->N间循环,对基本帧的字节数据发送进行计数,当nSYNC_DATA状态为0时,发送帧同步字;当cnt_N为1-N时,nSYNC_DATA状态为1,发送有效数据。5.根据权利要求2所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤1)Frame层的接收端进行帧判别、同步状态指示及数据提取的过程如下:帧判别:与发送端对应,设计数器cnt_N,在0->N间循环,每增1表示收到新接收、译码后的一个字节;设状态位FRM_OK,其值为1表示当前帧接收正确;当cnt_N为0时nSYNC_DATA为0,且cnt_N为1-N时,nSYNC_DATA如果为1,则FRM_OK置1;同步状态指示:设计数器cnt_Byte,每字节周期增1;设命令位SYN_OK,其值为1表示当前帧接收同步正常,每次FRM_OK信号有效时,判断cnt_Byte值,如在(N-1)与(N+1)之间,置SYN_OK为1,否则置0;数据提取:设8bit字节数组DATA_RECE[15:0],表示当前接收帧中有效数据;设状态位DATA_SYNC_OK,其值为1表示当前帧数据接收正确;DATA_SYNC_OK逻辑上等于FRM_OK与SYN_OK,DATA_SYNC_OK时,上层逻辑在一定时间窗口提取DATA_R...

【专利技术属性】
技术研发人员:徐军颜云松顾晓玲赵彦丽张倩许剑冰倪明童和钦
申请(专利权)人:国电南瑞科技股份有限公司南瑞集团有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1