張海波,劉洪偉,曹 晶,王 健,李雨龍
(1.一汽奔騰轎車有限公司,吉林 長春 130012;2.中國第一汽車集團有限公司,吉林 長春 130012)
接到某車型現生產反饋存在如下故障現象:在用EOL刷寫車窗防夾數據的工程中,防夾數據刷寫失敗。
找到故障車型,在EOL刷寫防夾數據過程中采集診斷CAN和舒適CAN的報文,并對照防夾數據刷寫步驟(圖1),對于采集到的trace數據進行分析。

圖1 EOL刷寫防夾標定數據步驟
1)寫完防夾標定數據以后,車門控制模塊只回復7F 2E 78(等待) (圖2)或完全不回復,不回復成功指令6E 3C EO。

圖2 診斷規范要求
2)控制器回復兩個流控幀30000A(圖3)。

圖3 回復兩個流控幀
3)診斷CAN報文幀時間間隔小于10ms(圖4)。

圖4 幀間隔小于10ms
4)按照診斷規范的要求,將診斷儀發送診斷報文的幀間隔改成10ms,還會出現不成功的情況。采集EOL刷寫過程中的診斷CAN報文和舒適CAN報文的幀間隔時間不同。診斷報文幀時間間隔為10ms,舒適CAN報文幀間隔時間不等。
5)用28服務將應用報文關掉,并一直發3E保持會話模式,同樣會刷寫失敗,而且刷寫失敗的都是右前車門控制模塊。
6)將故障車輛上的右前車門控制模塊換到無故障車輛上,EOL刷寫防夾數據失敗;將無故障車輛的右前車門控制模塊換到有故障車輛上,EOL刷寫防夾數據成功。
7)用CANoe直接刷寫防夾數據,可以100%成功。
按照診斷規范的要求,幀間隔時間需要10ms,不論是診斷CAN還是舒適CAN。原因分析如下:最初EOL刷寫防夾數據失敗是因為診斷儀即EOL未按照診斷規范要求發送報文有序列錯誤、丟幀的情況出現,診斷儀將這些問題進行改動程序后,防夾數據刷寫同樣失敗;通過采集到的報文數據進行分析,并且通過CANoe可以刷寫防夾數據成功,最后得出EOL車門控制模塊刷寫防夾數據失敗的主要原因為網關性能受限,不滿足診斷報文轉發延時設計規范要求。為了解決這個問題,用28服務將應用報文關掉,并一直保持2s發3E,但分析發現在刷寫防夾數據的過程中,如果發3E報文,會將防夾數據傳輸打斷。最后得出數據刷寫過程中3E不應該被打斷,車門控制模塊接收防夾標定數據會被會話保持打斷以及多發送一個流控幀是問題的次要原因。
為了解決這個問題,在現有平臺零件不變的情況下,診斷儀增加28服務,車門控制模塊刷寫2k的防夾數據需要時間3s,在刷寫防夾標定數據的過程中,5s內不發3E會話保持命令,可以有效解決此問題。
該問題不僅是單件的問題,也是診斷服務整個鏈路出現了問題,應該在項目設計前期對整個鏈路進行分段驗證分析,這樣能夠避免后期所有零件功能都體現后再出現問題,解決問題時能夠少走一些彎路。在后續的項目中,不論是診斷儀、網關還是車門控制模塊都應該完全按照設計規范、診斷規范的要求設計程序和軟件。