数据链路层发送与接收的处理过程及涉及到的模块
,2、相对于字节边界,它能产生一个统一的对齐。在不考虑错误的情况下,Comma 信息不能出现在其他 bit 位上,既不能出现在其他字符中,也不能出现在两个字符之间。符合这两个条件的0011111 和 0011111 被选作是 Comma 信号,包含有 Comma 信号的 K.28.1(001111 1001 或 110000 0110),K.28.5(001111 1010 或 110000 0101),K.28.7(001111 1000 或 110000 0111)被称为 Comma 字符。如果码流中出现两个或者 3 个交叠的 Comma 信号,只有第一个和第三个 Comma 信息会被检测出来。比如出现两个 K.28.7,码流00111110000011111000 中会出现三个 Comma 信号:0011111,1100000 和 0011111,这样只有第一个和第三个 Comma 会被认为是合法的,这符合码流中实际上只有两个 K.28.7 的情况。虽然 K.28.7 不容易出现错码(其他码要错两位才可能变为K.28.7),但是它的跳变密度比较低,不利于时钟数据恢复。所以在实际应用中,一般只使用 K.28.1、K.28.5 作为 Comma 字符,而不使用 K.28.7。
Comma 检测就是检测串行码流中的 Comma 信息,然后把字节边界调整到Comma 信号之前,实现字节边界的对准,为 8b/10b 解码器提供正确的并行输入信号,其功能如图31所示。
图31:comma检测器
1.7 数据链路层的SystemC仿真
发送器数据链路层的仿真包括数据进入数据链路层后先进行scrambler、然后通过同步字替换模块、再通过8b/10b编码输出,输出的并行数据进入到物理层的SerDes模块,最终输出1bit位宽的数据流。
接收器通过物理层的SerDes模块将输入的1bit数据流数据转为10bit并行的数据,CDR模块将对数据进行恢复,并通过comma码K28.5对输入的数据完成边界的对齐,数据经过8b/10b解码模块后,最终输出到数据通道同步检测模块和帧同步检测模块,通道同步检测模块完成不同数据通道间数据的同步与检测,而帧同步检测模块完成数据帧帧头的识别,同步后的数据将通过descramber模块完成数据的解扰工作,并最终将数据输出到数据传输层,以下是SystemC的仿真图:
上图中,模拟了AD9250的两个AD转换通道,一个通道采样的为数据三角波,一个通道采样的正弦波,而下面的是接收器接收到的数据,该数据的前半段的毛刺是由于系统同步而导致的。
- 用于以太网物理层时钟同步PLL的VCO设计(04-01)
- CAN物理层调试基础知识及举例(02-07)
- 与USB3.1相比,新规范--速率再翻倍(09-09)
- 高线性度组件简化直接转换接收器的设计(08-12)
- 半英寸 UMTS 基站接收器(10-08)
- 纤巧的数字预失真接收器集成了 RF、滤波器和 ADC(04-10)