【導讀】從事電子設計的最害怕也最煩的就是電路調試這一步驟,因為要耐心還要能抗住自己內心的焦躁和得不到的仇恨感。電路調試這一細心技術活可不是所有人能做的。想要做好電路調試,你就必須克服老公是們總結的電路調試的“三大毒”——“癡”“嗔”“貪”,只要克服這三項,你就真的成功了!
癡——因對法界不如實知見,故作顛倒之行。
調試不僅僅是要發(fā)現問題而且還要讓問題得到解決和消除。發(fā)現異常僅僅是起手第一步,之后是分析異常的本質。然而,人往往有慣性的思維希望依賴過去的經驗快速地解決問題。然而絕大部分時候過去的經驗并不一定能很完美的解決一個現有的特定環(huán)境下的問題。只有掌握現象背后的原理,才能舉一反三。
一個很簡單的例子,在給高速數字芯片加去耦電容的時候,很多人都知道需要加“一個大電容和一個小電容”,問起原因有些人會說濾除電源系統(tǒng)上的噪聲。實際上即使直接采用電池供電(電源非常穩(wěn)定,沒有開關噪聲)的系統(tǒng)當中,高速數字芯片附近仍然需要去耦電容,這些電容的存在是為了提高電源對芯片的瞬態(tài)輸出能力。
當數字芯片的內部時鐘邊沿觸發(fā)邏輯翻轉是需要在瞬間從電源吸取比較大的電流,這時需要電容來提供一個“本地”的瞬態(tài)電源,以克服電源到芯片之間導線上的寄生電感和電阻的影響。如果盲目的認為電容總是用來濾除噪聲的,就會出現確實使用了兩個電容,但是卻用了比較長的導線布置在了遠離芯片的地方之類的錯誤。
在遇到調試問題的時候要睜大雙眼,同時也要掃除心理的惰性和對已有經驗的依賴,從客觀的角度分析問題。扎實的理論根基可以助人消除迷惘,同時利用從每一次的調試的機會也可以學到很多新的經驗和隱藏在背后的知識。
[page]
嗔——因無法得到和控制產生煩惱與仇恨。
電路沒有正常工作,一般就要開始采取各種行動來探究它罷工 的原因。當我打開示波器,萬用表,頻譜儀,信號發(fā)生器,可調電源;花費半個小時拆解了機殼,卸下螺絲,焊上測試用飛線之后,有時候會發(fā)現輸入是正常的,電源是正常的,配置也是正常的,就是輸出不正常……
好像我能量到的其他地方都挺正常,但是信號進入芯片/模塊之后,就再也沒有好好出來;我摸摸芯片,它默默的不做聲,可能會有點發(fā)熱,但是也只是比環(huán)境溫度高一點點。于是我開始想是不是這個芯片壞了,你用一個新的芯片替換它,但是電路仍然故我,保持罷工。
這時候有一種無名的怒火從我心中升起,我測量每一個測試點,看著各種電壓/電流/頻率/功率,但僅僅是盲目的測量,希望看到什么線索。但是所謂線索即所謂異常的現象,都是相對于正常的現象來說的,而心中焦躁憤怒的情緒往往使人無法集中注意力思考看到的現象和期望之中的區(qū)別。
情況更糟的時候,你會認定是某個器件壞了,仿佛這就不是自己設計或者設備生產時的問題,而是元器件供應商的責任。但是事實上,經過出廠測試的商用芯片真正出現質量問題的可能性并不是那么大,當我反復測試芯片/模塊本身性能之后往往得到的就是“它工作正常”這個結論。
“世界上沒有不可思議之事,世界上只會發(fā)生可能發(fā)生之事。”
當每個器件都工作正常,但是系統(tǒng)整體發(fā)生問題的時候,那只能說明在系統(tǒng)設計的時候出現了問題。這種問題往往是因為對整個系統(tǒng)的運行考慮周全和深入理解,或者是對元器件的工作原理和性能的了解還不充分。這個時候就更需要冷靜的心態(tài),暫時放下抱怨和急躁才能找到那關鍵的一點靈光一現。
[page]
貪——希望獲得與保有,但終是受挫。
在很多時候,拿到剛剛完成貼裝寄回手上的新電路板,做的第一件事情往往是接通電路,看看有沒有預期的表現。在我剛剛接觸電路設計工作不久的時候,我在此時往往期待的是一個非常明確的表現,恨不得屏幕上立即顯示正確的結果;但是往往是一堆亂碼,甚至是什么都沒有。
在電路沒有被實際生產出來之前,我總是很希望自己的設計是天衣無縫,面面俱到的 ,所以對新設計的期待很高??偸撬刑^的調試階段直接觀察最終的輸出。好像最終輸出正常就表示電路沒有絲毫問題,而沒有正常的輸出往往會讓人覺得很失望。
實際上難以發(fā)現和處理的問題往往隱藏在完全正常的最終表現之后。當我們看到一個符合預期的最終結果的時候,清晰的思路往往會被驕傲和慶幸占據而不再去關注不易發(fā)現的細節(jié)問題,抱著僥幸的心態(tài)說沒有什么問題了。實際上這種心態(tài)是內心深處對自己設計的不自信,以及對解決未知問題的惶恐,急于試圖遮蔽自己的雙眼,對問題視而不見。
在最終輸出正常的情況下,即使發(fā)現了電路細節(jié)上有不符合自己預期的地方,我有時候仍然會想到要把錯誤歸結到儀器使用的問題,焊接問題,未知的干擾源(比如電網干擾)甚至是宇宙射線的影響;生怕深入挖掘這個問題的時候會發(fā)現更多的問題使當前的“正常”化為烏有。
有時候最終輸出結果是錯誤百出的,完全不符合預期的;在這種時候反而給我們很多線索,只要抓住這些線索,分析產生現有輸出的原因,反倒很容易發(fā)現錯誤的根源并且加以解決。