4. PAM4编码与FEC在光模块链路中的协同设计

PAM4把每个符号从2个电平扩展到4个电平,单符号携带2 bit信息,在同样波特率下把速率翻倍;代价是相邻电平间距缩小到NRZ的1/3,同样的噪声与非线性会带来更高的符号错误率。因此PAM4链路几乎必然与FEC绑定使用:编码负责把比特映射成符号并保持直流平衡与跳变密度,FEC负责把残余的符号错误纠正回无错数据。本节围绕RS(544,514)、KP4 FEC、交织、预编码以及误码率门限,说明它们如何在光模块链路中协同工作。

一、RS(544,514)与KP4 FEC的基本参数

IEEE 802.3cd/bs为50G、100G、200G、400G以太网选定的FEC是RS(544,514),在IEEE 802.3中称为KP4 FEC。它工作在GF(2^10)域,即每个符号10 bit,码字总长n=544个符号,信息位k=514个符号,校验位2t=30个符号,可纠正t=15个符号错误。换算成比特:码字总长5440 bit,信息5140 bit,校验300 bit,编码开销为30/514≈5.84%,即常说的约5.8% FEC开销。

KP4的纠错能力以“符号”为单位,一个10 bit符号内无论错1 bit还是错10 bit都只算1个符号错误。这对PAM4尤其有利:PAM4的典型错误是相邻电平误判,往往整符号出错,RS按符号纠错正好匹配这种错误形态。需要区分两个门限:纠前误码率(pre-FEC BER)是FEC解码器输入端的原始误码率,纠后误码率(post-FEC BER)是解码输出端的残余误码率。KP4在纠前BER约2.4×10⁻⁴时,纠后BER可降到10⁻¹⁵量级,这是以太网要求的“无误码”运行点。

二、交织:把突发错误打散成随机错误

RS解码器擅长处理随机分布的符号错误,但光链路中的错误常呈突发形态:CDR失锁瞬间、激光器模式跳变、反射引起的多径干涉、FEC块边界处的时钟抖动,都会造成连续多个符号出错。若一个RS码字内突发错误超过15个符号,解码就会失败。交织的作用是在发送端把多个RS码字的符号按规则重新排列,使信道上的连续突发在接收端解交织后被分散到不同码字中,每个码字只承担少量错误。

以4路交织为例:发送端把4个RS码字的符号按“码字0符号0、码字1符号0、码字2符号0、码字3符号0、码字0符号1……”的顺序输出;接收端按相反规则还原。若信道出现连续40个符号的突发,解交织后每个码字只分到约10个符号错误,仍在t=15的纠错能力内。代价是交织深度带来额外的解码时延,深度越大时延越高,400G模块通常把交织深度控制在4~8之间,兼顾纠突发能力与端到端时延。

三、预编码:让PAM4符号流保持直流平衡与跳变

PAM4符号有4个电平,若直接映射,长连0或长连相同符号会导致基线漂移、时钟恢复困难。预编码(precoding)在FEC编码之后、PAM4映射之前进行,常见做法是格雷映射配合差分预编码:把相邻符号的映射关系做成格雷码,使相邻电平只差1 bit,降低误判代价;再用1/(1⊕D)的差分预编码,让接收端可用简单异或恢复原始比特,同时保证符号流有足够的跳变。预编码不改变FEC的纠错能力,但它决定了错误在符号域的相关性,进而影响FEC的实际纠错效果。

PAM4光模块链路中FEC协同处理链 MAC层数据 5140 bit/码字 RS(544,514)编码 +30符号校验 开销5.84% 交织 深度4~8 打散突发 预编码+格雷映射 差分1/(1⊕D) 直流平衡/跳变 PAM4调制 4电平/2bit DAC→光 光信道:色散、非线性、反射、模式跳变 → 突发错误 纠前BER观测点(pre-FEC BER) 光接收/ADC 均衡/判决 符号软/硬判 解预编码 恢复比特流 格雷逆映射 解交织 突发→分散 每码字≤15符号 RS(544,514)解码 纠t=15符号 纠后BER观测点 MAC层数据 post-FEC BER 目标<10⁻¹⁵ 误码率门限关系(示例值,用于理解判据) 纠前BER ≈ 2.4×10⁻⁴ → KP4解码 → 纠后BER ≈ 10⁻¹⁵(无误码运行点) 纠前BER > 约10⁻³ → 单码字错误超15符号 → 解码失败,链路不可用

四、误码率门限与链路预算的对应关系

把上述参数落到链路预算上,可以得到一条清晰的判据链。光模块接收端在ADC之后、FEC解码之前测得的BER就是纠前BER。对于KP4,工程上把纠前BER门限设在2.4×10⁻⁴附近:低于该值,纠后BER可稳定在10⁻¹⁵以下,链路判定为“无误码”;高于该值,纠后BER迅速抬升,链路进入不可用区。这个门限不是硬开关,而是一条陡峭的瀑布曲线,纠前BER从2×10⁻⁴升到1×10⁻³,纠后BER可能从10⁻¹⁵恶化到10⁻⁵甚至更高。

因此链路设计时要把预算留够。以400G FR4为例,若发射机TDECQ余量只有1 dB,接收灵敏度余量不足,纠前BER可能落在5×10⁻⁴附近,此时即使FEC仍在工作,纠后BER也可能达不到10⁻¹⁵。工程上通常要求纠前BER有至少一个数量级的余量,即目标工作点设在2×10⁻⁵~5×10⁻⁵,把2.4×10⁻⁴当作告警门限而非工作门限。这样温度漂移、老化、连接器污染带来的劣化才不会把链路推过瀑布区。

五、协同设计的实际做法

在模块实现中,FEC与PAM4的协同体现在几个具体环节。第一,FEC编码器与PAM4映射器的时钟必须同源,编码后的5440 bit码字要完整映射到2720个PAM4符号,不能跨码字边界错位,否则解码器无法对齐。第二,交织深度要与信道突发长度匹配:若实测突发长度约20个符号,交织深度取4即可把每码字错误压到5个符号以内;若突发达60个符号,则需深度8。第三,预编码的差分多项式要与接收端解预编码严格配对,任何一侧配置错误都会导致全链路误码。第四,纠前BER的观测点应放在解预编码之后、RS解码之前,用误码仪或模块内部计数器读取,作为链路健康度的核心指标。

调试建议:先用误码仪在纠前观测点扫描BER随接收光功率的变化曲线,找到瀑布区拐点,再把工作光功率设在拐点以上3 dB处。若拐点处纠前BER已高于2.4×10⁻⁴,说明TDECQ或灵敏度不足,应先优化发射眼图与接收均衡,而不是加大FEC深度。

总结来看,RS(544,514)/KP4提供约5.8%开销和15符号纠错能力,交织把信道突发打散到纠错能力之内,预编码保证PAM4符号流的直流与跳变特性,三者共同把纠前BER约2.4×10⁻⁴的工作点转换为纠后10⁻¹⁵的无误码链路。设计者的任务不是单独优化某一环,而是让编码、交织、预编码与光链路预算在同一工作点上对齐,并保留足够的纠前BER余量。