CN108809618A - 一种8b10b编码串行数据的时钟恢复方法 - Google Patents
一种8b10b编码串行数据的时钟恢复方法 Download PDFInfo
- Publication number
- CN108809618A CN108809618A CN201810480835.XA CN201810480835A CN108809618A CN 108809618 A CN108809618 A CN 108809618A CN 201810480835 A CN201810480835 A CN 201810480835A CN 108809618 A CN108809618 A CN 108809618A
- Authority
- CN
- China
- Prior art keywords
- data
- byte
- frame
- clock
- cnt
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0091—Transmitter details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种8b10b编码串行数据的时钟恢复方法,具体为,帧层的发送端将上层应用的数据以N字节为单位组帧发送,接收端进行帧判别、同步状态指示及数据提取;字节层的发送端对8bit字节进行10bit编码,并插入帧同步字,接收端按10b8b规则解码10bit流为数据字节或帧同步字;位层的发送端等间隔发送10bit数据流,接收端进行时钟同步和数据采样。本发明逻辑简单,易于在FPGA甚至CPLD中进行复用;倍频数低,可在较高速的通信场景中实现大规模并行复用。
Description
技术领域
本发明涉及一种8b10b编码串行数据的时钟恢复方法,属于硬件通信技术领域。
背景技术
在工业自动化设备中,随着设备处理对象数量增加、处理精度和速度要求提高、设备间联系网络的增强,设备中往往集成多个处理器(包括CPU、DSP、FPGA、SOC等),处理器间、设备间需要进行复杂的数据交换。以分布式电网安全稳定控制装置为例,其由数个机箱组成,每个机箱内置十数个模件,不同模件分别采集若干路模拟信号、收发若干路控制信号、进行若干路协议通信。对于机箱内通信汇聚点、装置间通信汇聚点,通信具备高速、实时、并发等特点,一般采用多条链路的高速串行通信设计实现。
在高速串行通信中,通信接收端的时钟(数据)恢复(CDR,Clock Data Recovery)是关键的一环,为收发端时钟同步、接收数据提供必要的基础。时钟恢复一般采用如下几种技术:
1)PLL(Phase Locked Loop,锁相环)芯片。采用内置PLL电路的专用时钟恢复芯片。其输入串行数据,输出恢复后的时钟,为后级通信节后电路提供时钟源及数据采样基准。
2)FPGA(Field-Programmable Gate Array,现场可编程逻辑阵列)内嵌PLL。FPGA内部集成一个或多个PLL,每个PLL可对1路串行信号进行时钟恢复,其输出信号可直接提供给片内后级逻辑电路。
3)同频分相采样。通常在FPGA内用逻辑电路实现。同时设计多个与接收时钟同频的采样电路,实时从中选择当前相位合适的采样结果。
4)倍频采样。通常在FPGA或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)内用逻辑电路实现。利用高倍频时钟(通常为8X、16X,X即倍数),采样得到接收信号的近似波形,从其电平跳变沿得到信号时钟。
上述的几种技术在各类通信场合都得到了广泛应用,也都存在相应的局限性。列举如下:
1)PLL芯片:需要专业芯片,成本高,占用PCB(Printed Circuit Board,印制电路板)面积,增加EMI(Electro Magnetic Interference,电磁干扰)风险。
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。
前述的在Bit层的接收端,设计数器cnt_LEVEL,在0-m间循环,m为变化数,其值表示当前1bit流数据电平以CLK_3X有效采样的点数,每当电平翻转,cnt_LEVEL归零,之前的值即为m;设sta_FAST、sta_EQUAL、sta_SLOW三个状态位分别表示当前时刻接收数据时钟与本地时钟相比的快慢关系,当m=3时,sta_EQUAL有效,即当接收数据时钟与本地时钟一致,当m=2、4时,sta_FAST、sta_SLOW分别有效;随着时间的推移,m值会在2-4间动态变化,从而从其变化规律推算出收发两侧时钟的误差方向及误差比率。
本发明的有益效果为:
本发明逻辑简单,易于在FPGA甚至CPLD中进行复用;倍频数低,可在较高速的通信场景中实现大规模并行复用。
本发明在底层设计的应用中对逻辑芯片性能要求低,占用逻辑芯片资源少且易于并行设计。
附图说明
图1为8B10B_3X_CDR三层设计功能框图;
图2为8B10B_3X_CDR帧层设计流程图;
图3为8B10B_3X_CDR字节层设计原理图;
图4为8B10B_3X_CDR位层设计流程图;
图5为8B10B_3X_CDR稳控装置实施图,图5(a)为稳控装置机箱内部通信,图5(b)为多站装置间通信;
图6为8B10B_3X_CDR FPGA资源布局图。
具体实施方式
下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提出一种低倍频采样的方法,应用于采用8b10b编码方式的高速通信场景,结合8b10b信号电平快速跳变的特性、8b10b特殊字编码组帧、香农采样定理中2倍频理论极限,同时基于工程实践可行性考虑,采用3倍频对8b10b成帧串行数据进行时钟恢复。本发明基于3倍频采样及8b10b编码原理的时钟恢复的逻辑流程,记为8B10B_3X_CDR。
从通信实现原理的角度,8B10B_3X_CDR可分为如下三层:帧(Frame)层、字节(Byte)层、位(Bit)层,分别对应设计在8b10b帧收发、8b10b字节编解码、8b10b位流采集及同步三方面的内容,如表1所示。如果按照OSI(Open System Interconnection,开放系统互联)通信层次进行对应,8B10B_3X_CDR包含内容相当于物理层的较上层部分及链路层的较下层部分。
表1 8B10B_3X_CDR层次功能表
层次 | 发送端 | 接收端 |
Frame层 | 组帧发送应用数据 | 判别帧格式,提取应用数据 |
Byte层 | 按8b10b编码数据/控制字 | 按10b8b规则解码bit流为数据字节/控制字 |
Bit层 | 发送编码后10bit数据流 | 时钟同步,bit数据采样 |
基于8b10b编码的特点,在所有256种可能的8bit字节原始数据对应的10bit编码数据外,另有多个非平衡的特殊字节可供通信使用。例如,PCI-E、千兆光以太网不仅利用8b10b编码,还利用K28.3(8b10b编码中,K、D分别表示特殊字符、普通数据)控制码以等间隔插入数据流,作为同步字使用。即大部分8b10b的应用中,链路层的数据帧一般结构为:1同步字(非平衡码,通常为K28.3)+N字节数据(平衡码)。8B10B_3X_CDR也是采用该组帧方式,通信收发端各层的数据格式参见图1。由于时钟恢复的大部分设计在于通信接收端,故本发明的重点在通信接收端。下面对各层设计进行详细介绍。
帧(Frame)层
Frame层功能为:发送端组帧发送,接收端从帧中恢复数据。具体实现方法如下(参见图2):
首先定义帧结构和控制码如下:
帧结构为:1字节控制码+N字节有效数据,数据流以此(N+1)字节为基本发送/接收单位。N值可变,通常取16,32,64。本发明以N=16为例。
控制码,即帧同步字节,为10bit非平衡编码,通常设为K28.3,也可设为K28.1,K28.5等。该控制码没有8bit数据与其对应。在下文帧结构描述中,称其为帧同步字。
该层的发送端和接收端的数据处理如下:
发送端,将上层应用的数据以N字节为单位组帧发送。设状态位nSYNC_DATA,其0/1值分别表示当前发送帧同步字/正常数据。设计数器cnt_N,在0->16间循环,对基本帧的字节数据发送进行计数。当nSYNC_DATA状态为0时,发送帧同步字;当cnt_N为1-16时,nSYNC_DATA状态为1,当前发送正常数据字节。
接收端,提取Byte层字节比较结果进行帧判别、同步状态指示及数据提取,具体如下:
帧判别:与发送端对应,设计数器cnt_N,在0->16间循环,每增1表示收到新接收、译码后的一个字节(含控制字)。设状态位FRM_OK,其值为1表示当前帧接收正确。当cnt_N为0时nSYNC_DATA为0,且cnt_N为1-16时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]数据。
数据校验:在链路层的较高层或更高层次进行,8B10B_3X_CDR不作描述。
字节(Byte)层
Byte层功能为:发送端对8bit字节进行10bit编码,接收端对10bit字节进行解码。具体实现方法如下(参见图3):
根据8b10b基本原理,对8b10b的字节编码或解码,可将字节拆分为3b4b、5b6b两部分进行。这样可简化逻辑资源,降低FPGA布线复杂度。其具体方法,包括正反码的均衡控制等操作,均采用8b10b常规设计方法,可参考相关文献。
21)发送端,在1字节时间窗口内,将8bit字节数据编码为10bit字节数据,以固定的10bit传输间隔,提供给发送端Bit层逻辑。
22)接收端,设CLK_1X为接收端硬件系统时钟,频率与数据传输速率相等(物理上两者有相对偏差、抖动)。设CLK_3X为3倍采样时钟,由CLK_1X三倍频而得。设DATA_SYNC为同步后的采样数据,ENA_SYNC为其数据使能信号,均由接收端Bit层逻辑输出。分别以CLK_3X、ENA_SYNC、DATA_SYNC为时钟、使能、数据进行数据流采集,同时以10bit窗口对数据流进行10b8b解码,将结果记录到nSYNC_DATA,供Frame层逻辑进行判别。
23)扩展设计:如前所述,8b10b编码规则中,除了将K28.3用于基本链路帧的同步,也可将其他特殊字符用于通信的更高层次,如包数据的帧头、帧尾。这些字符的处理与K28.3处理相互独立,其编解码逻辑也在本层实现。
位(Bit)层
Bit层功能为:发送端等间隔发送10bit数据流,接收端对其进行时钟同步和数据采样。详细方法如下(参见图4):
31)发送端:按照CLK_1X频率,对Byte层编码后的10bit数据流连续发送。
32)接收端:
321)设cnt_ENA为0-2循环计数器,以CLK_3X为时钟源,当其值为1时,ENA_SYNC置为有效。以CLK_3X对接收数据RXD_IN进行采样,采样后信号记为DATA_SYNC,如检测到信号电平跳转,将cnt_ENA重新置零。CLK_3X、ENA_SYNC、DATA_SYNC为主要输出信号,提供给Byte层进行10b8b解码使用。
322)设LOST_SYNC为失步状态指示,其值为1表示接收信号丢失或异常。设cnt_BIT为固定电平计数器。以CLK_3X对接收数据进行采样,从新边沿跳转开始,cnt_BIT累加,当计数到K时,LOST_SYNC置为1。
323)参数K理论上为可能采样到的10bit编码的连续数据码流电平对应的bit数,其最小值应为5bit(控制码最大连续bit数)*4(单个bit以CLK_3X可能采样到的最大点数)=20。考虑到后级处理的鲁棒性,K值可适当放宽,或进行二级参数(K x K1)处理。
33)扩展设计:接收端另设计了一段可供评估收发两侧时钟误差特性的逻辑。设计数器cnt_LEVEL,在0-m间循环,m为变化数,其值表示当前1bit流数据电平以CLK_3X有效采样的点数,每当电平翻转,cnt_LEVEL归零,之前的值即为m。设sta_FAST、sta_EQUAL、sta_SLOW三个状态位分别表示当前时刻接收数据时钟与本地时钟相比的快慢关系,三者互斥,当前有且只有一个为1。当m=3时,sta_EQUAL有效,即当接收数据时钟与本地时钟基本一致,当m=2、4时,sta_FAST、sta_SLOW分别有效。随着时间的推移,m值会在2-4间动态变化,从其变化规律可推算出收发两侧时钟的误差方向及大概的误差比率。由于是时钟恢复逻辑的延伸应用,具体过程略。
实施例1
分布式电网安全稳定控制装置是典型的工业自动化测控设备,简称稳控装置。以某区域精准切负荷工程为例,设备安装于多个厂站及多个用电企业,从逻辑层次上分为主站、子站、接入站、终端站等四层,每层站点安装有不同数量及配置的稳控装置。稳控装置内部的多个处理器间、装置间、站间均需要高速串行通信。
图5为8B10B_3X_CDR在稳控装置机箱内部、装置机箱间、多站装置间的应用实施图。
1)装置内部通信
装置机箱内部各个模件上的多个处理器,物理上通过背板进行数据交互。由于装置从功能角度本为一个整体,由于物理等条件的限制分解为若干模件,因而模件间的交互最为紧密,即交互数据要求高带宽、高实时。如图5(a)所示,为了满足模件间不同数据类型交互的需求,模件间的高速链路分为2种:总线式BLVDS(Bus LVDS)、点对点式LVDS(Low-Voltage Differential Signal,低压差分信号)。前者传输一致性程度高的下行数据;后者传输内容各异的采集上行数据。由于实时性和高带宽的要求,基于非实时包交换的以太网、最高速率为1Mbps的CAN(Controller Area Network,控制现场总线)等标准化通信方式不能满足要求,基于FPGA芯片定制的专用通信方式成为合理的选择。应用8B10B_3X_CDR技术,各模件通过FPGA的软硬件设计,实现多链路的高速实时通信。
2)站内装置间通信
与装置功能统一、多模件分散类似,站内的多装置组成的控制系统从功能上也是统一的,需要进行装置间中、短距离的数据交互。相对于装置内部交互,装置间的交互特点是距离不一(从n米到1千米)、带宽高(汇总整个装置多模件数据量),因此宜采用光纤方式进行通信。通信底层应用8B10B_3X_CDR设计,每个光纤链路通信速率可达100Mbps;同时通过多路复用设计,单通信节点多路光纤整体通信带宽可达1Gbps以上。
3)站间装置通信
在少数发电厂/变电站应用场合,相邻几十千米的厂站可将两侧稳控装置直接接入光纤链路进行通信(图5(b)),其实质与站内装置间的光纤通信相同。在精准切负荷工程中,位于控制网络末端的终端站的稳控/终端装置,与就近变电站间的稳控装置,通过专用光纤进行通信。其通信方式与站内装置间依然相同,也是通过8B10B_3X_CDR设计实现高速实时数据交互。
实施例2
图6为8B10B_3X_CDR在FPGA中实施多例复用时,芯片内时钟等资源的布局图。对照前面所述具体应用场景,下面介绍8B10B_3X_CDR在FPGA芯片中设计实施的细节及特点。
基于采购数量、供货稳定性、物料成本等因素的考虑,稳控装置中采用FPGA芯片的策略通常为通信中枢模件使用低端中大规模FPGA或中端FPGA、其他各模件使用低端小规模FPGA。以Altera(Intel)的Cyclone IV E系列低端FPGA为例,其小规模型号EP4CE6、EP4CE10具备2路PLL、10路全局时钟总线,中大规模型号具备4路PLL、20路全局时钟总线。图6中相应资源为实际芯片的简化示意。图中,模块A-模块Z表示应用8B10B_3X_CDR设计的多路通信模块;PLL、GCLK分别表示芯片中锁相环及全局时钟总线资源;线形网络表示实际布线后的时钟树及时钟信号走向。通过分析可知,应用8B10B_3X_CDR的设计,具备如下特点:
1)对芯片性能要求低
由于设计中系统最高频率仅为通信链路速率的3倍,而低端FPGA、CPLD的最高工作频率在300MHz以上,故8B10B_3X_CDR能实现100Mbps速率的通信,已能充分满足工业应用要求。且其低倍频的特点使得速率不高的应用能够通过外接时钟源的方式在CPLD芯片中实现较高速的通信。
2)占用芯片资源少
由图6可知,即使同时例化了多个通信模块,整个通信设计也只占用了1路PLL、2路全局时钟总线,为系统中其他的设计留出足够资源。同时,少量资源的占用也为FPGA系统性能、稳定性的设计提供了条件。
3)易于并行设计
即使是最新工艺的中高端FPGA芯片,其用于高速通信的专用链路资源也极为有限。对于工业应用场景,100Mbps的单链路通信带宽基本能够满足高速、实时的要求。由于8B10B_3X_CDR逻辑简单、倍频数低的特点,为设计者在中低端FPGA芯片中集成多路高速通信设计提供了有利条件。同时,由于资源利用效率高,芯片的成本也得到了控制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
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_RECE[15:0]数据。
6.根据权利要求1所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤2)中,Byte层的发送端在1字节时间窗口内,将8bit字节数据编码为10bit字节数据,以固定的10bit传输间隔,提供给发送端Bit层逻辑。
7.根据权利要求1所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤2)中,设CLK_1X为接收端硬件系统时钟,设CLK_3X为3倍采样时钟,设DATA_SYNC为同步后的采样数据,ENA_SYNC为其数据使能信号,Byte层的接收端分别以CLK_3X、ENA_SYNC、DATA_SYNC为时钟、使能、数据进行数据流采集,同时以10bit窗口对数据流进行10b8b解码,将结果记录到nSYNC_DATA,供Frame层逻辑进行判别。
8.根据权利要求7所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤3)中,Bit层的发送端按照CLK_1X频率,对Byte层编码后的10bit数据流连续发送。
9.根据权利要求7所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,所述步骤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。
10.根据权利要求9所述的一种8b10b编码串行数据的时钟恢复方法,其特征在于,在Bit层的接收端,设计数器cnt_LEVEL,在0-m间循环,m为变化数,其值表示当前1bit流数据电平以CLK_3X有效采样的点数,每当电平翻转,cnt_LEVEL归零,之前的值即为m;设sta_FAST、sta_EQUAL、sta_SLOW三个状态位分别表示当前时刻接收数据时钟与本地时钟相比的快慢关系,当m=3时,sta_EQUAL有效,即当接收数据时钟与本地时钟一致,当m=2、4时,sta_FAST、sta_SLOW分别有效;随着时间的推移,m值会在2-4间动态变化,从而从其变化规律推算出收发两侧时钟的误差方向及误差比率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480835.XA CN108809618B (zh) | 2018-05-18 | 2018-05-18 | 一种8b10b编码串行数据的时钟恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480835.XA CN108809618B (zh) | 2018-05-18 | 2018-05-18 | 一种8b10b编码串行数据的时钟恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809618A true CN108809618A (zh) | 2018-11-13 |
CN108809618B CN108809618B (zh) | 2021-06-01 |
Family
ID=64092748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810480835.XA Active CN108809618B (zh) | 2018-05-18 | 2018-05-18 | 一种8b10b编码串行数据的时钟恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108809618B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221378A (zh) * | 2018-11-27 | 2020-06-02 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111385049A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 一种时间校正方法、装置、系统及存储介质 |
CN114173133A (zh) * | 2021-12-01 | 2022-03-11 | 慷智集成电路(上海)有限公司 | 数据传输的编码方法、装置、电子设备、存储介质及车辆 |
CN114416626A (zh) * | 2021-11-22 | 2022-04-29 | 中国科学院西安光学精密机械研究所 | 一种基于8b/10b编码的异步串行数据恢复方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130100948A1 (en) * | 2011-10-21 | 2013-04-25 | Garrick Thomas Irvine | Methods and Apparatuses for Maintaining Synchronization Between a Radio Equipment Controller and an Item of Radio Equipment |
CN103313126A (zh) * | 2013-05-08 | 2013-09-18 | 无锡北斗星通信息科技有限公司 | 接收有线电视信号和网络电视信号的多功能电视机 |
CN104639410A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种现场总线光纤通信接口的设计方法 |
CN105337914A (zh) * | 2015-09-30 | 2016-02-17 | 许继集团有限公司 | 一种基于1b4b编码的异步串行通信接收方法及保护装置 |
-
2018
- 2018-05-18 CN CN201810480835.XA patent/CN108809618B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130100948A1 (en) * | 2011-10-21 | 2013-04-25 | Garrick Thomas Irvine | Methods and Apparatuses for Maintaining Synchronization Between a Radio Equipment Controller and an Item of Radio Equipment |
CN103313126A (zh) * | 2013-05-08 | 2013-09-18 | 无锡北斗星通信息科技有限公司 | 接收有线电视信号和网络电视信号的多功能电视机 |
CN104639410A (zh) * | 2013-11-13 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种现场总线光纤通信接口的设计方法 |
CN105337914A (zh) * | 2015-09-30 | 2016-02-17 | 许继集团有限公司 | 一种基于1b4b编码的异步串行通信接收方法及保护装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221378A (zh) * | 2018-11-27 | 2020-06-02 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111221378B (zh) * | 2018-11-27 | 2021-08-24 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111385049A (zh) * | 2018-12-29 | 2020-07-07 | 中兴通讯股份有限公司 | 一种时间校正方法、装置、系统及存储介质 |
CN114416626A (zh) * | 2021-11-22 | 2022-04-29 | 中国科学院西安光学精密机械研究所 | 一种基于8b/10b编码的异步串行数据恢复方法 |
CN114416626B (zh) * | 2021-11-22 | 2024-04-12 | 中国科学院西安光学精密机械研究所 | 一种基于8b/10b编码的异步串行数据恢复方法 |
CN114173133A (zh) * | 2021-12-01 | 2022-03-11 | 慷智集成电路(上海)有限公司 | 数据传输的编码方法、装置、电子设备、存储介质及车辆 |
CN114173133B (zh) * | 2021-12-01 | 2023-10-13 | 慷智集成电路(上海)有限公司 | 数据传输的编码方法、装置、电子设备、存储介质及车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN108809618B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809618A (zh) | 一种8b10b编码串行数据的时钟恢复方法 | |
CN101867452B (zh) | 一种电力专用串行实时总线的通信方法 | |
CN101645869B (zh) | 具有亚微秒级时钟的交换机及其交换处理方法 | |
CN103841009B (zh) | 一种以太网数据和e1数据的转换与级联的fpga实现方法 | |
CN101841446A (zh) | 纵联通道传输装置、光纤差动保护装置及方法 | |
CN207939521U (zh) | 一种面向数字化变电站调试的时钟同步装置 | |
CN102882626A (zh) | 融合b码解码技术的ieee1588智能电网时间传输方法与装置 | |
CN102025421A (zh) | 千兆宽带隔离的pdh光端机 | |
CN102263593A (zh) | 一种基于光纤到户的能效智能管理和宽带接入系统及方法 | |
CN107579820A (zh) | 用于多路量子密钥分发系统的同步装置和同步方法 | |
CN101807953B (zh) | 无线传感网络多信道数据整合中心节点 | |
CN201584054U (zh) | 一种用电信息采集分站、终端及系统 | |
CN108957220A (zh) | 一种基于物联网的跌落式熔断器状态传送及故障分析装置 | |
CN208508966U (zh) | 基于fpga的多光网口通信设备 | |
CN207835469U (zh) | 时钟同步系统 | |
CN112671598B (zh) | 一种适用于电力系统控制保护装置的电力专用算法硬件模块 | |
CN101090298B (zh) | 一种射频拉远基站操作维护通道的建立方法 | |
CN201489051U (zh) | 具有电能计量、多路分割集线及数据转发功能的采集器 | |
CN201937592U (zh) | 新型千兆宽带隔离的pdh光端机 | |
CN203912045U (zh) | 自适应多种调制方式的数字转发中继调制解调器 | |
CN102412923B (zh) | 一种在epon系统中实现olt与onu之间时钟同步的方法 | |
WO2023028904A1 (zh) | 控制系统的同步方法及控制系统 | |
CN202394060U (zh) | 基于PowerPC系统的合并单元硬件核心板 | |
CN214337926U (zh) | 一种基于智能无线传输的协议转换网关装置 | |
CN105141035B (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 |