在主板調(diào)試過程中,發(fā)現(xiàn)一個嚴重問題:關機后快速啟機,主板正常開啟,但風扇不轉。如果使用過程中快速開關機,但使用者沒有注意到風扇其實沒有運行,很容易導致CPU持續(xù)處于高溫狀態(tài),損壞CPU及其周邊元器件。
- (1) 故障復現(xiàn)
拿到故障板后,上電正常的情況下下電,然后迅速上電,發(fā)現(xiàn)風扇沒有響應,故障得以成功復現(xiàn),重復三次動作,故障復現(xiàn)兩次,看來故障復現(xiàn)率還算比較高。
- (2) 問題初步分析
最開始懷疑的是風扇啟動時刻電流需求過大導致觸發(fā)過流保護,因此進行了如下測試。
- (3) 靜態(tài)電壓測試
在復現(xiàn)故障情況下進行相關電壓的測量。首先,測量風扇的12V供電,發(fā)現(xiàn)電壓已經(jīng)接近0V;然后,往前一級排查:風扇的12V由efuse通過12VBUS母線提供,起到熱插拔保護和電流限制等作用。測量efuse的輸入12VBUS,電壓正常,繼續(xù)測量efuse的EN使能引腳,電壓也正常。如果風扇觸發(fā)過流保護,那efuse的FLTB引腳也會被拉低,表示有過流故障被發(fā)生,但此時測量的FLTB引腳是高電平,沒有錯誤報警,因此,排除了過流保護被觸發(fā)。
圖1.efuse參考線路
- (4) 動態(tài)波形測試
目前遇到的問題是efuse在上電重啟過程中沒有輸出,但其靜態(tài)的EN和輸入都是有的(其他引腳電壓也正常)。因此,需要進一步進行波形的抓取,觀察故障產(chǎn)生時刻輸入輸出發(fā)生了什么動作。
圖2.故障狀態(tài)12V VIN和EN波形
上圖2是故障復現(xiàn)狀態(tài)下12V VIN和EN的上電波形。開始并沒有發(fā)現(xiàn)什么異常,但進一步測試,逐步增加上下電的時間間隔,就會找到一個臨界時間,間隔大于這個時間情況下風扇就可以正常運轉,這個間隔大概1.5s(如下圖3)。
圖3.臨界正常狀態(tài)12V VIN和EN波形
- (5) 問題分析
那么問題來了,為什么時間間隔拉長后就可以正常啟電了?按理說efuse的啟動只要EN和12V VIN正常,就會有輸出,但我們前面測到故障狀態(tài)下兩者電壓明明都是正常的。所以推斷應該是下電過程中有信號不滿足efuse工作要求,導致efuse鎖死了,這時就算再把輸入信號恢復正常也沒法解開鎖死狀態(tài)。
那到底是VIN還是EN,或是其他信號呢?首先分析VIN,查閱手冊,它的UVLO電壓門限為4.15V,而實際我們測到,故障復現(xiàn)時刻的VIN有6.88V,遠大于UVLO門限電壓,因此可以推斷VIN的跌落不會導致efuse鎖死。然后,看下EN:這款5022c有兩個EN信號,一個是ENABLE一個是LOADEN,它們門限分別是1.3V和2.3V。而這里實際電路中使用了365K和100K對12V分壓再到EN和LOADEN,當VIN為12V時,EN和LOADEN均為2.58V,這個值十分接近LOADEN的門限電壓,因此,EN或者LOAD EN電壓的跌落會首先導致的efuse關斷,但這又有什么問題呢?它們電壓跌落使得efuse關斷之后電壓還會隨著主板開機二再次上升呀?再仔細閱讀芯片手冊,發(fā)現(xiàn)如下描述:
這里的LOADEN只能起到關斷efuse的作用,而無法起到開啟efuse的作用。到這里,似乎感覺有些方向了,這個LOADEN一旦失效,是無法通過它再次開啟efuse的!所以我們嘗試將LOADEN這個信號的分壓加大,讓它晚一點跌落到門限以下,極限情況是去掉其下分壓電阻。結果效果很不錯,故障不再復現(xiàn)了!同時注意到芯片本身也有不使用LOADEN這一功能的處理方法:將TMEN引腳直接接地,經(jīng)驗證,該方式有效解決此問題。
- (6) 問題解決
但問題就這樣解決了么?好像還缺點什么。畢竟更改LOADEN分壓電阻阻值或者禁能LOADEN只能是讓該信號電壓跌落變慢,那如果使用者開關機速度非???,抵消了分壓阻值帶來的時間改善怎么辦?所以還得找一個根本的解決辦法。這時候就想到了12V VIN,其實造成這一問題的根本原因還是12V下電過于緩慢,導致使用者兩次開關機操作間隔遠小于它的掉電速度,efuse再關機后1s乃至更久一段時間都沒有關閉、復位,造成了上述問題,加入12V在關機后10ms內(nèi)迅速跌落到0V,所有器件均復位,這時候就不會存在所謂的“快”、“慢”上下電了。所以最終的問題解決落在了如何讓12V在關機后迅速掉電!
在研究過增加放電電路和延長主板自身12V負載下電延遲時間等方法之后,最終選擇了后者,一來這樣可以避免增加額外電路,節(jié)約成本,二來是可以通過修改CPLD程序直接達到目的,簡單快捷,且易于調(diào)試。
- (7) 結果對比
下面是修改CPLD程序前后12VD的掉電波形??梢钥吹剑谛薷腃PLD之前,12V下電之后掉電緩慢,需要1.5s以上時間才能跌落到3V以下,而修改CPLD之后只需要50ms便可以跌落到3V以下。
圖4.修改CPLD前12V VIN和EN波形
圖5.修改CPLD后12V VIN和EN波形
通過上述修改,就從根本上解決了主板快速開關機(上下電)情況下風扇概率性停轉的問題。總結今后需要注意的點:
- (1) efuse的LOADEN信號可能將芯片鎖死,因為它只有“禁能”功能,而沒有“使能功能”。
- (2) 主板12V下電緩慢會帶來一系列問題,比如芯片鎖死
- (3) 通過延緩負載停止工作的時間可以有效解決12V下電緩慢問題