工程師設(shè)計故事:排查故障三要訣
最近我的學(xué)生頻繁出現(xiàn)“卡殼”現(xiàn)象:看似很簡單的設(shè)計,卻死活調(diào)不出來,人都快瘋掉了。大約一周前,小陳來找我的時候,一副懸崖上抓不牢樹枝,就想自己松手跳崖的樣子,猴急的都想給我說難聽話了。這兩天,小陳的問題找到了,解決了,又快樂了。但是常偉的問題又來啦。
本文引用地址:http://www.ex-cimer.com/article/186290.htm用MSP430F169單片機給程控增益放大器PGA280實施SPI控制,正常,同一個單片機給一個24位ADS1259實施控制,也正常。但是兩個同時都焊上,用CS片選分別控制,就不行了。問題就這么簡單,卻讓他焦頭爛額。
解決問題是遲早的事情,我不擔(dān)心,并且發(fā)現(xiàn)問題解決問題,本身就是對他們的鍛煉,我才高興呢。但是,我發(fā)現(xiàn)他們無一例外的,都陷入了一種混亂的狀態(tài):出現(xiàn)問題,開始左試試,右試試,有時成功了,高興了,吃飯回來,又不行了,接著試。就這么反復(fù)折騰,總有崩潰的時候,就開始發(fā)火,焦躁,然后滿世界找人幫忙,特別像落水以后找稻草。這種狀態(tài)持續(xù)3天以上,他們就開始對我發(fā)火了。
我告訴他們:故障出現(xiàn)是好事,第一鍛煉了你們,第二排除了隱患。不到萬不得已的時候,我是不會出馬的,我只需要教會他們排查故障的三大必須,就可以了。
排查故障是一門學(xué)問,深得很。但籠而統(tǒng)之,就三大必須,有了這三條,沒有排查不了的故障:第一、心態(tài),第二、策略,第三、耐心。
第一條心態(tài)。你必須對出現(xiàn)的故障,有強烈的感激。謝謝上天給了我這個機會,我要牢牢把握住。你可以想象自己是福爾摩斯,已經(jīng)好幾個月沒有接活了,和華生天天閑聊已經(jīng)沒有意思了,急切希望有個案子,蘇格蘭場束手無策了,等著你出馬了。只有這種心態(tài),才能讓你能夠在后續(xù)的長期斗爭中保持亢奮的頭腦、縝密的思路以及足夠的耐心。
我最大的特點就在于此。學(xué)生給我匯報故障的時候,我通常是特別興奮,一字一句聽,像聽考題一樣,他們漫不經(jīng)心的,我的眼睛卻犀利如刀。我特別希望我的學(xué)生能夠?qū)W會這一點。
第二條策略。這是技術(shù)活。細講太多,粗粗說點兒。
1)讓故障重復(fù)出現(xiàn),避免隨機性故障。對隨機性故障,我找機會另說。
2)保護故障現(xiàn)場,不輕易亂動。動的無論是軟件還是硬件,都應(yīng)保證可以恢復(fù)。因此,別隨意焊下芯片,焊下的芯片也要放好,能找回來。另外,軟件一定要按照序號備份。
3)不要一次做兩個以上的改變。
4)養(yǎng)成習(xí)慣,用個小本記錄所有的動作和事實。換了個電源,看似小事,有可能由A故障變成了B故障,你腦子就亂了。因此,如果要換電源,也要記錄。
5)重視儀器和操作方法。每次記錄事實,一定要確保事實是真的。
6)學(xué)會用邏輯的思維。主要是,造成這種故障現(xiàn)象的可能性有多少種,一一列出,可能性最大的到可能性最小的。
7)學(xué)會排查次序。影響排查次序的有兩個主要因素,第一故障可能性,第二排查難度。我們當然要先試探可能性最大的,且排查難度最小的。但是兩者并不總是這么巧。比如,你懷疑是A芯片壞了,這可能性最大。但是把它焊下來很費勁,排查實施難度較大,就可以先排查別的可能。這一項有點運氣成分,也有點經(jīng)驗成分。
8)學(xué)會二分法并巧妙使用。二分法,就是把故障分為兩部分(或者三部分,別太多,否則會亂),然后制造一些情況,想辦法確定是哪部分,然后再細分,逐漸縮小包圍圈。以前日本鬼子查城區(qū)里面哪里在發(fā)報,就用這方法:一個區(qū)域一個區(qū)域停電,看哪里一停電就導(dǎo)致電報信號消失,就能確定發(fā)報者在哪個區(qū)域,然后再縮小區(qū)域停電,最終找到我們的地下工作者。幾句話還是說不清,我找機會再說吧。
當按照這種縝密的思維方式,羅列了所有故障可能性,且一一排查均無結(jié)果的時候,你應(yīng)該更加亢奮。就像給一個1k電阻加了一個1V直流電壓,測量的電流卻不是1mA一樣,你應(yīng)該有這種心態(tài):活見鬼了,難道歐姆定律都不成立了嗎?
此時,找老師,找朋友,找什么人都行。但是,有誰做到這一步呢?多數(shù)學(xué)生都在這個階段,徹底崩潰了。
因此,第三條,足夠的耐心。
我曾遇到一個故障,就是電源電流太大。密密麻麻一大堆芯片,工作也算正常著,就是電源指示電流偏大,我知道一定是哪里短路了或者臨近短路了。但是怎么查啊?關(guān)鍵是整個系統(tǒng)工作是正常的。
當時我自己告誡自己,要耐心,我不同于一般人,我有足夠的耐心一定能查到。于是,我先用放大鏡把板子上所有位置都看了一遍,看有沒有焊接短路或者飛濺焊錫,花了很久時間,記不得了。然后,我看著電腦上的PCB圖,把所有在10mil附近的間距,都用萬用表查了一遍,還是沒有。有點惱火了,于是我又告誡自己,不是一般人,不是一般人,接著來。
這次我干什么了呢?誰也不會想到我有多大的恒心:我計劃把芯片的每一個管腳,或者叫電路板中的每一個節(jié)點,都和其它不應(yīng)該連接的節(jié)點,都測一遍。這得測量多少次啊?但我豁出去了。于是,我開始干了。好在當時的芯片,都是DIP封裝的,管腳不是甚多,我一個個查,終于查到了。其實時間也不是太長,一兩個小時而已。
結(jié)果是,兩根完全不相干的輸出線,短接了,而電阻不是0,記不得是多少,大約就是幾個歐姆的樣子。我左看右看,他們都不會相連,只有一段大約幾個厘米的區(qū)間,它們兩根線平行走過。我割斷,不短路了,短路局限在10cm左右了,再割斷,最后局限在1cm左右的空間中,兩線平行,但是短路。而兩線的間距有差不多3個mm。
這板子已經(jīng)被我折騰的不成樣子了,但留下了一個千古疑問:兩根間距3mm的線,在1cm長度內(nèi),居然短路了。我用放大鏡看著,沒有痕跡。我舉起來對著刺眼的臺燈,仔細看,一條細細的痕跡出現(xiàn)了,那么細,那么曲里拐彎,就有一根不透明的細線。
我舉起割刀,在3mm的間距中深深的割了幾刀,短路消失了。
這是上世紀九十年代中期的故事,我記憶猶新。
沒有如我當時之耐心,這樣的故障是難以查到的。
可能會有人說,這是一個個案,印制板的質(zhì)量不好,你查到又有什么用呢?板子已經(jīng)廢了。但我有不同的認識,查到了,我就可以拍胸脯了,自信心比什么都重要。至今我仍然能夠保持足夠的自信,學(xué)生遇到問題,我不急,慢慢查著去,過了我的期限,我絕不相信,到我這里還查不出來。
心態(tài)好,有縝密的策略,有足夠的超乎尋常的耐心,是排查故障的三大必須。很多人可能會注重技術(shù)性的策略,這當然很重要。但我發(fā)現(xiàn),最重要的恰恰是第一條和第三條,它們不是想學(xué)就能學(xué)到的,而是要悟要養(yǎng)的。
更多資訊請關(guān)注:21ic模擬頻道
評論