前一阵调板子碰到了一个问题,通信模块在收发过了一阵之后就罢工了,只有重启或上电才能让它恢复。一开始俺怀疑FPGA里的逻辑有问题,改了很久,又是调试,又是仿真,始终没解决。
把这个问题搁置了一段时间后,本周重振旗鼓。从逻分抓的信号来看,内部电路有时在接收到同步字触发后,仿佛陷入了某种不可描述之状态。实在是不合常理啊。经过了痛苦的自省之后,把模组和大板子之间的连线重新摸了一遍。突然,电路又能正常收发了。WTF,原来又是接触不良。
回想俺踏上工作岗位后调试的第一个实际硬件故障,竟然也是接触不良。当时单位开发中的一个CPU芯片(比龙芯早多了)做了块FPGA板,结果板子死活起不来。IT调了半天搞不定。(不要问我老板为啥叫IT调开发板。
)老板看俺的工作优先级很低,就派俺去调了。俺当时对这块板子十成都懂不到一成,估计那个IT也比俺强。对着这么个东西和示波器逻分,还能干啥?只好上电,下电,复位,插拔。几个CPU芯片设计的同事也过来支招,一般都往设计问题上引,当然无济于事。到第二天,插拔了一下之后,CPU突然奇迹般地启动了。原因是那块紧得都插不进的插槽竟然也接触不良,插好了就神马问题都没有了。因为那个插槽是如此的紧,始终没有人怀疑它的接触有问题。