40GBASE-KR4 (C84)
BASE-R FEC(C74)
FEC指的是前向纠错功能(forward error correction)功能。FEC的工作层次在PCS和PMA层之间。FEC功能通过提供编码增益的方式实现提高链路预算能力和BER性能。
发送方向:FEC子层从PCS子层接收数据,对66B/65B(先去掉两比特同步头,再添加一比特T头)代码转换,执行FEC编码/成帧,最后经过PN-2112加扰器加扰后将数据发送给PMA子层;
接收方向:FEC子层从PMA子层接收数据,经过PN-2112解扰器解扰,实现FEC帧同步,FEC解码/纠错(误码率不能太高), 对65B/66B代码转换(先去掉一比特T头,再添加两比特同步头),最后将数据发送给PCS子层;
BASE-R FEC使用缩短的循环码(2112=65×32+32开销,2080=65×32)[原始循环码为(42987,42955)]执行错误检查和前向错误纠正。该代码对2080比特的有效载荷进行编码,并添加32比特的开销(或奇偶校验符号)到每个数据块的末尾。BASE-R FEC(2112,2080)在每个数据块中(2112bits)纠正11个比特的数据误码。
FEC子层有四个功能块:反向Gearbox,FEC编码,FEC解码,FEC块同步。
发送方向比特顺序
接收方向比特顺序
MDIO功能映射
与BASE-R FEC相关的寄存器集中在C45寄存器DeviceID=1(PMA/PMD)里。下面做一个简单的介绍。
控制变量映射
状态变量映射
下节课继续介绍40GBASE-KR4的PMA层。