ECU通訊:CAN總線仿真測試
【ZiDongHua 之方案應(yīng)用場收錄關(guān)鍵詞:迪捷軟件 汽車電子 集成充電控制 】
ECU通訊:CAN總線仿真測試
01
ECU
在軟件定義汽車的大背景下,幾乎每一個汽車功能都需要依靠ECU(Electronic Control Unit,電子控制單元)來實現(xiàn):有些功能靠ECU獨立實現(xiàn),有些功能則需要多個ECU聯(lián)合實現(xiàn)。總體來說,ECU絕大多數(shù)情況下都需要與其他ECU進行信息交互,比如充電功能就需要車載充電機OBC(On-Board Charger)聯(lián)合電池管理系統(tǒng)BMS(Battery Management System)、整車控制器VCU(Vehicle Control Unit)等聯(lián)合才能實現(xiàn)。
常見的ECU通訊方式有CAN(Controller Area Network),LIN(Local Interconnect Network)和FlexRay,隨著汽車電子電器架構(gòu)朝著中央集成控制方向發(fā)展,以太網(wǎng)的應(yīng)用也越來越廣泛。

▲電子電氣架構(gòu)的演變趨勢
來源:the software Car: Building ICT Architectures for Future Electric Vehicles
02
CAN總線
當(dāng)前最為常見的ECU通訊方式為CAN總線,即控制器局域網(wǎng)總線。CAN是博世于上世紀(jì)八十年代為車載網(wǎng)絡(luò)所開發(fā)的。在此之前,汽車制造商一直使用點對點布線系統(tǒng)來提供車載電子設(shè)備之間的連接。然而,隨著車輛中使用的電子元件數(shù)量的增加,笨重且昂貴的線束占據(jù)了過多的空間。據(jù)統(tǒng)計,中型轎車需要的線束插頭為300個以上,插針總數(shù)在1800-2200個,線束總長超過2千米,裝配極為復(fù)雜,故障率也極高。
為降低布線成本,CAN總線應(yīng)運而生。CAN是一種用于聯(lián)網(wǎng)智能設(shè)備的高度一致的串行總線系統(tǒng),自1993年起就作為汽車聯(lián)網(wǎng)國際標(biāo)準(zhǔn)被廣泛引入汽車行業(yè)。只需要兩條線(CAN High和CAN Low),每個ECU便可以與其他ECU進行通信。下圖為一種典型的CAN總線通信方式:

▲典型的CAN總線通信方式
各個ECU通過CAN收發(fā)器連接到CAN總線上,同時將數(shù)據(jù)廣播出去,處于CAN總線上的每個ECU都可以接收到該廣播信息。如果該信息為收方ECU所需信息就會被接收,反之則會被忽略。
CAN可工作于多種方式,網(wǎng)絡(luò)中的各節(jié)點都可根據(jù)總線訪問優(yōu)先權(quán)(取決于報文標(biāo)識符)采用無損結(jié)構(gòu)的逐位仲裁的方式競爭向總線發(fā)送數(shù)據(jù),且CAN 協(xié)議廢除了地址編碼,而是對通信數(shù)據(jù)進行編碼,使不同的節(jié)點能夠同時接收到相同的數(shù)據(jù)。這些特點使得CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點之間的數(shù)據(jù)通信實時性強,并且容易構(gòu)成冗余結(jié)構(gòu),有助于提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。
世界上幾乎所有的汽車廠商都采用了CAN總線來實現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測和執(zhí)行機構(gòu)間的數(shù)據(jù)通信。CAN總線的應(yīng)用優(yōu)勢如下:
1.提供了輕量級、低成本的網(wǎng)絡(luò)
作為總線網(wǎng)絡(luò),每個ECU僅需要一個CAN接口就可以與處于網(wǎng)絡(luò)上的其他ECU進行通信。
2.廣播式通信
每條消息都可以被各個ECU的CAN收發(fā)器接收,并由各ECU自行決定是否忽略該條消息。
3.優(yōu)先級機制
CAN總線是點對點網(wǎng)絡(luò),無主從設(shè)備之分。數(shù)據(jù)發(fā)送前會先檢查總線是否繁忙。傳輸?shù)腃AN幀不包含地址編碼,而是在整個網(wǎng)絡(luò)中唯一的仲裁ID,也是各ECU判斷是否接受該數(shù)據(jù)的依據(jù)。如果多個節(jié)點同時嘗試向CAN總線發(fā)送消息,則將依據(jù)CAN幀優(yōu)先級(幀ID)被授予訪問總線的權(quán)限,總線繁忙時,優(yōu)先級低的CAN幀必須等待總線可用才能再次嘗試傳輸。優(yōu)先級機制保證了CAN節(jié)點之間的確定性通信。
4.錯誤檢測
CAN使用了循環(huán)冗余碼(CRC,Cyclic Redundancy Check)進行校驗,用于確保數(shù)據(jù)完整性,可以對每個幀進行錯誤檢查,錯誤幀將被所有結(jié)點忽略。
03
軟件與仿真測試
在過去的普遍認知中,軟件貌似與汽車行業(yè)關(guān)系甚小,甚至許多車主也傾向于認為汽車軟件只存在于汽車的信息娛樂系統(tǒng)中。實際上,一輛汽車所包含的軟件遠比想象中多得多,上百個ECU中的每一個都需要運行軟件??梢哉f,如今汽車上的每一個功能幾乎都有軟件參與控制。汽車軟件的增加也意味著問題產(chǎn)生的幾率上升。事實上,主機廠因軟件缺陷而召回的車輛的情況不在少數(shù):
2016年,由于軟件缺陷而召回的車輛占總召回車輛的46%。
2021年,美國梅賽德斯奔馳公司召回了41838輛SUV車型,原因為軟件故障導(dǎo)致的前輪扭力施加問題。
2024年3月,現(xiàn)代起亞因集成充電控制模塊(ICCU,Integrated Charging Control Unit)軟件問題召回14.7萬輛汽車。
多ECU聯(lián)合實現(xiàn)的汽車功能則更易受到影響。為了盡可能地避免軟件故障問題帶來的損失,應(yīng)使用仿真平臺搭建虛擬總線來進行ECU軟件中總線功能的測試,還可應(yīng)用仿真平臺所提供的總線監(jiān)視功能來監(jiān)控軟件運行過程中的總線通信數(shù)據(jù),方便開發(fā)人員進行故障排查。
天目全數(shù)字實時仿真軟件SkyEye,是一款國產(chǎn)自主可控的基于可視化建模的硬件行為級仿真平臺,能夠用于汽車虛擬CAN總線的搭建。建立下圖所示的CAN總線應(yīng)用場景:

▲CAN總線應(yīng)用場景
該場景需要仿真4個SVCU計算節(jié)點,以2個VCU計算節(jié)點為例,通過SkyEye搭建的目標(biāo)系統(tǒng)拓撲結(jié)構(gòu)如下圖所示:
▲基于SkyEye的CAN總線交互設(shè)計
我要收藏
點個贊吧
轉(zhuǎn)發(fā)分享
咨詢詳情:如需咨詢文中涉及的相關(guān)產(chǎn)品或解決方案詳情,請加微信:ZiDongHuaX 。
微信聯(lián)盟:汽車電子微信群、集成充電控制微信群,各細分行業(yè)微信群:點擊這里進入。
鴻達安視:水文水利在線監(jiān)測儀器、智慧農(nóng)業(yè)在線監(jiān)測儀器 查看各品牌在細分領(lǐng)域的定位宣傳語
微信聯(lián)盟:汽車電子微信群、集成充電控制微信群,各細分行業(yè)微信群:點擊這里進入。
鴻達安視:水文水利在線監(jiān)測儀器、智慧農(nóng)業(yè)在線監(jiān)測儀器 查看各品牌在細分領(lǐng)域的定位宣傳語


評論排行