问题描述
工程中硬件工程师为了获得更好的信号完整性,将两个光口的PN脚做了翻转处理,具体如图1所示。本来应该接到p脚的接了发送的n,这样在工程中直接按照当前的管脚进行配置,在跑工程时,就会管脚分配错误,具体如图2所示。
图1
图 2
解决方法
英特尔提供的PN翻转操作步骤及含义如图3、图4、图5所示。需要配置寄存器0x87到0x84这些寄存器(大致就是先配置的数据,再配置的地址)。
图 3
图 4
图 5
具体配置流程如图6所示。
图 6
注:
(1) 在配置0x90地址时,英特尔说明上是只改变bit0的赋值,所以为了不改变其余bit位的值,所以需要先将0x90地址的值读出来,再把bit0修改为1’b1,其余bit位保持不变。然后再把数值写入0x90地址。
实机配置实验结果如图7所示。配置完成后,网口能够成功link。
图 7