目录
前言
Channel Equalization(EQ)training是为了信道均衡/符号锁定/通道间对齐(Channel Equalization / Symbol-Lock / Inter-lane Alignment)。
EQ训练之前,必须完成通道CR训练。只有TX和RX的时钟同步了,才能保证后续的字符对齐。
下图为DisplayPort(DP-1.2)的Channel Equalization training。
EQ training介绍
1. EQ训练中,当训练HBR和HBR2速率时,TX发送禁用加扰(scrambling)的训练pattern(TPS2[HBR],TPS3[HBR2]);然后将22h或23h写入TRAINING_PATTERN_SET字节(地址102h)并将当前驱动挡位写入TRAINING_LANEx_SET字节(地址103h〜106h)。
2. 当训练HBR3时,TX发送加扰(scrambling)的pattern(TPS4[HBR3])。
3.当EQ训练成功时,DPCD寄存器的LANEx_CHANNEL_EQ_DONE,LANEx_SYMBOL_OCKED和INTERLANE_ALIGN_DONE位的值都将会是1。
EQ training流程
首先,当CR训练成功,则EQ训练接着该挡位开始训练。(假设CR训练成功的挡位电压摆幅为0,预加重为1(记为:(0,1)挡位),则EQ训练从(0,1)挡位开始继续训练)
s1. 重新配置EQ训练pattern(不同的速度对应不同的训练pattern),将pattern值写入TRAINING_PATTERN_SET位。
s2. 接着CR训练的挡位,TX发送训练pattern,开始EQ训练。必须至少等待TRAINING_AUX_RD_INTERVAL中指定的时间后,才能读取接收器DPCD寄存器LANEx_x_STATUS/LANE_ALIGNED_STATUS_UPDATED字节中的LANEx_CHANNEL_EQ_DONE,LANEx_SYMBOL_OCKED和INTERLANE_ALIGN_DONE位的值。
如果,如果读出所有位的值都为1,表示训练成功;如果不全为1,则继续等待TRAINING_AUX_RD_INTERVAL时间后,继续读取三个位的值。
s3. 如果连续读了5次后,三个位的值,还是不全为1,则需要增加挡位,重新开始EQ训练。
增加训练挡位(0,2),将挡位值更新到RX的TRAINING_LANEx_SET字节中。
然后,重新从步骤S2开始训练。
s4. 如果,当前速率中所有的挡位都未能成功,则需要降低速率。
如果,降低了速率,则必须从挡位(0,0)重新开始CR训练,只有CR训练成功了,才能再次开始EQ训练。
S5. 当link速率降低到RBR(1.62Gbps)后,EQ训练还是未成功,则需要减少lane数,从新开始CR训练;CR训练成功了,再开始EQ训练。(这是DP-1.4以上的内容)
S7. 直到DPCD寄存器的LANEx_CHANNEL_EQ_DONE,LANEx_SYMBOL_OCKED和INTERLANE_ALIGN_DONE位的值都将会时1,则EQ训练成功。
注意:在EQ训练的过程中,CR标志位必须一直为1(即:LANEx_CR_DONE的值);如果,在EQ训练的过程中,CR_DONE变为0,则表示当前速率的EQ训练已经没有必要。只有降低速率,从新开始CR训练,CR训练成功后,再开始EQ训练。
当EQ训练完成后,发送器必须向TRAINING_PATTERN_SET字节写入00h以指示训练结束,然后开始传输流数据。
EQ训练注意事项
1. 当训练HBR/HBR2时,需要禁用加扰;而训练HBR3时,需要开启加扰。
2. 在EQ训练时,CR_DONE标志必须一直为1,即:必须保持时钟是lock的。
3. 如果EQ训练时,CR_DONE变为了0,则需要降低速率,重新开始CR训练。
4. 训练时,TX和RX的训练pattern必须保持一致,lane数和link速率必须保持一致,训练挡位必须保持一致。