ECU通訊:CAN匯流排模擬測試

迪捷软件發表於2024-07-19

01.ECU

在軟體定義汽車的大背景下,幾乎每一個汽車功能都需要依靠ECU(Electronic Control Unit,電子控制單元)來實現:有些功能靠ECU獨立實現,有些功能則需要多個ECU聯合實現。總體來說,ECU絕大多數情況下都需要與其他ECU進行資訊互動,比如充電功能就需要車載充電機OBC(On-Board Charger)聯合電池管理系統BMS(Battery Management System)、整車控制器VCU(Vehicle Control Unit)等聯合才能實現。
常見的ECU通訊方式有CAN(Controller Area Network),LIN(Local Interconnect Network)和FlexRay,隨著汽車電子電器架構朝著中央整合控制方向發展,乙太網的應用也越來越廣泛。
ECU通訊:CAN匯流排模擬測試
▲電子電氣架構的演變趨勢
​來源:the software Car: Building ICT Architectures for Future Electric Vehicles

02.CAN匯流排

當前最為常見的ECU通訊方式為CAN匯流排,即控制器區域網匯流排。CAN是博世於上世紀八十年代為車載網路所開發的。在此之前,汽車製造商一直使用點對點佈線系統來提供車載電子裝置之間的連線。然而,隨著車輛中使用的電子元件數量的增加,笨重且昂貴的線束佔據了過多的空間。據統計,中型轎車需要的線束插頭為300個以上,插針總數在1800-2200個,線束總長超過2千米,裝配極為複雜,故障率也極高。
為降低佈線成本,CAN匯流排應運而生。CAN是一種用於聯網智慧裝置的高度一致的序列匯流排系統,自1993年起就作為汽車聯網國際標準被廣泛引入汽車行業。只需要兩條線(CAN High和CAN Low),每個ECU便可以與其他ECU進行通訊。下圖為一種典型的CAN匯流排通訊方式:
ECU通訊:CAN匯流排模擬測試
▲典型的CAN匯流排通訊方式
​各個ECU透過CAN收發器連線到CAN匯流排上,同時將資料廣播出去,處於CAN匯流排上的每個ECU都可以接收到該廣播資訊。如果該資訊為收方ECU所需資訊就會被接收,反之則會被忽略。
CAN可工作於多種方式,網路中的各節點都可根據匯流排訪問優先權(取決於報文識別符號)採用無損結構的逐位仲裁的方式競爭向匯流排傳送資料,且CAN 協議廢除了地址編碼,而是對通訊資料進行編碼,使不同的節點能夠同時接收到相同的資料。這些特點使得CAN匯流排構成的網路各節點之間的資料通訊實時性強,並且容易構成冗餘結構,有助於提高系統的可靠性和系統的靈活性。
世界上幾乎所有的汽車廠商都採用了CAN匯流排來實現汽車內部控制系統與各檢測和執行機構間的資料通訊。CAN匯流排的應用優勢如下:
1.提供了輕量級、低成本的網路
作為匯流排網路,每個ECU僅需要一個CAN介面就可以與處於網路上的其他ECU進行通訊。
2.廣播式通訊
每條訊息都可以被各個ECU的CAN收發器接收,並由各ECU自行決定是否忽略該條訊息。
3.優先順序機制
CAN匯流排是點對點網路,無主從裝置之分。資料傳送前會先檢查匯流排是否繁忙。傳輸的CAN幀不包含地址編碼,而是在整個網路中唯一的仲裁ID,也是各ECU判斷是否接受該資料的依據。如果多個節點同時嘗試向CAN匯流排傳送訊息,則將依據CAN幀優先順序(幀ID)被授予訪問匯流排的許可權,匯流排繁忙時,優先順序低的CAN幀必須等待匯流排可用才能再次嘗試傳輸。優先順序機制保證了CAN節點之間的確定性通訊。
4.錯誤檢測
CAN使用了迴圈冗餘碼(CRC,Cyclic Redundancy Check)進行校驗,用於確保資料完整性,可以對每個幀進行錯誤檢查,錯誤幀將被所有結點忽略。

03.軟體與模擬測試

在過去的普遍認知中,軟體貌似與汽車行業關係甚小,甚至許多車主也傾向於認為汽車軟體只存在於汽車的資訊娛樂系統中。實際上,一輛汽車所包含的軟體遠比想象中多得多,上百個ECU中的每一個都需要執行軟體。可以說,如今汽車上的每一個功能幾乎都有軟體參與控制。汽車軟體的增加也意味著問題產生的機率上升。事實上,主機廠因軟體缺陷而召回的車輛的情況不在少數:
  • 2016年,由於軟體缺陷而召回的車輛佔總召回車輛的46%。
  • 2021年,美國梅賽德斯賓士公司召回了41838輛SUV車型,原因為軟體故障導致的前輪扭力施加問題。
  • 2024年3月,現代起亞因整合充電控制模組(ICCU,Integrated Charging Control Unit)軟體問題召回14.7萬輛汽車。
多ECU聯合實現的汽車功能則更易受到影響。為了儘可能地避免軟體故障問題帶來的損失,應使用模擬平臺搭建虛擬匯流排來進行ECU軟體中匯流排功能的測試,還可應用模擬平臺所提供的匯流排監視功能來監控軟體執行過程中的匯流排通訊資料,方便開發人員進行故障排查。
天目全數字實時模擬軟體SkyEye,是一款國產自主可控的基於視覺化建模的硬體行為級模擬平臺,能夠用於汽車虛擬CAN匯流排的搭建。建立下圖所示的CAN匯流排應用場景:
ECU通訊:CAN匯流排模擬測試
▲CAN匯流排應用場景
​該場景需要模擬4個SVCU計算節點,以2個VCU計算節點為例,透過SkyEye搭建的目標系統拓撲結構如下圖所示:
ECU通訊:CAN匯流排模擬測試
▲基於SkyEye的CAN匯流排互動設計
​​

相關文章