数据链路层发送与接收的处理过程及涉及到的模块
SYNC信号的低电平持续时间必须大于5个数据帧或者9个octet的持续时间。
Code groupsynchronization 同步的状态机转换图如图23所示,变量的具体意义在表1中有详细的描述。
图23:Code groupsynchronization state machine
Variable
Meaning
Icounter
Counter used in the CS_CHECK phase to count the number of invalid symbols
INVALID
Asserted by receiver to indicate that the current symbol is an invalid symbol given the current running disparity.
K_received
Asserted when the current symbol corresponds to control character K28.5
Kcounter
Counter used in the CS_INIT phase to count the number of valid K28.5 symbols
sync_request
Asserted by receiver when loss of code group synchronization has been detected. Note that sync_request does not drive SYNC~ directly, as SYNC~ assertion/de-assertion is based on more than just the sync_request signal described here.
VALID
Asserted by receiver to indicate that the current symbol is a valid symbol given the current running disparity.
Vcounter
Counter used in the CS_CHECK phase to count the number of successive valid symbols
code groupsynchronization只需要在SYNC有效时进行,而在数据的正常传输时,两个相邻字节中的某1bit出现错误,也将有可能出现comma码,而此时的comma码将不能用来作为同步的检测的标准。
1.1.2 Initial frame synchronization
Initial framesynchronization 的状态机如图24所示,该系统复位时,状态机将进入initial state,octet counter 将会被清零,而的code group synchronization 将在系统复位后生成同步请求,在这种情况下,framesynchronization 将一直处于initialstate。
图23:frame synchronizationstate machine
Frame synchronization的状态机将在code group synchronization完成后,并且发送器停止发送K码后进入FS_DATA状态,在该状态下,octet counter将会进行计算,以标记当前的octet在frame中的位置,octet counter的计数范围是:0 到F-1.如果有同步请求状态机将直接回到FS_INIT状态,但是如果有各个接受器的情况下,其他接受器发送SYNC请求时,当前接收器并不知道有同步请求的情况下,状态机只能通过检测连续的K28.5来判断状态机是否跳转。
如果K28.5被检测到,状态机将进入FS_CHECK状态,在FS_CHECK状态中,octet counter将继续计数,如果有4个K28.5被检测到,状态机将直接跳转到initial 状态。
Variable
Meaning
any_sync_request
A sync request asserted by any receiver connected to the link.
CHECK_ALIGNMENT
Perform frame alignment monitoring, see subclause 7.3
F
Number of octets per frame
Kcounter
Counter used in the FS_CHECK phase to count the number of K28.5 symbols
K_received
Asserted when the current symbol corresponds to control character K28.5 (valid or invalid)
Ocounter
Counter used to mark the position of the current octet in the frame.
sync_request
Asserted by receiver when loss of code group synchronization has been detected or if another error requires re-initialization.
1.2 Tx controller
Tx controller主要功能与Rx controller是保持一致的,其内部需要完成状态如下图所示:
具体的流程如下:
在系统复位后,状态机进入SYNC状态,在该状态下发送器将持续的发送K28.5的comma码,在SYNC信号被释放后的第一个数据帧到来时,状态机将跳转到INIT_LANE状态。
在LINIT_LANE状态下,状态机将通过控制信号控制Initial lanealignment sequence generator模块开始生产lane同步的序列,并控制MUX模块输出Initial lane alignment sequence。
在Initial lane alignment sequence发送完毕后,状态机将进入正常的数据发送状况,并在系统要求同步时进入SYNC状态。
Variable
Meaning
7C_octet
Asserted when the scrambler outputs a 0x7C (28.3) octet
alignment_sent
Used to indicate a /K28.3/ or /K28.7/ has been sent in the previous frame.
FC_octet
Asserted when the scrambl
- 用于以太网物理层时钟同步PLL的VCO设计(04-01)
- CAN物理层调试基础知识及举例(02-07)
- 与USB3.1相比,新规范--速率再翻倍(09-09)
- 高线性度组件简化直接转换接收器的设计(08-12)
- 半英寸 UMTS 基站接收器(10-08)
- 纤巧的数字预失真接收器集成了 RF、滤波器和 ADC(04-10)