在這家與國防相關公司的製造部門,我們建立了軍隊所謂的黑盒子。黑盒子裡有各種功能的電路卡插入主機板。

有一天,軟體工程師被指派負責調查和解決,為何同類型的六塊電路板在盒子中出現故障。這些卡片已經被設置在插槽中很長一段時間了,因為沒有人可以弄清楚這些卡片出了些什麼問題,每塊電路板價值約1萬美元,如果電路板還能運作,管理層並不想報廢掉它們。它們似乎可在測試夾具上通過測試,但他們只是不能在盒子裡正確地工作。

一直專注在測試與修復這幾塊電路板的軟體工程師來找我,希望我能給予他依些建議,因為在我成為工程師之前,我是測試這些電路卡的技術員。我告訴他我會提供協助,但我知道試圖解決在黑盒子裡的電路卡問題是相當困難的。這張卡在故障的電路中大約有30顆離散的晶片,探測其錯誤訊號是不容易的,然而,若是我們可以修復其中一片,那麼我們也將可以修復其他六張電路卡,因為他們是以相同的方式失效。然後,軟體工程師告訴我,當他寫入電路卡上的某些寄存器(register)時,他可以讓電路板失效,我想這位軟體工程師太優秀了,他已經做了相當多的故障排除,這可能比我想像的更容易進行修復。

我告訴他,我們不應該使用盒子來解決電路板的問題,但由於他發現如何輕易地使電路板失效,我們應該能夠輕易在測試夾具上看到它,如此這應該使它變得更容易分析。我把電路卡放在測試夾具上,設定好,並很快地發現問題是什麼。這個問題是,不知何故,電路得到一個非故意地重置(reset)指令,我得到了我需探測的範圍,並開始探索以解決問題,但只花了我幾分鐘的時間就讓我發現了原因。

20161122NT01P1

這電路使用一個四組2 to 1多工器(multiplexer)晶片54ALS157,透過輸入控制邏輯,兩個輸入可切換到一個輸出。我發現,當開關輸入控制邏輯在其中一個部分改變時,它在輸出線上產生了10ns的故障,並且該輸出線連接到重置電路。

換句話說,晶片出了問題。當開關以一種方式或另一種方式切換時,不應產生故障,我們用示波器檢查了其他六張電路卡,它們都顯示了相同的故障,我們從外觀上檢視六片電路板,發現它們都有相同的日期代碼在晶片上,顯然,從製造商而來的,是不良批次的晶片,這只是偶然發生的事情之一,更換晶片應該就可修復電路卡。修復之後,六張電路卡最終在測試夾具和盒子中順利通過測試。我們節省了6萬美元,管理階層很高興,軟體工程師和我都獲得了一筆很好的獎金。