基于ISO 26262的車身域控制器開發(fā)
新能源商用車車身功能越來(lái)越多,給車身控制和整車線束帶來(lái)了新的挑戰(zhàn)。為降低控制器數(shù)量和成本,減少整車線束的復(fù)雜程度,需要將原本多個(gè)獨(dú)立的控制器集中在一個(gè)控制器上,域控制器的概念由此提出[1]。徐工汽車原有車身域控制器設(shè)計(jì)方案采用單個(gè)微控制單元(microcontroller unit,MCU)作為主控處理器,在集成了更多功能以后,原有的設(shè)計(jì)已經(jīng)無(wú)法滿足功能安全要求,因此本文考慮采用雙MCU協(xié)同控制的設(shè)計(jì)方案。雙MCU的設(shè)計(jì)已廣泛應(yīng)用于整車控制器、防抱死系統(tǒng)等整車控制或者主動(dòng)安全核心裝置,其目的是增加故障冗余,在主MCU發(fā)生故障時(shí)由從MCU接管控制,實(shí)現(xiàn)部分核心功能可以繼續(xù)工作從而避免車輛失控[2-5]。
本文引用地址:http://2s4d.com/article/202503/468600.htm本文采用了主從MCU的方法,對(duì)原有車身域控制器方案進(jìn)行修改,并設(shè)計(jì)了一套主從MCU的通信協(xié)議,在協(xié)議內(nèi)增加了診斷功能。2個(gè)MCU可以相互監(jiān)控對(duì)方的工作狀態(tài),如果對(duì)方發(fā)生死機(jī)或工作異常,可以發(fā)起MCU復(fù)位,并記錄故障信息,不僅滿足了功能設(shè)計(jì)要求,還提高了功能安全等級(jí)。
1 車身域控制器設(shè)計(jì)需求
新能源商用車的車身域控制器(body domain controller,BDC)集成了車身控制模塊(body control module,BCM)、空調(diào)控制器(air conditioner,AC)、副駕駛門控制模塊(pilot door control module,PDCM)和中央網(wǎng)關(guān)控制器。其中車身控制模塊負(fù)責(zé)危險(xiǎn)報(bào)警燈、天窗、門控、閱讀燈、睡眠燈、喇叭、安全指示燈、行車燈等多個(gè)功能[6];空調(diào)控制器負(fù)責(zé)駕駛室空調(diào)功能;副駕駛門控制模塊負(fù)責(zé)車窗升降、后視鏡調(diào)節(jié)燈功能;中央網(wǎng)關(guān)控制器作為不同網(wǎng)絡(luò)間信息傳遞的樞紐,負(fù)責(zé)協(xié)調(diào)不同CAN總線網(wǎng)絡(luò)與其他數(shù)據(jù)網(wǎng)絡(luò)協(xié)議間的數(shù)據(jù)交換、協(xié)議轉(zhuǎn)換以及故障診斷等任務(wù)。
為節(jié)省控制器數(shù)量和成本,減少整車線束,簡(jiǎn)化整車網(wǎng)絡(luò)結(jié)構(gòu),本文設(shè)計(jì)了一種集成中央網(wǎng)關(guān)、空調(diào)控制器、車身控制器、副駕駛門窗控制器的車身域控制器,并基于功能安全進(jìn)行優(yōu)化。
2 ISO 26262功能安全要求
ISO 26262是針對(duì)汽車電子系統(tǒng)開發(fā)和生產(chǎn)制定的功能安全標(biāo)準(zhǔn),適用于所有提供安全相關(guān)功能的電力、電子和軟件元素組成的設(shè)備。
2.1 功能安全目標(biāo)確認(rèn)
ISO 26262要求通過(guò)危害分析和風(fēng)險(xiǎn)評(píng)估(hazard analysis and risk assessment,HARA)來(lái)識(shí)別產(chǎn)品功能故障引起的危害,對(duì)危害事件進(jìn)行分類,然后定義與之對(duì)應(yīng)的安全目標(biāo)(safety goal,SG),以避免不可接受的風(fēng)險(xiǎn)[7]。每一安全目標(biāo)得到相應(yīng)的汽車安全完整性等級(jí)(automotive safety integrity level,ASIL)。ASIL從低到高分為A、B、C、D四個(gè)等級(jí),等級(jí)越高,表示危害事件的風(fēng)險(xiǎn)越高。
通過(guò)整車危害分析與風(fēng)險(xiǎn)評(píng)估,得到車身域所有相關(guān)功能的安全目標(biāo)。本文以表1中部分燈光及雨刮器控制功能為例進(jìn)行說(shuō)明。
2.2 元器件的安全機(jī)制與診斷覆蓋率確認(rèn)
ISO 26262標(biāo)準(zhǔn)中將診斷覆蓋率分為低、中、高3種等級(jí),各等級(jí)的覆蓋率分別可達(dá)到60%、90%和99%[8]。
控制器MCU選用國(guó)產(chǎn)車規(guī)芯片AC78406,該芯片基于ARM CortexM4F內(nèi)核,144引腳,包含1.128 MB的Flash和124 KB 的系統(tǒng) SRAM,功能安全符合ASIL B。AC78406芯片具有內(nèi)核自測(cè)、訪問(wèn)保護(hù)、安全管理單元、內(nèi)部錯(cuò)誤檢查和糾正 (error checking and correction,ECC)及循環(huán)冗余校驗(yàn) (cyclic redundancy check,CRC)、時(shí)鐘和電源監(jiān)控等機(jī)制,并具有數(shù)字回讀功能來(lái)檢查數(shù)據(jù)發(fā)送的正確性。
為防止板上5 V供電模塊出現(xiàn)硬件隨機(jī)故障,額外增加了一路跛行電源。當(dāng)供電發(fā)生故障時(shí),跛行電源啟動(dòng),并由硬件機(jī)制直接打開報(bào)警燈及轉(zhuǎn)向燈等,實(shí)現(xiàn)對(duì)駕駛員的提醒。
高邊驅(qū)動(dòng)選用德州儀器公司的TPS1H100,該驅(qū)動(dòng)帶有過(guò)載保護(hù)和短路保護(hù)功能,并具有自恢復(fù)功能的熱關(guān)斷/熱調(diào)節(jié)失地保護(hù)和失電保護(hù)功能;除此之外帶有一路診斷引腳,可以對(duì)開路、短路、過(guò)載和接地短路進(jìn)行檢測(cè)以及對(duì)電流限制進(jìn)行診斷。
表2為元器件的安全機(jī)制和診斷覆蓋率。
2.3 功能安全指標(biāo)的硬件參數(shù)要求
硬件功能安全確認(rèn)主要是通過(guò)硬件架構(gòu)指標(biāo)來(lái)衡量是否符合對(duì)應(yīng)的ASIL要求,行業(yè)內(nèi)一般對(duì)電路進(jìn)行失效模式影響與診斷分析(failure mode effect and diagnostic analysis,FMEDA),根據(jù)電路圖中各個(gè)元器件的失效和失效影響,編制硬件指標(biāo)計(jì)算表格來(lái)計(jì)算3個(gè)參數(shù):單點(diǎn)故障度量(single-point fault metric,SPFM)、潛在故障度量(latent fault metric,LFM)、隨機(jī)硬件失效概率度量(probabilistic metric for random hardware failures,PMHF)[9-10]。具體計(jì)算公式如下:
式中:下標(biāo)“SR,HW”表示安全相關(guān)的硬件元素;λ為安全相關(guān)失效率;MSPF為單點(diǎn)故障度量;MLF為潛在故障度量;MPMHF為隨機(jī)硬件失效概率度量;λSPF為單點(diǎn)故障失效率;λRF為殘余故障失效率;λMPF,Latent為潛在多點(diǎn)故障失效率;T為產(chǎn)品生命周期。
失效率的單位是FIT(failures in time),1 FIT表示器件每運(yùn)行109 h失效1次。高的單點(diǎn)故障度量意味著相關(guān)硬件的單點(diǎn)故障和殘余故障所占比例低,所以單點(diǎn)故障度量的值越高越好。
功能安全對(duì)硬件指標(biāo)的要求如表3所示。
表3 硬件度量指標(biāo)
3 單MCU方案硬件架構(gòu)指標(biāo)計(jì)算
3.1 單MCU方案硬件失效度量計(jì)算
下文以安全目標(biāo)SG1(控制器正確響應(yīng)轉(zhuǎn)向燈)為例,結(jié)合系統(tǒng)的診斷措施進(jìn)行硬件失效分析。轉(zhuǎn)向燈控制電路如圖1所示。
轉(zhuǎn)向燈開關(guān)作為信號(hào)輸入,經(jīng)過(guò)上拉操作后接入MCU,MCU輸出引腳驅(qū)動(dòng)高邊驅(qū)動(dòng)。當(dāng)MCU檢測(cè)到開關(guān)為低電平時(shí),設(shè)置控制輸出引腳高電平,驅(qū)動(dòng)高邊驅(qū)動(dòng)輸出高電壓給燈組。TPS1H100會(huì)有一路診斷引腳輸出電流診斷信號(hào),該引腳通過(guò)電阻接地。MCU根據(jù)該引腳的電壓反饋來(lái)判斷高邊驅(qū)動(dòng)的故障情況。由于域控制器主控MCU引腳不足,輸入需要采用復(fù)選芯片。
當(dāng)R6出現(xiàn)對(duì)地短路時(shí),U1出現(xiàn)過(guò)流故障,故障反饋信號(hào)會(huì)拉高,并關(guān)斷輸出。而當(dāng)U2發(fā)生故障時(shí),由于缺少足夠的診斷措施覆蓋,所以該失效單點(diǎn)故障率較高。當(dāng)MCU發(fā)生諸如ECC錯(cuò)誤、外部時(shí)鐘不穩(wěn)定等失效時(shí),使用安全機(jī)制SM1~4可以有效檢測(cè)該類故障。
根據(jù)ISO 26262-5中列出的電子元器件的失效模式及其分布律和各失效模式下適用的安全機(jī)制及其診斷覆蓋率,再參考GB/T 37963—2019[11]標(biāo)準(zhǔn)中對(duì)電子元器件失效率的標(biāo)準(zhǔn)規(guī)定,編制了表4所示的轉(zhuǎn)向燈控制電路的硬件指標(biāo)計(jì)算表格。
3.2 硬件隨機(jī)失效分析結(jié)論
硬件指標(biāo)計(jì)算結(jié)果如表5所示。單點(diǎn)故障度量為88.5%,潛在故障度量為41.1%,僅符合ASIL A的要求。
以上結(jié)果表明單MCU的設(shè)計(jì)方案無(wú)法滿足ASIL B的目標(biāo)。原因是缺少外部芯片監(jiān)控主控MCU是否工作正常,導(dǎo)致缺少對(duì)多點(diǎn)故障失效的覆蓋,影響潛在失效率;其次,由于車身域控制器集成了多個(gè)功能以后,單MCU由于引腳不足,必須要使用多路復(fù)選IC才能滿足設(shè)計(jì)要求,造成單點(diǎn)失效率大幅增加,從而無(wú)法滿足技術(shù)安全目標(biāo)。
4 功能安全優(yōu)化
4.1 功能安全優(yōu)化電路
為了解決以上問(wèn)題,可以采用更高規(guī)格的MCU作為主控芯片,比如英飛凌公司的TRAVEO T2G系列車身控制專用芯片和恩智浦公司的S32K344系列都符合設(shè)計(jì)要求,但是兩者的價(jià)格都遠(yuǎn)超AC78406,成本過(guò)高。
本文提出了一種可以提高車身域控制器功能安全的有效方式。為了消除多路復(fù)選芯片的硬件隨機(jī)失效率,同時(shí)增加對(duì)MCU失效的診斷覆蓋,最終符合功能安全目標(biāo),選擇額外增加一個(gè)相同的MCU作為從MCU,同時(shí)設(shè)計(jì)一套主從MCU的通信協(xié)議,在協(xié)議內(nèi)增加診斷功能。2個(gè)MCU分別獨(dú)立接入總線診斷網(wǎng)絡(luò),支持診斷讀取和清除,與使用高規(guī)格進(jìn)口芯片相比,使用2個(gè)國(guó)產(chǎn)MCU也更具有成本優(yōu)勢(shì)。
根據(jù)以上設(shè)計(jì),該車身域控制器增加了SM7安全機(jī)制,即雙MCU之間相互監(jiān)控,診斷覆蓋率定為90%。
新的轉(zhuǎn)向燈控制電路如圖2所示,2個(gè)MCU直接接入對(duì)方復(fù)位引腳,從MCU直接驅(qū)動(dòng)讀取外部IO信號(hào)。由于增加了SM7這種安全機(jī)制,2個(gè)MCU可以互相監(jiān)控,所以當(dāng)其中一個(gè)MCU發(fā)生共因失效時(shí),另一個(gè)MCU可以及時(shí)發(fā)現(xiàn),并復(fù)位系統(tǒng)進(jìn)入安全狀態(tài),魯棒性較高,同時(shí)避免了多路復(fù)選芯片失效造成的單點(diǎn)故障。
相較于圖1,圖2減少了元器件U2,同時(shí)增加了從MCU。根據(jù)新的控制原理圖,結(jié)合新增加的診斷條件,重新計(jì)算轉(zhuǎn)向燈控制電路硬件指標(biāo)。由于增加了診斷機(jī)制SM7,主從MCU在發(fā)生單點(diǎn)失效和潛在多點(diǎn)失效時(shí)均可以被該機(jī)制覆蓋。經(jīng)過(guò)計(jì)算,改進(jìn)后硬件指標(biāo)結(jié)果如表6所示。
由表6可以看出,優(yōu)化后轉(zhuǎn)向燈控制系統(tǒng)硬件架構(gòu)的單點(diǎn)故障度量為94.7%,潛在故障度量為78.8%,參照ISO 26262硬件架構(gòu)指標(biāo)要求,該指標(biāo)符合ASIL B。
通過(guò)前文的分析,額外增加一個(gè)MCU的方式可以在僅增加少量成本下,提高單點(diǎn)故障度量和潛在故障度量,并降低隨機(jī)硬件失效概率度量,由此將功能安全等級(jí)從ASIL A提高到ASIL B,從而提高車身域控制器的可靠性。
4.2 硬件設(shè)計(jì)驗(yàn)證
ISO 26262推薦了3種硬件集成測(cè)試方法,分別是功能測(cè)試、故障注入測(cè)試、電氣測(cè)試。這里采用故障注入測(cè)試,在電路上增加測(cè)試點(diǎn),手動(dòng)模擬故障的發(fā)生,并使用示波器監(jiān)視控制器輸出信號(hào),從而驗(yàn)證安全機(jī)制的完整性和正確性。以TPH1S100為例,正常工作時(shí),診斷引腳會(huì)將輸出以電流的形式反饋,當(dāng)發(fā)生故障對(duì)地短路以后,診斷引腳反饋會(huì)超過(guò)正常范圍,MCU可以通過(guò)該引腳判斷驅(qū)動(dòng)芯片的工作狀態(tài)。當(dāng)手動(dòng)在R6位置觸發(fā)短路故障時(shí),診斷引腳電平如圖3所示,符合設(shè)計(jì)要求。
5 主從MCU通信協(xié)議設(shè)計(jì)
5.1 通信流程
為保證主從MCU通信的準(zhǔn)確性和實(shí)時(shí)性,基于串行外設(shè)接口(serial peripheral interface,SPI)通信設(shè)計(jì)了一種主從MCU間的通信協(xié)議,如圖4所示。其中,主MCU為主機(jī),從MCU為從機(jī)。由于SPI為全雙工通信,主從MCU可同時(shí)相互進(jìn)行數(shù)據(jù)交換,全部通信的最大超時(shí)時(shí)間為200 μs。
如圖5~6所示,通信分為讀、寫2組數(shù)據(jù)包,2組數(shù)據(jù)包均為16字節(jié),包含了序列號(hào)、數(shù)據(jù)幀和循環(huán)冗余校驗(yàn)。寫數(shù)據(jù)包由主MCU發(fā)送給從MCU,用于從MCU數(shù)字輸出以及脈沖寬度調(diào)制(pulse width modulation,PWM)占空比的控制;讀數(shù)據(jù)包由從MCU回復(fù)給主MCU,用于返回從MCU數(shù)字輸入的讀取值和錯(cuò)誤狀態(tài)。
如圖7所示,通過(guò)使用邏輯分析儀獲取的波形可以清楚地看出,主從MCU的通信過(guò)程與所設(shè)計(jì)的通信協(xié)議一致。
5.2 通信故障診斷
本文制定的基于SPI的通信協(xié)議有2種故障:通信超時(shí)故障、校驗(yàn)錯(cuò)誤故障。
通信超時(shí)故障:在主從MCU通信中,當(dāng)主MCU連續(xù)2個(gè)周期沒(méi)有收到從MCU回復(fù)的信息,則從MCU通信超時(shí),主MCU將從MCU復(fù)位,錯(cuò)誤計(jì)數(shù)器清零,并記錄故障信息。
校驗(yàn)錯(cuò)誤:校驗(yàn)錯(cuò)誤分為序列號(hào)校驗(yàn)、數(shù)據(jù)幀校驗(yàn)和CRC校驗(yàn)。序列號(hào)校驗(yàn)是總線上傳輸?shù)拿總€(gè)單獨(dú)的安全相關(guān)幀中包含一個(gè)作為信息一部分的計(jì)數(shù)器,在生成每個(gè)連續(xù)幀時(shí)計(jì)數(shù)器值增加。接收方隨后能通過(guò)驗(yàn)證計(jì)數(shù)器的值是否加1來(lái)探測(cè)任何的幀丟失或者幀未更新。數(shù)據(jù)幀每個(gè)字節(jié)的bit0為奇校驗(yàn)位。讀寫數(shù)據(jù)包的最后2個(gè)字節(jié)為CRC校驗(yàn)部分。通過(guò)以上校驗(yàn)方式可以確保主從通信過(guò)程的穩(wěn)定性和安全性。
6 硬件在環(huán)仿真測(cè)試
6.1 硬件在環(huán)仿真系統(tǒng)
本文采用基于Vector設(shè)備的硬件在環(huán) (hardware in loop,HIL)仿真測(cè)試系統(tǒng)對(duì)車身域控制器進(jìn)行功能測(cè)試。硬件在環(huán)仿真是一種半實(shí)物的閉環(huán)仿真方式,通過(guò)將真實(shí)的控制器接入虛擬建模出來(lái)的環(huán)境中進(jìn)行各項(xiàng)功能的測(cè)試和驗(yàn)證,從而提高開發(fā)質(zhì)量,縮短研發(fā)周期[12]。測(cè)試機(jī)柜由電源管理模塊、程控電源、調(diào)理電源、工控機(jī)以及一系列Vector功能板卡組成[13]。測(cè)試時(shí)控制器通過(guò)擴(kuò)展架與HIL機(jī)柜相連,以總線仿真與測(cè)試工具CANoe為載體搭建測(cè)試工程,以此來(lái)實(shí)現(xiàn)控制器與HIL機(jī)柜之間的信號(hào)實(shí)時(shí)交互;根據(jù)測(cè)試工程面板創(chuàng)建的輸入輸出信號(hào)按鍵來(lái)控制HIL機(jī)柜模擬實(shí)車給控制器發(fā)送開關(guān)量信號(hào),同時(shí)將控制器的輸出響應(yīng)信號(hào)通過(guò)機(jī)柜顯示到上位機(jī)用于觀察結(jié)果。LabCar臺(tái)架作為一個(gè)接近實(shí)車尺寸大小的物理裝置,其中各類器件均按照實(shí)車結(jié)構(gòu)進(jìn)行布局[14]。按照實(shí)車零部件、線束、蓄電池等電器部件位置在LabCar臺(tái)架上進(jìn)行實(shí)物搭建。將通過(guò)HIL機(jī)柜驗(yàn)證后的控制器安裝到LabCar上進(jìn)行測(cè)試,檢查車燈、轉(zhuǎn)向燈等零部件是否可以正常工作。
6.2 車身域控制器測(cè)試平臺(tái)搭建
如圖8所示,將一鍵啟動(dòng)控制器、主駕駛門控、胎壓傳感器、整車控制器等報(bào)文節(jié)點(diǎn)添加到模擬設(shè)置窗口中,它們之間通過(guò)總線板卡連接。測(cè)試系統(tǒng)根據(jù)整車通信規(guī)則,通過(guò)模擬節(jié)點(diǎn)發(fā)送總線報(bào)文并使用數(shù)字接口模擬整車信號(hào),通過(guò)判斷被測(cè)控制器的響應(yīng)情況來(lái)檢查控制器是否符合功能設(shè)計(jì)要求。
根據(jù)該車身域控制器的功能及具體的HIL測(cè)試條件搭建測(cè)試面板,它包含商用車的前大燈、轉(zhuǎn)向燈、駕駛室內(nèi)部照明燈、雨刮、天窗、空調(diào)等功能的控制。此外,將各個(gè)執(zhí)行部件的控制信號(hào)也做在面板上,以便于及時(shí)觀察控制器控制信號(hào)的響應(yīng)情況。
6.3 車身域控制器功能測(cè)試
測(cè)試項(xiàng)目工程搭建完畢后,基于車身域控制器的功能規(guī)范編寫測(cè)試用例,再通過(guò)上述測(cè)試平臺(tái)所搭建的測(cè)試面板對(duì)車身域控制器的功能進(jìn)行逐一驗(yàn)證。該過(guò)程既可以驗(yàn)證應(yīng)用層的功能邏輯的正確性,又能驗(yàn)證控制器底層對(duì)于輸入輸出的數(shù)字信號(hào)、模擬信號(hào)、PWM調(diào)速信號(hào)以及CAN信號(hào)處理的實(shí)效性。表7羅列了域控制器的所有功能測(cè)試項(xiàng),將測(cè)試項(xiàng)目按照用例編寫成腳本進(jìn)行自動(dòng)化測(cè)試,僅最后對(duì)測(cè)試結(jié)果進(jìn)行分析,可省去大量測(cè)試時(shí)間。CANoe測(cè)試腳本運(yùn)行結(jié)果如圖9所示。
經(jīng)過(guò)測(cè)試,車身域控制器上述功能滿足設(shè)計(jì)要求,車身域、門控及空調(diào)的應(yīng)用層功能都可以被正確地執(zhí)行。該種控制器對(duì)域控制器功能中所涉及的數(shù)字信號(hào)、模擬信號(hào)、PWM信號(hào)以及CAN信號(hào)的處理能力均達(dá)到設(shè)計(jì)要求,對(duì)應(yīng)用層邏輯的處理符合預(yù)期目標(biāo)。
7 結(jié)束語(yǔ)
本文根據(jù)企業(yè)實(shí)際需求,在兼顧成本和實(shí)用性的情況下,提出了一種雙MCU架構(gòu)的車身域控制器設(shè)計(jì)方法。通過(guò)使用注入測(cè)試和HIL功能測(cè)試,證明該控制器符合設(shè)計(jì)要求。該方案具有良好的可靠性和工程實(shí)用性,給未來(lái)車身域控制器設(shè)計(jì)提供了新的思路。
評(píng)論