羅偉濤
(中國鐵路呼和浩特局集團有限公司 包頭西機務段,內蒙古 包頭 014010)
HXD2型新八軸電力機車牽引控制單元(以下簡稱TCU)是機車牽引的核心控制單元,通過微控制器(MCU+DSP)及其外圍電路實現四象限整流器控制、牽引逆變器控制、直流母線過壓抑制以及防滑/防空轉控制等功能,能對牽引電傳動系統主電路元器件進行保護,并顯示、記錄故障時間和代碼等信息。其作用是:給定牽引力(再生制動力)的閉環控制;牽引變流器中間直流電壓的閉環控制;牽引變流器控制信號(觸發脈沖)生成;開關器件的觸發;牽引變流器、牽引電機、其他牽引器件的監控;防滑及防空轉控制;提供牽引相關的故障診斷數據;通過MVB與CCU或其他TCU交換數據。
機車正常進行牽引變流器試驗時,發現在TCU上電后其維護接口板指示燈出現異常,導致TCU在機車TCMS網絡拓撲上生命信號丟失,報出“TCUx網關通信故障”。
針對機車上電后報出的“TCUx網關通信故障”,現場通過反復試驗,發現對TCU網口接口板進行重新燒寫芯片程序可以消除故障。初步判斷是NETM C8051F040芯片上電后程序代碼被損壞或被修改造成程序不能正常運行。
造成程序丟失問題的原因很多,最終可歸結到一個基本原因,即對Flash的訪問失敗而造成Flash保存的代碼出現錯誤。對于所有包含有Flash讀/寫/擦除代碼的系統,當CPU工作在規定的VDD、系統時鐘頻率范圍之外時,對Flash進行讀/寫/擦除操作,都有可能出現Flash數據錯誤的現象。
出現該問題可能存在三方面原因:①軟件BUG導致程序丟失,即軟件中對Flash進行了錯誤的讀/寫/擦除操作,導致可執行程序損壞或改變;②電磁干擾導致Flash存儲的可執行程序損壞或改變;③芯片自身缺陷導致Flash存儲的可執行程序損壞或改變。由于系統復位時需要從Flash讀出代碼數據,Flash電壓不穩定會出現不可預測的錯誤。
針對該問題對C8051F040網關代碼進行走查,代碼中未發現對Flash的讀/寫/擦除操作。因此排除軟件問題。
針對該問題,對單板進行了靜電試驗和空氣放電試驗。
1.2.1 測試描述。①該測試對TCU網關板單板(未插入機箱)面板進行靜電放電試驗。②該測試對TCU網關板單板(未插入機箱)裸板進行8 kV的空氣放電試驗。
1.2.2 測試結果。①對TCU網關板單板(未插入機箱)面板進行靜電放電試驗,MVB通信中斷,重新上電后恢復。多次測試均是如此,故與現場情況不一致。②對TCU網關板單板(未插入機箱)裸板進行空氣放電試驗,多次測試,板卡運行正常。
1.2.3 結論。靜電放電等電磁干擾不會造成此類故障。
1.3.1 測試描述。將TCU網關板插入TCU機箱內,對其定時上下電,觀察TCU在線情況。
1.3.2 測試結果。TCU離線,重啟后不恢復,重刷程序后恢復,與現場情況相同。
1.3.3 分析。針對復現故障的板卡進行了程序回讀分析。故障板卡Flash的個別bit發生了改變,原因鎖定為芯片自身缺陷導致程序丟失。
2.1.1 測試描述。示波器連到背板5 V和GND上以及3.3 V和GND上,抓取上電時電壓波形。
2.1.2 測試結果。5 V與3.3 V電壓大概需要200 ms才能上升到穩定區域。3.3V電壓由VRS上升到3.3 V的時間約為97 ms,已經接近芯片啟動時間,這樣導致芯片在啟動過程中工作不穩定的現象。

表1 故障板卡C8051F040芯片批次統計
2.2.1 測試描述。C8051F040芯片內部具有電源監視功能,管腳VDD直接與3.3 V電源連接,監視電壓情況。當VDD監視的電壓低于VRST時,芯片內部將會使C8051F040處于復位狀態。VRST位于2.55 V~2.7 V之間。但是,C8051F040芯片自身存在VRST過低的缺陷,當供電電壓位于VRST之上時(2.7 V~3.08 V),依然有可能使芯片工作在不穩定狀態,導致芯片在不穩定的狀態讀取Flash,造成Flash內存儲的可執行程序損壞或改變。
通過增加外部電源監視功能,提升C8051F040芯片RST管腳電壓,當該芯片所監視的電壓低于3.08 V時,將會發出低電平,使FPGA處于復位狀態。如此可有效防止芯片在2.7 V~3.08 V之間的不穩定狀態下工作,避免軟件改變或丟失報出故障。
將優化外部電源監視功能后的板卡插入機箱,做上電保持30 s、下電保持30 s重啟試驗。
2.2.2 測試環境。系統聯調實驗室,利用八軸車網絡系統(DDU+MPU+GW),將TCU機箱接入MVB網絡,配置可編程電源,上電保持30 s、下電保持30 s,觀察DDU網絡界面中TCU的在線狀態。
2.2.3 測試結果。測試約24 h×9未復現故障。拆除優化的電源監視芯片后繼續測試,約24 h×3后,測試板卡均復現此故障。
2.2.4 分析。增加電源監視芯片,提升管腳RST電壓后,可以有效地避免因芯片自身缺陷所導致的C8051F040的程序損壞。
2.3.1 測試描述。該測試對TCU網關板進行單板測試,不插入機箱,將可調電源調至DC 5 V,連接背板對其定時上下電,觀察TCU在線情況。
2.3.2 測試環境。系統聯調實驗室,利用八軸車網絡系統(DDU+MPU+GW),將TCU網關板接入MVB網絡,配置可編程電源,定時30 s上下電,觀察DDU網絡界面中TCU的在線狀態。對TCU網關板進行了重啟測試。
2.3.3 測試結果。結果:未復現故障。
表1是復現故障的板卡上C8051F040芯片的批次統計,根據統計信息,2014年、2015年、2018年生產的機車均有涉及,故障車輛生產年份不連貫,可以排除C8051F040芯片的批次質量問題。
通過分析,C8051F040芯片內部具有電源監視功能,管腳VDD直接與3.3 V電源連接,監視電壓情況。當VDD監視電壓低于VRST時,內部將會給管腳RST低電平,使C8051F040芯片處于復位狀態。如果實際電壓跌落,很可能使芯片處于低電壓供電的不定狀態,容易損壞芯片內部Flash,繼而導致軟件發生改變或丟失。
措施:在TCU網關板EB-MVBCAN-01(B)上優化電源監視功能,使C8051F040的RST引腳通過外接電源監視芯片,將其允許工作時的電壓提升到3.08 V,保護Flash中存儲的內容不被損壞。
筆者針對TCU上電后狀態燈異常進行了排查和分析,通過改造NETM中芯片C8051F040的RST引腳電壓,優化電源監視功能,且不對其他功能造成影響,同時在廠家例行試驗中加入了網關板C8051F040芯片RST引腳啟動電壓測試項。
為了杜絕問題的再次出現,在后續TCU例行試驗中加入了電源工作電壓測試項,改造后的網關板再未出現類似問題。