中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-8639(2025)07-0077-04
Development of Gatewayand BodyControl Function Based on Domain Controller
Hou Danning,Zhou Yuanhao,Liu Yuchen,Liu Yuanyuan,Zhao Zhuoya,Liang Xudong(Shaanxi Heavy Duty Automobile Co.,Ltd.,Xi'an 71O2OO,China)
【Abstract】Taking a heavy-dutyof-road vehicle asan example,this paper designs a gatewayand body control softwarebasedondomaincontroller,andstudies thefeasibilityofdomaincontrollerintheapplicationofautomotive electronicandelectricalarchitecture.Compared with the traditional distributedautomotiveelectronicand electrical architecture,the domain controllerhastheadvantagesof centralizedandcontrollable functions,strong program compatibility and scalability,which can simplify the development process and reduce resource redundancy.
【Key words】 heavy-duty of-road vehicles;domain controllers;gateways and body control
0 引言
在汽車智能網(wǎng)聯(lián)的發(fā)展趨勢(shì)下,傳統(tǒng)分布式汽車電子電器架構(gòu)的微控制器數(shù)量激增,每個(gè)微控制器負(fù)責(zé)的功能較為單一,彼此獨(dú)立,整個(gè)系統(tǒng)缺乏兼容性和擴(kuò)展性[。因此,汽車電器開發(fā)方式逐步從分布式電器架構(gòu)向集中式電器架構(gòu)轉(zhuǎn)變,即將多個(gè)功能相近、關(guān)聯(lián)度較高的微控制器集成到一個(gè)域控制器實(shí)現(xiàn)綜合控制。
本文以重型越野車輛的基于域控制器的網(wǎng)關(guān)及車身控制功能(簡(jiǎn)稱車身域控功能)為例,通過一個(gè)高算力的車身域控制器端口復(fù)用、分時(shí)復(fù)用等方式,將傳統(tǒng)中央網(wǎng)關(guān)、駕駛室車身控制器、底盤車身控制器的CAN報(bào)文轉(zhuǎn)發(fā)、燈光控制、雨刮控制等功能集成,由車身域控制器實(shí)現(xiàn)全部功能邏輯,直接驅(qū)動(dòng)控制器硬件端口工作或以總線命令形式向其他控制器發(fā)送使能信號(hào)。域控方式完成網(wǎng)關(guān)及車身控制功能,既提高了控制器硬件資源利用率,同時(shí)簡(jiǎn)化整車網(wǎng)絡(luò)結(jié)構(gòu),減少控制器、線束的數(shù)量,節(jié)省開發(fā)成本[2]。
1系統(tǒng)方案
1.1 實(shí)現(xiàn)目標(biāo)
車身域控功能開發(fā)以實(shí)現(xiàn)重型越野車的傳統(tǒng)中央網(wǎng)關(guān)和車身控制器的功能集中為目標(biāo),將多個(gè)微控制器集成為一個(gè)高性能可擴(kuò)展的綜合車身域控制器,并結(jié)合AUTOSAR方法論,實(shí)現(xiàn)域控制器軟件的分層設(shè)計(jì),將應(yīng)用軟件和域控制器硬件隔離,提高軟件的可移植性。
重型越野車輛車身域控功能包括CAN報(bào)文轉(zhuǎn)發(fā)、車身控制功能和故障診斷功能,具體功能項(xiàng)如圖1所示。
1.2 系統(tǒng)架構(gòu)
重型越野車輛包含車身總線、動(dòng)力總線、轉(zhuǎn)向總線、驅(qū)動(dòng)總線、底盤總線和診斷總線6路CAN總線。車身域控制器與以上總線相連,通過CAN報(bào)文交互的形式與其他總線節(jié)點(diǎn)(如VCU、ECU、EPB節(jié)點(diǎn))進(jìn)行數(shù)據(jù)通信。同時(shí),車身域控制器與駕駛室車身信號(hào)開關(guān)、燈光、雨刮和擋風(fēng)玻璃之間采取硬線端口連接,可直接采集硬線輸入端口信號(hào)并驅(qū)動(dòng)相應(yīng)輸出端口工作。車身域系統(tǒng)網(wǎng)絡(luò)架構(gòu)如圖2所示。
軟件以AUTOSAR架構(gòu)為框架,包括應(yīng)用軟件層、基礎(chǔ)軟件層和硬件驅(qū)動(dòng)層,采用MATLAB/Simulink+AUTOSAR的方式開發(fā),如圖3所示。
1.3 硬件設(shè)計(jì)
根據(jù)網(wǎng)關(guān)及車身域控功能需求,所選域控制器硬件資源具備供電接口、多路模擬輸入接口,豐富的輸人/輸出驅(qū)動(dòng)接口,具備短路保護(hù)機(jī)制,能夠?qū)崟r(shí)反饋驅(qū)動(dòng)電流和短路狀態(tài),還具備6路CAN總線通信接口,且均支持CAN(FD),通信速率 500kb/s 或2Mb/s ;軟件滿足AUTOSAR4.2.2標(biāo)準(zhǔn),應(yīng)用軟件采用基于模型的Simulink開發(fā)方式,基礎(chǔ)軟件包含10個(gè)協(xié)議棧,通過BSW工具進(jìn)行功能配置。車身域控制器硬件組成如圖4所示。
1.4 軟件設(shè)計(jì)
1.4.1 軟件開發(fā)方式
車身域控制器軟件設(shè)計(jì)依照AUTOSAR架構(gòu)分為底層軟件和基于模型開發(fā)的應(yīng)用層軟件。其中,底層包括基礎(chǔ)軟件層的各協(xié)議棧的配置、MCAL和CDD的配置,為應(yīng)用軟件層提供必要的基礎(chǔ)服務(wù),如硬件資源的抽象和封裝、基礎(chǔ)軟件層報(bào)文轉(zhuǎn)發(fā)功能。應(yīng)用軟件層實(shí)現(xiàn)汽車電子的全部功能行為的控制算法開發(fā),對(duì)外界僅開放統(tǒng)一的標(biāo)準(zhǔn)化接口。
應(yīng)用軟件層采用MATLAB/Simulink軟件開發(fā),基礎(chǔ)軟件層通過BSW底層軟件配置工具和底層MCAL配置工具進(jìn)行通信協(xié)議棧、存儲(chǔ)協(xié)議棧、診斷協(xié)議棧等配置。軟件集成通過集成編譯軟件進(jìn)行,并生成 bin 或者h(yuǎn)ex文件。程序可通過特定下載工具將程序下載到域控制器中,滿足USB和Bootloader兩種下載方式。
1.4.2 軟件功能
軟件按功能邏輯可分為CAN報(bào)文轉(zhuǎn)發(fā)、車身控制功能和故障診斷三大部分。
1.4.2.1 CAN報(bào)文轉(zhuǎn)發(fā)
車身域控制器作為整車CAN網(wǎng)絡(luò)的中心節(jié)點(diǎn),可為不同總線節(jié)點(diǎn)控制器的通信提供報(bào)文拆分重組和轉(zhuǎn)發(fā)等服務(wù)。車身域控制器的CAN報(bào)文轉(zhuǎn)發(fā)功能按照?qǐng)?bào)文類型及通信要求可分為三種:底層報(bào)文路由、COM層信號(hào)路由和應(yīng)用層信號(hào)處理。
車身域控制器從動(dòng)力總線接收ACU、VCU等控制器發(fā)送的控制報(bào)文,無(wú)需處理直接轉(zhuǎn)發(fā)到目標(biāo)總線供其他控制系統(tǒng)接收處理,通常采用底層報(bào)文路由的方式??刂茍?bào)文由底層MCAL接收后不改變ID、周期等信息直接由BSW中的PduR模塊轉(zhuǎn)發(fā)到目標(biāo)總線,車身域控制器不關(guān)心報(bào)文的內(nèi)容,底層無(wú)需向應(yīng)用層開放對(duì)應(yīng)的報(bào)文名稱接口,即收即轉(zhuǎn),簡(jiǎn)化了報(bào)文轉(zhuǎn)發(fā)的流程,避免了配置項(xiàng)和代碼的冗余。
根據(jù)通信需求,VCU發(fā)送的CANFD類型報(bào)文由車身域控制器轉(zhuǎn)發(fā)到目標(biāo)總線前,需要對(duì)報(bào)文進(jìn)行拆包并重新配置周期、偏移量等參數(shù),多采用COM層信號(hào)路由方式。COM層信號(hào)路由的特點(diǎn)是在不關(guān)注報(bào)文內(nèi)容的同時(shí),可完成周期、偏移量等信息的配置。車身域控制器接收VCU發(fā)出的CANFD長(zhǎng)字節(jié)報(bào)文,在COM模塊中完成長(zhǎng)字節(jié)報(bào)文的拆包和參數(shù)配置后發(fā)送至目標(biāo)總線。這種方式下,車身域控制器無(wú)需解析報(bào)文內(nèi)容,只針對(duì)報(bào)文參數(shù)做簡(jiǎn)單配置,不向應(yīng)用層提供報(bào)文接口,所有工作均由底層完成。
除底層直接轉(zhuǎn)發(fā)的報(bào)文外,部分報(bào)文需要由車身域控制器進(jìn)行邏輯處理后,以新的報(bào)文格式填充發(fā)送至目標(biāo)總線,此時(shí)車身域控制器需要解析具體報(bào)文信號(hào),采用應(yīng)用層信號(hào)處理的方式。如,車身域控制器接收ACU發(fā)送的燈光、雨刮控制報(bào)文,由應(yīng)用層解析后,將控制信號(hào)與車身域控制器硬件端口采集的燈光開關(guān)和雨刮開關(guān)信號(hào)做邏輯處理后,按照命令優(yōu)先級(jí)發(fā)送相應(yīng)的使能信號(hào)和狀態(tài)信號(hào),并以新的報(bào)文形式填充并發(fā)送至目標(biāo)總線。
1.4.2.2 車身控制功能
車身控制功能包括燈光控制、雨刮控制、混動(dòng)開關(guān)采集、玻璃加熱、報(bào)文轉(zhuǎn)發(fā)與信息交互、發(fā)動(dòng)機(jī)信息請(qǐng)求功能。
底層軟件采集車身域控制器硬件端口信號(hào),通過MCAL配置工具對(duì)硬件端口參數(shù)進(jìn)行配置并抽象封裝,如PWM驅(qū)動(dòng)端口占空比、ADC轉(zhuǎn)換、DIO端口驅(qū)動(dòng)等,以函數(shù)調(diào)用的形式為應(yīng)用層提供統(tǒng)一的標(biāo)準(zhǔn)化接口,應(yīng)用層無(wú)需訪問車身域控制器資源,專注于軟件功能的邏輯處理。
應(yīng)用層軟件接收底層向應(yīng)用層開放的硬件端口信號(hào)、反饋電流和報(bào)文等數(shù)據(jù),并對(duì)其進(jìn)行開關(guān)消抖、數(shù)據(jù)類型轉(zhuǎn)換及報(bào)文內(nèi)容解析等工作,通過虛擬總線傳遞到邏輯處理模塊進(jìn)行邏輯運(yùn)算,再將驅(qū)動(dòng)信號(hào)、CAN報(bào)文等數(shù)據(jù)反饋至底層,由底層進(jìn)行端口驅(qū)動(dòng)或報(bào)文轉(zhuǎn)發(fā)等工作。車身控制功能設(shè)計(jì)流程如圖5所示。
以燈光控制為例,車輛燈光類型包括小燈、前照燈、轉(zhuǎn)向燈、霧燈和倒車燈等,車身域控制器采集燈光開關(guān)信號(hào)和ACU發(fā)送的燈光控制報(bào)文,由底層通過函數(shù)調(diào)用發(fā)送給應(yīng)用層,應(yīng)用層通過CANUnpack模塊解析和開關(guān)信號(hào)消抖對(duì)燈光控制報(bào)文進(jìn)行預(yù)處理,按照功能需求進(jìn)行邏輯處理,將小燈、轉(zhuǎn)向燈燈光驅(qū)動(dòng)信號(hào)再次以函數(shù)調(diào)用的形式發(fā)送至底層并直接驅(qū)動(dòng)硬件端口工作,將前照燈、霧燈、倒車燈等燈光驅(qū)動(dòng)信號(hào)以使能信號(hào)形式填充至報(bào)文,由底層發(fā)送至VCU所在總線,由VCU負(fù)責(zé)驅(qū)動(dòng)相應(yīng)端口工作。
車身域控制器通過應(yīng)用層和底層的分層設(shè)計(jì),實(shí)現(xiàn)域控制器硬件和應(yīng)用層軟件的相對(duì)獨(dú)立,應(yīng)用層只調(diào)用底層開放的通信接口,不關(guān)心硬件本身,因此可以實(shí)現(xiàn)應(yīng)用層軟件的快速移植。同時(shí),域控方式下的軟件可以將燈光、雨刮等功能控制邏輯集中實(shí)現(xiàn),按照車輛布線情況直接驅(qū)動(dòng)相應(yīng)硬件端口工作或使能其他控制器完成端口驅(qū)動(dòng),避免功能分散,便于資源集中。
1.4.2.3 故障診斷
車身域控制器支持UDS和SAEJ1939DM1診斷,可同時(shí)發(fā)出同一故障的DTC碼和SPN碼,故障檢測(cè)類型豐富,包括供電故障、模擬電壓輸入故障、模擬電阻輸入故障、IO驅(qū)動(dòng)故障和PWM驅(qū)動(dòng)故障等。功能實(shí)現(xiàn)由CAN6診斷總線完成。其中,CAN6總線兼顧程序下載和故障診斷兩種功能。
CAN報(bào)文掉線檢測(cè)由底層直接完成,若底層未在規(guī)定時(shí)間內(nèi)收到心跳幀報(bào)文信號(hào),則判定此控制器掉線并把在線狀態(tài)發(fā)送至MFD顯示。IO端口開短路故障、模擬量超限故障由應(yīng)用層進(jìn)行故障診斷。其中,IO端口開短路故障診斷由應(yīng)用層接收車身域控制器底層發(fā)送的燈光、雨刮和玻璃加熱的驅(qū)動(dòng)端口反饋電流信號(hào)和短路標(biāo)志位信號(hào),進(jìn)行開短路故障判斷和故障確認(rèn)后,以故障標(biāo)志位的形式發(fā)送給底層,底層再進(jìn)行故障記錄和處理。
2 功能驗(yàn)證
為保證模型開發(fā)的準(zhǔn)確性和嚴(yán)謹(jǐn)性,功能驗(yàn)證分為兩個(gè)階段:?jiǎn)卧獪y(cè)試和臺(tái)架測(cè)試。
2.1 單元測(cè)試
單元測(cè)試以車身域控功能模型內(nèi)的各個(gè)子系統(tǒng)的最小功能項(xiàng)為單元進(jìn)行測(cè)試,保證模型開發(fā)完成后,設(shè)計(jì)功能與預(yù)期結(jié)果一致,減少后續(xù)代碼集成測(cè)試出現(xiàn)問題的概率。單元測(cè)試涉及測(cè)試內(nèi)容較多,以霧燈控制和雨刮控制為例,說(shuō)明單元測(cè)試的結(jié)果。
霧燈控制單元測(cè)試結(jié)果如圖6所示,雨刮控制單元測(cè)試結(jié)果如圖7所示。
霧燈控制單元和雨刮控制單元測(cè)試表明,依據(jù)測(cè)試用例針對(duì)功能項(xiàng)逐步進(jìn)行模擬測(cè)試,仿真結(jié)果可滿足預(yù)期功能,單元測(cè)試通過。
2.2 臺(tái)架測(cè)試
將應(yīng)用層軟件和底層軟件集成,通過專用的下載線或CAN下載器將固件代碼固化到域控制器的外部Flash中,開機(jī)上電后控制器從Flash引導(dǎo)區(qū)起始地址開始執(zhí)行代碼,通過臺(tái)架測(cè)試進(jìn)一步驗(yàn)證車身域控功能的可行性。
依據(jù)測(cè)試用例需求,臺(tái)架測(cè)試共包括136項(xiàng)測(cè)試項(xiàng),經(jīng)測(cè)試驗(yàn)證全部通過,說(shuō)明車身域控功能的可行性。軟件功能測(cè)試項(xiàng)及測(cè)試結(jié)果見表1。
3結(jié)論
本文研究域控制器在汽車電控領(lǐng)域的應(yīng)用可行性和優(yōu)越性,以網(wǎng)關(guān)及車身控制功能開發(fā)為例,介紹了基于域控制器的汽車電控軟件開發(fā)流程和軟件AUTOSAR架構(gòu)設(shè)計(jì)方式,針對(duì)基于域控制器的網(wǎng)關(guān)及車身控制功能建立測(cè)試用例,依次進(jìn)行單元測(cè)試及臺(tái)架測(cè)試。
測(cè)試結(jié)果表明采用基于域控制器的AUTOSAR結(jié)構(gòu)下的電控系統(tǒng)能夠完成傳統(tǒng)分布式汽車電子電器架構(gòu)下的多個(gè)微控制器功能的集中控制,簡(jiǎn)化電子電器架構(gòu)的復(fù)雜程度,減少資源冗余。同時(shí),分層式架構(gòu)設(shè)計(jì)方式還可以實(shí)現(xiàn)軟件和硬件、應(yīng)用層和底層的相對(duì)獨(dú)立,并且統(tǒng)一的通用的通信接口的定義提高了軟件復(fù)用的能力,提高了開發(fā)效率。
參考文獻(xiàn)
[1]黎偉,俞曉勇,匡小軍.淺析汽車電子架構(gòu)發(fā)展與典型域控制器[J].時(shí)代汽車,2021(16):163-164.
[2]劉子銘.車輛車身域控制器開發(fā)與關(guān)鍵技術(shù)研究[D].黑龍江:哈爾濱工業(yè)大學(xué),2023.
(編輯楊凱麟)