除錯(debugging)
除錯是找出一個本該運作的電路為何不運作、並修好它的工藝——這項技能把「能照抄電路圖的人」與「能做出能用硬體的人」區分開來。初學者的直覺是開始隨機換零件、碰運氣。專家幾乎反其道而行:他們把壞掉的電路當成病人,蒐集證據,從症狀推理到病因。做得好,除錯是冷靜、有系統的偵探工作,而不是慌亂的零件輪盤。
少數幾個動作就完成大部分工作。先檢查電源與接地——出乎意料地常見,電源軌電壓不對、不見了、或接地沒接上,而在那修好之前,下游什麼都不可能動。分而治之:與其盯著整塊板子,把它對半切、測中點、判斷故障在哪一半,再切一次——幾次對半,就能在數十個零件中找到問題。逐級追蹤訊號:用訊號產生器注入一個已知輸入,拿示波器從輸入往輸出一級級走,直到訊號消失或失真;故障就在那裡。與電路圖比對、也與模擬比對:真實板子與設計預測不一致之處,就是你的嫌疑犯。並提出假設、再去驗證——一次只改一件事,讓你真的從每個結果學到東西。
為何重要:真實板子以電路圖看不出的方式失效——冷焊點、零件裝反、用錯值、意外的振盪、負載下的電壓驟降。誠實的紀律是:每次實驗只改一個變數、寫下你試了什麼、忍住散彈式換零件的衝動,那種做法常常一邊加入新故障、一邊把舊故障藏起來。並保持正確的謙卑:有時候錯的是你的量測(一支造成負載的探棒、一個壞的接地夾、設錯的示波器),而不是電路。也要懷疑你的儀器。
一台音訊放大器沒聲音。你不急著換晶片,而是先檢查電源:12 V 軌只讀到 4 V——已經是線索。你分而治之,找到一顆本該是 1 歐姆、卻是 100 歐姆(用錯值)的電阻在餓著電源。一次量測、一個假設、一個修正——沒有亂槍打鳥換零件。
先電源與接地,再分而治之,再追蹤訊號——一次只改一件事。
忍住隨機換零件:那很少讓你學到病因、卻常引入新故障。一次只改一件事,並記住故障有時是你的量測(造成負載的探棒、浮接的接地),而不是電路。