王松
摘要:在當(dāng)下汽車智能化的大潮流下,針對(duì)全液晶儀表日益豐富的功能和系統(tǒng)安全性之間的矛盾,設(shè)計(jì)硬隔離的雙系統(tǒng)全液晶儀表的安全架構(gòu),在滿足炫酷功能的同時(shí),不影響系統(tǒng)的安全性。提高用戶的駕駛體驗(yàn)
關(guān)鍵詞:全液晶儀表; 安全性; Linux; Nucleus
汽車的組合儀表系統(tǒng),因其包含車速等需要在行車過(guò)程中一直關(guān)注的信息,是在自動(dòng)駕駛來(lái)臨之前,人車信息交互的重要窗口,所以安全性這一屬性,一直是儀表所追求的一個(gè)關(guān)鍵指標(biāo),但是隨著整車智能化的進(jìn)度越來(lái)越高,越來(lái)越多的信息希望通過(guò)儀表展示給用戶,而展示的給用戶的手段也原來(lái)越智能,有豐富的動(dòng)畫(huà),炫酷效果。越來(lái)越多的功能的融合,給儀表的安全性帶來(lái)了極大的挑戰(zhàn)。本論文基于“正確的核做正確事”、“正確的系統(tǒng)處理正確的業(yè)務(wù)”、“簡(jiǎn)單即可靠”等眾多設(shè)計(jì)原則,設(shè)計(jì)一個(gè)雙系統(tǒng)的全液晶儀表架構(gòu)。
系統(tǒng)設(shè)計(jì)
對(duì)于整個(gè)儀表來(lái)講,其包含了眾多功能,有影響行車安全的車速、檔位,報(bào)警符號(hào)的顯示以及報(bào)警提示音的驅(qū)動(dòng)等有功能安全要求的功能,也有多媒體,導(dǎo)航地圖顯示,以及一些人機(jī)交互提示的功能安全要求功能,如果整個(gè)系統(tǒng)只采用一個(gè)域來(lái)處理,那就需要講所有的功能部署在高安全性系統(tǒng)上,比如QNX或者Nucleus,但是高安全性的系統(tǒng)封閉性和擴(kuò)展性均比較差,不利于生態(tài)的構(gòu)建,且日益復(fù)雜的功能越來(lái)越難以維護(hù),基于以上我們將整個(gè)系統(tǒng)分為兩個(gè)域RobustDomain和NormalDomain;RobustDomain 為一個(gè)高安全性的域,負(fù)責(zé)實(shí)現(xiàn)儀表功能安全相關(guān)功能,NormalDomain是一個(gè)高性能,高擴(kuò)展性的域,負(fù)責(zé)實(shí)現(xiàn)儀表非功能安全相關(guān)功能。
系統(tǒng)的硬件架構(gòu)圖如下:
整個(gè)系統(tǒng)由MCU和MPU組成。低性能的MCU負(fù)責(zé)處理整車的總線數(shù)據(jù),高性能的MPU負(fù)責(zé)儀表的圖像渲染和顯示處理。MCU我們選擇NXP的通用MCU S32K144. 為了達(dá)到安全性的要求,我們選擇TI J6 這個(gè)多核異構(gòu)的SOC,其內(nèi)部包含了ASIL-B級(jí)別的M4內(nèi)核和高性能的A15內(nèi)核,以及防火墻模塊,可以做內(nèi)核和外設(shè)的訪問(wèn)控制。這些特性是我們?cè)O(shè)計(jì)高安全性儀表的基礎(chǔ)。
基于以上特性,RobustDomain部署在M4和MCU上,NormalDomain部署在A15上。兩者之間通過(guò)硬件防火墻做硬隔離。同時(shí)通過(guò)防火墻使Safety Device 只能被RobustDomain訪問(wèn),RobustDomain 和NormalDomain通過(guò)基于外設(shè)的IPC通訊,如下圖所示:
在這樣的架構(gòu)下,可以實(shí)現(xiàn)在NormalDomain因?yàn)槟撤N原因崩潰的時(shí)候,受防火墻的限制,并不影響RobustDomain的運(yùn)行。是一個(gè)安全的全液晶儀表架構(gòu)。
RobustDomain詳細(xì)設(shè)計(jì)
MCU我們采用autosar 架構(gòu),負(fù)責(zé)采集儀表外部開(kāi)關(guān)、傳感器信息和車身CAN 總線上的數(shù)據(jù),并將信息解析,通過(guò)板上的SPI總線和MPU交互、執(zhí)行 LCD 屏以及以音頻輸出之外信息輸出(音頻輸出控制、視頻電路工作切換、背光自動(dòng)調(diào)節(jié)等) 在車輛行駛過(guò)程中,MCU 定時(shí)更新里程信息, 將里程信息發(fā)送給 MPU 顯示的同時(shí),保存一份數(shù)據(jù)到外部存儲(chǔ)器中。同時(shí)實(shí)現(xiàn)基于USD的診斷服務(wù),參與整車的網(wǎng)絡(luò)管理,以及整表的低功耗控制。
M4側(cè)的OS,采用基于MentorGraphic的Nucleus 操作系統(tǒng),此系統(tǒng)可滿足ISO26262 ASIL-D的安全等級(jí),支持posix 接口,可以做到快速啟動(dòng),是做全液晶儀表的非常好的選擇之一。主要負(fù)責(zé)和MCU的通訊管理,顯示管理,報(bào)警聲音的驅(qū)動(dòng)管理,以及儀表安全相關(guān)功能顯示的描畫(huà)、對(duì)NormalDomain進(jìn)行健康管理等。
NormalDomain詳細(xì)設(shè)計(jì)
NormalDomain側(cè)的操作系統(tǒng),是采用嵌入式Linux,眾所周知,Linux是目前嵌入式領(lǐng)域應(yīng)用最廣泛的操作系統(tǒng),方便深入定制化,支持多種內(nèi)核開(kāi)發(fā)流程和管理技術(shù),并支持 Qt(HMI程序開(kāi)發(fā)框架)運(yùn)行環(huán)境。儀表的 UI 界面使用可見(jiàn)即可得的 Qt Designer 開(kāi)發(fā)環(huán)境。儀表系統(tǒng)對(duì)顯示APP 采用 Qt Designer 設(shè)計(jì)出儀表 UI 界面文件,內(nèi)部軟件采用 C++、C 混合編程,可以使儀表達(dá)到非常炫酷的顯示效果和開(kāi)機(jī)動(dòng)畫(huà)顯示界面。
架構(gòu)結(jié)果驗(yàn)證
圖一為正常運(yùn)行時(shí)的界面。當(dāng)觸發(fā)linux 的軟件陷阱,使NormalDomain進(jìn)入崩潰狀態(tài)時(shí),系統(tǒng)顯示結(jié)果如圖二所示。
結(jié)束語(yǔ)
設(shè)計(jì)了一種基于雙系統(tǒng)的全液晶儀表架構(gòu),在實(shí)現(xiàn)了良好的人機(jī)交互效果的同時(shí),充分兼顧了系統(tǒng)的安全性,提升了整車的智能化水平,為用戶提供更加優(yōu)質(zhì)的駕駛體驗(yàn)。
參考文獻(xiàn)
[1]田磊. 嵌入式Linux 系統(tǒng)中基于QT 庫(kù)的應(yīng)用程序設(shè)計(jì) [J]. 實(shí)驗(yàn)室研究與探索,2014,33(5):84-86,115.
[2]尹夢(mèng)舒.一種基于CAN總線的汽車儀表顯示設(shè)計(jì)【J】.機(jī)械,2015年12期:32-35
[3]Hallinan C.嵌入式 Linux 開(kāi)發(fā)(英文版)[M]. 北京:人民郵電出版 社,2008:142-145
(杭州建侯科技有限公司 ?321000)