前言
近年來(lái),由于汽車(chē)技術(shù)的進(jìn)步和各種組件的整合,汽車(chē)系統(tǒng)變得越來(lái)越復(fù)雜。隨著汽車(chē)新四化的變革,配備的功能和特性越來(lái)越多,讓汽車(chē)不再是傳統(tǒng)觀念里的汽車(chē),而更加像一個(gè)“消費(fèi)電子產(chǎn)品”,甚至像是一個(gè)“電動(dòng)玩具”。
但這種智能化、電子化的趨勢(shì)在增加產(chǎn)品功能、滿足更多用戶需求的同時(shí),也增加了汽車(chē)系統(tǒng)本身的復(fù)雜性。這種復(fù)雜性帶來(lái)了系統(tǒng)可靠性、維護(hù)和故障排除等方面的挑戰(zhàn)。消費(fèi)者會(huì)希望汽車(chē)更加智能互通,就像我們的智能手機(jī)等其他消費(fèi)電子一樣新穎酷炫。但相信消費(fèi)者同時(shí)也希望汽車(chē)依然保持安全至上的產(chǎn)品屬性,不會(huì)像消費(fèi)電子一樣動(dòng)不動(dòng)死機(jī)、卡屏或者變磚。
這種復(fù)雜的用戶需求,無(wú)疑是當(dāng)下智能汽車(chē)發(fā)展的重要推動(dòng)力。各大廠家的工程技術(shù)人員也開(kāi)發(fā)出更加強(qiáng)大的監(jiān)控、故障診斷、測(cè)試和維護(hù)策略,以確保這些復(fù)雜系統(tǒng)的最佳性能和可靠性。這也跟我們經(jīng)常強(qiáng)調(diào)的功能安全所強(qiáng)關(guān)聯(lián)。這次我們就來(lái)看看其中兩個(gè)重要的方案:看門(mén)狗(Watchdog)和平臺(tái)健康管理(Platform Health Management)。
看門(mén)狗
看門(mén)狗的英語(yǔ)一般會(huì)說(shuō)Watchdog Timer,雖然中文里往往省略了Timer的翻譯,但是看門(mén)狗本質(zhì)上是一個(gè)計(jì)時(shí)器機(jī)制。
抽象地來(lái)看,看門(mén)狗就是一個(gè)系統(tǒng)的守護(hù)狗,它會(huì)一直監(jiān)控著它的“主人”,確保“主人”不會(huì)思想跑飛。怎么監(jiān)控呢?它會(huì)期待“主人”(按照定時(shí)器)定期地給它喂食,如果按時(shí)投喂,則一切如常。如果超時(shí)了還沒(méi)有被投喂,那看門(mén)狗可能會(huì)先吠叫幾聲,如果吠叫完還沒(méi)有反應(yīng),那可能看門(mén)狗還會(huì)極端地去“咬”醒主人。
用工程語(yǔ)言再來(lái)描述的話,看門(mén)狗就是系統(tǒng)中的一個(gè)組件,用于監(jiān)控其他組件的運(yùn)行是否可能出現(xiàn)故障。當(dāng)檢測(cè)到可能的故障時(shí),看門(mén)狗定時(shí)器系統(tǒng)會(huì)發(fā)出信號(hào)或啟動(dòng)適當(dāng)?shù)奶D(zhuǎn)指令,并根據(jù)當(dāng)時(shí)的問(wèn)題進(jìn)行調(diào)整。信號(hào)或跳轉(zhuǎn)指令可直接或間接觸發(fā)其他合作的系統(tǒng)組件,從而解決問(wèn)題。特別是在微控制器控制的設(shè)備中,經(jīng)常可以看到看門(mén)狗的身影。這些看門(mén)狗定時(shí)器往往用來(lái)防止系統(tǒng)因軟件故障而失效,看門(mén)狗會(huì)在固定的時(shí)間間隔內(nèi)告知系統(tǒng)是否仍在正常工作。
那這個(gè)機(jī)制具體可以怎么實(shí)現(xiàn)呢?我們來(lái)看看下圖的例子。
圖:外置看門(mén)狗的實(shí)現(xiàn)原理示意圖
圖左方是TPS3850芯片和MCU芯片的電路連接原理圖。TPS3850可以監(jiān)控電壓和提供看門(mén)狗功能,這里我們只關(guān)注看門(mén)狗功能,對(duì)應(yīng)“WDI”和“WDO”端口,也就是看門(mén)狗的輸入和輸出端口。上圖右方就是這兩個(gè)端口的信號(hào)示意圖。當(dāng)MCU按照正常周期輸出高電平脈沖給WDI端口時(shí),WDO端口就會(huì)穩(wěn)定輸出高電平。但WDI超前或者延后輸出高電平脈沖時(shí),就會(huì)觸發(fā)WDO輸出低電平,觸發(fā)MCU上的中斷。該中斷可以在MCU上觸發(fā)復(fù)位等操作。
當(dāng)然,這個(gè)只是其中一種實(shí)現(xiàn)看門(mén)狗機(jī)制的例子。實(shí)際上我們可以通過(guò)不同的軟硬件來(lái)實(shí)現(xiàn)這個(gè)機(jī)制。比如我們可以做一個(gè)純軟件的計(jì)時(shí)器,來(lái)實(shí)現(xiàn)看門(mén)狗的功能,也可以用純硬件來(lái)實(shí)現(xiàn)這個(gè)功能。當(dāng)然,軟硬件結(jié)合后,再細(xì)分不同的監(jiān)控對(duì)象,用不同的方式喂狗,就可以豐富監(jiān)控和響應(yīng)效果。比如某些程序喂狗失敗就會(huì)重啟應(yīng)用或者功能降級(jí),關(guān)鍵程序喂狗失敗就會(huì)直接重啟系統(tǒng)等。
而按照是否采用外部的獨(dú)立看門(mén)狗芯片來(lái)區(qū)分,我們又常常會(huì)分為“內(nèi)狗”和“外狗”。在汽車(chē)行業(yè)實(shí)際應(yīng)用中,我們往往會(huì)同時(shí)采用多種類(lèi)型的看門(mén)狗,比如同時(shí)采用內(nèi)狗和外狗,來(lái)讓系統(tǒng)更加高效的同時(shí)更加魯棒。比如常見(jiàn)的英飛凌AURIX芯片,就針對(duì)每個(gè)CPU都有一個(gè)內(nèi)置的看門(mén)狗,對(duì)整個(gè)AURIX芯片系統(tǒng)也有一個(gè)看門(mén)狗。這些都是內(nèi)狗。同時(shí),MCU也會(huì)往往由一個(gè)外部看門(mén)狗芯片(也常集成在電源管理芯片中)來(lái)監(jiān)控MCU的狀態(tài)。
圖:外狗、內(nèi)狗示意圖
平臺(tái)健康管理
平臺(tái)健康管理(Platform Health Management)則是AUTOSAR Adaptive Platform(AP)中一個(gè)重要的功能集群。它與執(zhí)行管理(Execution Management)和狀態(tài)管理(State Management)共同協(xié)作,是AP中的功能安全基石。
在監(jiān)控內(nèi)容方面,PHM可以對(duì)監(jiān)控實(shí)體的存活(Alive Supervision)、邏輯性(Logical Supervision)和死線(Deadline Supervision)進(jìn)行監(jiān)控。
存活監(jiān)控可檢查受監(jiān)控實(shí)體的運(yùn)行頻率是否過(guò)高或者過(guò)低。
死線監(jiān)控可檢查受監(jiān)控實(shí)體中的步驟是否在Manifest中配置的最短和最長(zhǎng)時(shí)間內(nèi)執(zhí)行。
邏輯監(jiān)控可以檢查執(zhí)行過(guò)程中的控制流是否與設(shè)計(jì)的控制流相匹配。
這三種類(lèi)型的監(jiān)控可以獨(dú)立使用,并基于被監(jiān)控實(shí)體的檢查點(diǎn)報(bào)告執(zhí)行。
在操作系統(tǒng)拉起AP平臺(tái)后,EM和SM就負(fù)責(zé)維護(hù)整個(gè)AP平臺(tái)的進(jìn)程、線程管理了,包括啟動(dòng)、終止和狀態(tài)切換等。除了可以用來(lái)監(jiān)控AP平臺(tái)上的其他應(yīng)用程序以外,PHM的一個(gè)關(guān)鍵任務(wù)就是監(jiān)控EM和SM本身的狀態(tài)。由于EM和SM是AP平臺(tái)的關(guān)鍵基礎(chǔ)特性,在任何正常的系統(tǒng)狀態(tài)下,這兩個(gè)功能集群都應(yīng)該運(yùn)行。當(dāng)PHM監(jiān)控到EM和SM出現(xiàn)異常時(shí),PHM就需要重啟整個(gè)機(jī)器(也就是重啟操作系統(tǒng))了,因?yàn)榇藭r(shí)常規(guī)的系統(tǒng)狀態(tài)切換和操作已經(jīng)不可靠了。
看門(mén)狗與平臺(tái)健康管理的協(xié)同
看到這里,相信聰明的你也開(kāi)始把看門(mén)狗和PHM兩者聯(lián)系起來(lái)了。沒(méi)錯(cuò),當(dāng)PHM監(jiān)控到EM和SM異常時(shí),就需要對(duì)看門(mén)狗進(jìn)行相應(yīng)操作以恢復(fù)系統(tǒng)。如上圖左方所示,PHM和看門(mén)狗接口(Watchdog Interface)模塊的交互接口主要有兩個(gè):
lAliveNotification:PHM會(huì)根據(jù)配置,周期性地調(diào)用該接口,通知看門(mén)狗接口模塊,PHM還正常工作著。
lFireWatchdogReaction:某些情況下,PHM監(jiān)控到關(guān)鍵進(jìn)程失效,比如EM和SM,PHM可以通過(guò)該接口觸發(fā)看門(mén)狗接口模塊,驅(qū)動(dòng)硬件看門(mén)狗進(jìn)行復(fù)位操作。
說(shuō)到這里,我們就不得不重新提到整個(gè)Adaptive Platform和Classic Platform的最大差別:AP本質(zhì)上是中間件,不包含操作系統(tǒng)和底層驅(qū)動(dòng),而CP是包含底層驅(qū)動(dòng)和操作系統(tǒng)的。在這個(gè)背景下,AP平臺(tái)設(shè)計(jì)的PHM,其監(jiān)控對(duì)象就是AP中間件及Adaptive Application (AA)。而PHM的故障響應(yīng)策略也不是直接驅(qū)動(dòng)硬件底層進(jìn)行看門(mén)狗操作,而是留了接口,由外部的看門(mén)狗接口模塊(不屬于AP中間件)來(lái)去實(shí)現(xiàn)看門(mén)狗驅(qū)動(dòng)和硬件看門(mén)狗的操作執(zhí)行。
這與實(shí)際工程中AP和CP的應(yīng)用環(huán)境也是一致對(duì)應(yīng)的。CP通常跑在高度嵌入式的MCU中。MCU上一般也有芯片內(nèi)部的硬件看門(mén)狗邏輯模塊。按照芯片開(kāi)發(fā)CP軟件的時(shí)候,就能適配好內(nèi)置看門(mén)狗驅(qū)動(dòng)。而AP經(jīng)常跑在復(fù)雜異構(gòu)的SOC上,這些SOC往往并沒(méi)有內(nèi)置硬件看門(mén)狗。
寫(xiě)在最后
總的來(lái)說(shuō),PHM和看門(mén)狗關(guān)系密切,是保障智能汽車(chē)這個(gè)復(fù)雜系統(tǒng)能夠可靠安全地運(yùn)行的關(guān)鍵手段。PHM監(jiān)控應(yīng)用程序和關(guān)鍵中間件平臺(tái),主動(dòng)維護(hù)系統(tǒng)健康。而看門(mén)狗則是持續(xù)守護(hù)系統(tǒng)的基石,在系統(tǒng)異常時(shí),能夠充當(dāng)守門(mén)員作為最后一關(guān),觸發(fā)系統(tǒng)重啟等安全操作。PHM和看門(mén)狗的協(xié)同,在日益復(fù)雜智能的汽車(chē)系統(tǒng)中,既能提高系統(tǒng)總體效率,又能確保系統(tǒng)安全和可靠。在汽車(chē)消費(fèi)者越來(lái)越把汽車(chē)當(dāng)作“消費(fèi)電子”的時(shí)代,我們從業(yè)者更應(yīng)該時(shí)刻警惕:汽車(chē)終究是一個(gè)交通工具,汽車(chē)安全性是重中之重,不可或缺。
而作為汽車(chē)工程師,我們亦可緊跟趨勢(shì),在使用AUTOSAR等架構(gòu)減少重復(fù)開(kāi)發(fā)的同時(shí),專(zhuān)注于關(guān)鍵設(shè)計(jì),例如AP平臺(tái)之上PHM需要監(jiān)控哪些實(shí)體,在故障發(fā)生時(shí)配置哪些響應(yīng)行為等。希望大家能利用好PHM和看門(mén)狗的工具箱,共同設(shè)計(jì)出既智能好玩又安全的汽車(chē)產(chǎn)品。
審核編輯:湯梓紅
-
看門(mén)狗
+關(guān)注
關(guān)注
10文章
565瀏覽量
70819 -
cpu
+關(guān)注
關(guān)注
68文章
10870瀏覽量
211878 -
智能汽車(chē)
+關(guān)注
關(guān)注
30文章
2857瀏覽量
107297 -
健康管理
+關(guān)注
關(guān)注
0文章
16瀏覽量
7943
原文標(biāo)題:輪子上的安全:看門(mén)狗與健康管理
文章出處:【微信號(hào):eng2mot,微信公眾號(hào):汽車(chē)ECU開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論