排查故障是一门学问,深得很。但笼而统之,就三大必须,有了这三条,没有排查不了的故障:第一、心态。第二、策略。第三、耐心。
第一条心态。你必须对出现的故障,有强烈的感激。谢谢上天给了我这个机会,我要牢牢把握住。你可以想象自己是福尔摩斯,已经好几个月没有接活了,和华生天天闲聊已经没有意思了,急切希望有个案子,苏格兰场束手无策了,等着你出马了。只有这种心态,才能让你能够在后续的长期斗争中保持亢奋的头脑、缜密的思路以及足够的耐心。
第二条策略。这是技术活。细讲太多,粗粗说点儿。
1)让故障重复出现,避免随机性故障。对随机性故障,我找机会另说。
2)保护故障现场,不轻易乱动。动的无论是软件还是硬件,都应保证可以恢复。因此,别随意焊下芯片,焊下的芯片也要放好,能找回来。另外,软件一定要按照序号备份。
3)不要一次做两个以上的改变。
4)养成习惯,用个小本记录所有的动作和事实。换了个电源,看似小事,有可能由A故障变成了B故障,你脑子就乱了。因此,如果要换电源,也要记录。
5)重视仪器和操作方法。每次记录事实,一定要确保事实是真的。
6)学会用逻辑的思维。主要是,造成这种故障现象的可能性有多少种,一一列出,可能性最大的到可能性最小的。
7)学会排查次序。影响排查次序的有两个主要因素,第一故障可能性,第二排查难度。我们当然要先试探可能性最大的,且排查难度最小的。但是两者并不总是这么巧。比如,你怀疑是A芯片坏了,这可能性最大。但是把它焊下来很费劲,排查实施难度较大,就可以先排查别的可能。这一项有点运气成分,也有点经验成分。
8)学会二分法并巧妙使用。二分法,就是把故障分为两部分(或者三部分,别太多,否则会乱),然后制造一些情况,想办法确定是哪部分,然后再细分,逐渐缩小包围圈。
当按照这种缜密的思维方式,罗列了所有故障可能性,且一一排查均无结果的时候,你应该更有耐心。
因此,第三条,足够的耐心。
我曾遇到一个故障,就是电源电流太大。密密麻麻一大堆芯片,工作也算正常着,就是电源指示电流偏大,我知道一定是哪里短路了或者临近短路了。但是怎么查啊?关键是整个系统工作是正常的。
当时我自己告诫自己,要耐心,我不同于一般人,我有足够的耐心一定能查到。于是,我先用放大镜把板子上所有位置都看了一遍,看有没有焊接短路或者飞溅焊锡,花了很久时间,记不得了。然后,我看着电脑上的PCB图,把所有在10mil附近的间距,都用万用表查了一遍,还是没有。有点恼火了,于是我又告诫自己,不是一般人,不是一般人,接着来。
这次我干什么了呢?谁也不会想到我有多大的恒心:我计划把芯片的每一个管脚,或者叫电路板中的每一个节点,都和其它不应该连接的节点,都测一遍。这得测量多少次啊?但我豁出去了。于是,我开始干了。好在当时的芯片,都是DIP封装的,管脚不是甚多,我一个个查,终于查到了。其实时间也不是太长,一两个小时而已。
结果是,两根完全不相干的输出线,短接了,而电阻不是0,记不得是多少,大约就是几个欧姆的样子。我左看右看,他们都不会相连,只有一段大约几个厘米的区间,它们两根线平行走过。我割断,不短路了,短路局限在10cm左右了,再割断,最后局限在1cm左右的空间中,两线平行,但是短路。而两线的间距有差不多3个mm。
这板子已经被我折腾的不成样子了,但留下了一个千古疑问:两根间距3mm的线,在1cm长度内,居然短路了。我用放大镜看着,没有痕迹。我举起来对着刺眼的台灯,仔细看,一条细细的痕迹出现了,那么细,那么曲里拐弯,就有一根不透明的细线。
我举起割刀,在3mm的间距中深深的割了几刀,短路消失了。
这是上世纪九十年代中期的故事,我记忆犹新。
没有如我当时之耐心,这样的故障是难以查到的。
可能会有人说,这是一个个案,印制板的质量不好,你查到又有什么用呢?板子已经废了。但我有不同的认识,查到了,我就可以拍胸脯了,自信心比什么都重要。至今我仍然能够保持足够的自信,学生遇到问题,我不急,慢慢查着去,过了我的期限,我绝不相信,到我这里还查不出来。
心态好,有缜密的策略,有足够的超乎寻常的耐心,是排查故障的三大必须。很多人可能会注重技术性的策略,这当然很重要。但我发现,最重要的恰恰是第一条和第三条,它们不是想学就能学到的,而是要悟要养的。