25GBASE-KR(S) (C111)
RS(528,514)(C108)
FEC指的是前向纠错功能(forward error correction)功能。FEC的工作层次在PCS和PMA层之间。FEC功能通过提供编码增益的方式实现提高链路预算能力和BER性能。
功能框图
发送方向:FEC子层从PCS子层接收数据,依次经过下列模块:
速率补偿与Codeword标记:66B数据先进行解扰,进行66B/64B变换,删除IDLE/LPI等有序集,64B/66B编码,再加扰;
64B/66B to 256B/257B 转码器:将tx_coded _j<65:0>(j=0 to 3) 转换成一个tx _scrambled<256:0>。tx _coded_0<0>作为新数据块的同步头比特(其他7比特同步头删除)(8比特到1比特的同步头压缩的目的是为后续的RS(528,514)编码留够开销空间);
Codeword 对齐标记插入:Codeword Marker标记插入的目的方便接收方向进行Codeword对齐。Codeword marker简称cwm,它不占据带内信息开销(利用的是原来的IDLE/LPI有序集)。每20480个257B的transcoded Block(81920个64B/66B Block)插入一个cwm。cwm为257B的数据块(64比特/alignment marker×4 alignment marker 1比特0 )。
对齐标记Alignment marker格式如下
M4到M6分别是M0到M2的逐位反转。BIP7是BIP3的逐位反转,BIP3固定为0x33,BIP7固定为0xCC。
25GBASE-R cwm编码格式
PCS lane number | M0,M1,M2,BIP3, M4,M5,M6,BIP7 |
---|---|
0 tx_cwm<63:0> | 0xC1, 0x68, 0x21, BIP3, 0x3E, 0x97, 0xDE, BIP7 |
1 tx_cwm<127:64> | 0xF0, 0xC4, 0xE6, BIP3, 0x0F, 0x3B, 0x19, BIP7 |
2 tx_cwm<191:128> | 0xC5, 0x65, 0x9B, BIP3, 0x3A, 0x9A, 0x64, BIP7 |
3 tx_cwm<255:192> | 0xA2, 0x79, 0x3D, BIP3, 0x5D, 0x86, 0xC2, BIP7 |
tx_cwm<256>=0
Reed-Solomon编码器:将20组256B/257B作为一个整体(每5140比特为一个RS-FEC Codeword),执行RS(528,514)编码(C=528,M=514,P=14);
Codeword 串行器:执行并串转换。
接收方向:FEC子层从PMA子层接收数据,依次经过下列模块:
Codeword marker lock:对cwm标记进行锁定;
Reed-Solomon解码器:执行RS(528,514)解码,形成若干个“20组256B/257B”(每5140比特为一个RS-FEC Codeword);
Codeword 对齐标记标记移除:每20480个257B的transcoded Block(81920个64B/66B Block)删除一个cwm。cwm为257B的数据块(64比特/alignment marker×4 alignment marker 1比特0 );
256B/257B to 64B/66B转码器:将tx _scrambled<256:0>转换成tx _coded _j<65:0>(j=0 to 3);
速率补偿与Codeword去标记:66B数据先进行解扰,66B/64B解码,增加IDLE/LPI等有序集,64B/66B编码,再对66B数据加扰;
发送方向比特顺序
接收方向比特顺序
MDIO功能映射
与RS FEC相关的寄存器集中在C45寄存器DeviceID=1(PMA/PMD)里。下面做一个简单的介绍。
控制变量映射
状态变量映射