【現象描述】
某設計,CPU以菊花鏈的方式接兩片Flash存儲器, CPU的引導程序存儲在Flash 存儲器中,兩片Flash 存儲器互為冗余備份。
上電測試發現,多塊電路板從最接近CPU的那片Flash存儲器加載程序時出現異常,導致電路板無法啟動。
在案例3.8中提到,在一驅多的設計出現故障時,驗證時鐘信號邊沿的單調性是重要的調試方向。但波形測試發現,Flash存儲器時鐘信號邊沿單調,沒有出現明顯信號質量問題。在數據信號上,也沒有明顯的信號質量問題。
【討論】
在故障分析時,工程師將帶有測試波形的照片發給筆者,筆者注意到照片上示波器的帶寬是50MHz,按照測試精度3%計算,該款示波器適合測量的最高頻率約為25MHz,即可以準確測得的最小時間寬度為40ns,而兩片Flash芯片之間由于信號反射所造成的邊沿不單調持續時間遠遠小于40ns,所以該款示波器無法驗證時鐘信號邊沿單調性。在采用更高頻帶寬度示波器的測試后,驗證了距離CPU最近的Flash芯片的時鐘信號存在邊沿不單調的問題。
【擴展】
這個案例中,板上有兩片型號完全相同的Flash存儲器,問題只發生在最接近CPU的那片Flash存儲器,因此不用考慮無關的調試方向,如電源噪聲、復位電路、上電順序、芯片本身故障等。本案例中的情況,兩塊存儲器是一樣的原理圖信號連接、 一樣的電源,唯一的差異就是PCB布局和PCB布線,因此最值得懷疑的就是信號質量,但在本案例最初的測試中,在信號質量上卻沒有獲得有價值的線索。
相信不少工程師遇到過這樣的情況,通過測試,首先排除了可能性最大的調試方向,然后陷入迷茫。
針對調試,需明確兩點:
① 通過測試,逐一排除可能性,當其他可能性都排除了,剩下的那個就是故障根本原因。
② 通過測試,排除故障可能性時要特別注意,一旦測試方法錯誤,導致錯誤地排除了某個可能性,將會產生方向性的錯誤,之后的所有調試工作可能都將變成南轅北轍。
從筆者負責過的電路故障調試經歷看,錯誤的測試方法導致調試走錯方向的不在少數。
打開測試儀器,無論測試方法正確與否,都可以得到一個測試結果。而測試又是一把雙刃劍,正確的測試可以幫助找到真實的故障原因,錯誤的測試會對故障調試產生嚴重的誤導。所以,對于一個硬件研發部門而言,要組建一個高速電路實驗室,僅僅在硬件上投入是不夠的,在軟件上,還應通過部門內部的培訓、傳幫帶使工程師掌握正確的測試方法。
筆者一直用以下這段話來警醒自己,此處與大家共勉:
“一個問題的調試,背后有5個可能性,只有一個能通往真相。
排除了4個,最后一個很可能是最難驗證的,此時無須驗證,它就是真相。
真正困難的是,在排除前4個的過程中,若做出了錯誤的排除,則滿盤皆輸,問題無解?!?/p>
多年前,筆者曾經負責了一塊電路板的研發。第一版調試時,工廠生產的5塊電路板,有4塊出現了相同的問題,在列出調試方向并逐一進行驗證后,排除了所有與設計、生產有關的可能性,最后唯一剩下的可能性就是芯片故障,盡管通過接口I-V曲線測試等方法無法確定芯片是否存在損傷,盡管芯片廠家認為該故障不像芯片問題,但當筆者確認了所列調試方向的完備性,以及測試方法的正確性后,就可以堅定地相信故障原因在芯片內部,所以以此為依據要求芯片廠家必須對芯片做失效分析,最終確定了芯片內部的故障。
-
FlaSh
+關注
關注
10文章
1679瀏覽量
151944 -
電路板
+關注
關注
140文章
5138瀏覽量
102785 -
測試儀器
+關注
關注
0文章
460瀏覽量
34563
發布評論請先 登錄
評論