夏永強,劉 欽,趙能卿
(江鈴汽車股份有限公司,江西 南昌 330001)
隨著中國國內新能源汽車的快速發展,汽車科技感功能也越來越多,對汽車總線的要求也越來越高,功能的增加也使得模塊之間的總線通信日益增加,同時數據傳輸總線從傳統的CAN已經升級到帶寬更高的CAN FD總線。另外,汽車總線負載增大也給汽車總線數據傳輸帶來巨大挑戰。總線負載高將直接影響數據總線穩定傳輸,嚴重時將直接導致報文丟幀、延遲等情況發生。為有效應對總線負載高所引起的報文丟幀、延遲故障,因此在汽車研發階段進行總線通信的穩定性測試,尤其對CAN FD總線的報文周期一致性測試,對保證總線網絡穩定能起到非常關鍵的作用。總線的報文周期一致性測試,一方面能驗證各ECU發送數據是否符合設計要求。另一方面是檢驗總線穩定性的重要手段,將極大地方便總線穩定性測試驗證。
CAN FD總線報文周期一致性測試,需要根據CAN通信設備測試進行采集并測試。首先需要解析DBC文件,并收集到周期發送的報文,僅周期發送報文才需要進行測試;其次,需要在采集數據的時候監控總線報文,逐個判斷每個報文是否滿足設計周期要求,將報文ID判斷異常的數據進行篩選;最后將測試結果生成報告。測試原理流程如圖1所示。

圖1 測試原理流程圖
控制器在總線上發送周期的報文可能會存在偏差,根據協議要求,在一定偏差范圍內都能符合設計要求,網段中所有周期報文應正常發送,即當周期時間T≤20ms時,周期偏差不可大于±20%。針對周期值越大的報文,對總線信號數據傳輸要求也越高,當發送的應用報文周期時間T>20ms時,周期偏差不可大于±10%,具體判斷方法的邏輯闡述如下。
1)使用CANOE采集整車總線數據。建立工程,開發監控各網段總線報文。根據DBC文件收集各模塊的總線數據ID和對應周期數值。
2)從報文ID最小的開始進行監控,監控設備抓取這個ID的數據,采集DBC文件中的周期值的大小,周期值小于20ms,按照10%偏差進行判斷。周期值大于20ms,按照20%偏差范圍進行判斷。
3)抓取這個數據相鄰兩次出現時間的差值,為了確保采集數據結果準確性,需要采集一定的樣本量,一般采集50次,當所有樣本量監控周期在偏差范圍內,則判斷這個報文發送數據周期符合設計需求,逐個進行監控。
4)按照上述的方法,逐個監控所有的報文ID,確認是否符合規定范圍內要求。當監控過程存在錯誤標記位,則發送報文數據異常,當不存在錯誤標記位,則發送報文數據周期發送正常,最后生成測試報告,紅色項表示測試周期不符合設計要求。具體測試方法流程如圖2所示。

圖2 測試具體步驟
CAN FD總線報文周期一致性測試方法,可自動實現監控測試并快速生成測試報告,主要根據CAPL語言設計建立測試應用工程。
針對這個測試方法,已經在項目上應用實施,連接好CAN設備后,進行實時監控測試。該方法可快速、高效驗證總線數據發送周期是否符合預期標準。每次測試完成后,會將測試結果報告打印出來,其中包括測試報文ID、測試報文周期、測試報文的設計周期、測試報文的實際周期和測試報文的測試狀態。建立測試工程,將設備連接到汽車總線上,并運行測試工程,測試報告結果如圖3所示。

圖3 測試報告結果
從圖3中,可以看出:測試報文0x281的報文周期10ms,測試50次的周期都打印出來,測試結果的周期都符合偏差范圍內,符合規范的設計要求。發送報文周期準確無誤,不存在丟幀的情況,模塊數據通信質量穩定。根據這個測試方法,可以識別出總線負載較高情況下的網段信號通信質量優劣,因此,可以作為一種評價通信是否穩定的測試方法。
CAN FD總線報文周期一致性測試不僅有利于識別總線負載大導致的丟幀風險,同時有利于驗證總線數據傳輸是否符合設計要求,保證控制器節點的通信數據傳輸性,以使CAN FD網絡能夠保持正常有效的工作,為功能的穩健開發提供可靠保障,同時給予用戶更多的便捷體驗。