寄存器被改写问题总结
1,场景
挂测业务过程中,发现端口会出现接口down的过程,读光模块信息发现模块信息被改写,切页寄存器和模块端口使能寄存器被改写,光模块的访问是通过gpio 模拟iic 访问的。
2,问题怀疑方向
怀疑点1;软件有人操作寄存器,检查代码,发现没人操作端口使能寄存器。
怀疑点2,gpio模拟iic访问频率过高,调整100K/400k/60k调整没效果;
怀疑点3,gpio读写误判操作;
怀疑点4,多进程访问导致线程安全出问题;
3,问题分析
(1)定位问题
查看日志,分析眼图信号,首先查看sdk serdies的信号和phy芯片的信号,发现sdk收到的信号很差,phy测看信号一直在跳变,环回查看信号。
发现模块异常原因为未加载调制信号,触发了TX_LOS,在模块发射LOS的情况下,引起TX_Mute致使模块不发光。铭普光模块实现了Tx Squelch功能,发现芯片内部逻辑在判决调制信号时出现异常会导致此类问题。TX_SQ判断条件比较严格,因为底噪原因各通道LOS判断不一致,出现通道未触