從系統(tǒng)故障或軟件故障中恢復(fù)并非易事。故障存在的時(shí)間越長(zhǎng),識(shí)別和恢復(fù)的難度就越大。外部監(jiān)視器可以幫助系統(tǒng)快速應(yīng)對(duì)此類故障。
外部監(jiān)視器是嵌入式系統(tǒng)工程師工具箱中的重要和關(guān)鍵工具。但是,它們必須正確設(shè)計(jì),以便捕獲系統(tǒng)故障而不會(huì)導(dǎo)致系統(tǒng)故障。在設(shè)計(jì)看門(mén)狗系統(tǒng)時(shí),應(yīng)該考慮五個(gè)提示。
提示1 - 監(jiān)視心跳
外部監(jiān)視程序可以具有的最簡(jiǎn)單的功能是監(jiān)視主應(yīng)用程序處理器生成的周期性“心跳”信號(hào),以及心跳失敗時(shí)生成錯(cuò)誤信號(hào)。監(jiān)測(cè)心跳應(yīng)該有兩個(gè)不同的目的。首先,微控制器應(yīng)僅在對(duì)軟件執(zhí)行功能檢查后生成心跳,以確保軟件正常運(yùn)行。其次,心跳應(yīng)該能夠揭示系統(tǒng)的實(shí)時(shí)響應(yīng)是否已經(jīng)受到危害。
使用簡(jiǎn)單的“啞”外部監(jiān)視器可以監(jiān)控心跳的軟件功能和實(shí)時(shí)響應(yīng)。外部看門(mén)狗應(yīng)該能夠分配心跳周期以及心跳必須出現(xiàn)在其中的窗口。心跳窗口的目的是允許監(jiān)視程序檢測(cè)系統(tǒng)的實(shí)時(shí)響應(yīng)何時(shí)受到損害。如果功能或?qū)崟r(shí)檢查失敗,則看門(mén)狗會(huì)嘗試通過(guò)重置應(yīng)用程序處理器來(lái)恢復(fù)系統(tǒng)。
技巧2 - 使用低性能MCU
可監(jiān)控心跳的基于定時(shí)器的簡(jiǎn)單外部看門(mén)狗成本相對(duì)較低,但嚴(yán)重限制了功能和恢復(fù)的可能性看門(mén)狗系統(tǒng)。低功耗微控制器的成本與外部看門(mén)狗定時(shí)器的成本幾乎相同,那么為什么不向看門(mén)狗增加一些智能并使用微控制器呢?可以開(kāi)發(fā)微控制器固件以實(shí)現(xiàn)窗口心跳監(jiān)視,并增加更多功能。
像這樣的“智能”監(jiān)管機(jī)構(gòu)有時(shí)被稱為主管或安全監(jiān)督機(jī)構(gòu),實(shí)際上已經(jīng)在汽車等不同行業(yè)使用了很多年。通常,基于微控制器的看門(mén)狗主要用于安全關(guān)鍵應(yīng)用。鑒于現(xiàn)有的開(kāi)發(fā)工具和硬件的低成本,這種設(shè)計(jì)在其他應(yīng)用中也具有成本效益。
提示3 - 監(jiān)督關(guān)鍵系統(tǒng)功能
決定使用一個(gè)小型微控制器作為監(jiān)視器打開(kāi)幾乎無(wú)限的可能性如何使用看門(mén)狗。添加到智能監(jiān)視器的第一個(gè)角色之一通常是監(jiān)督關(guān)鍵系統(tǒng)功能,例如系統(tǒng)電流或傳感器狀態(tài)。看門(mén)狗如何監(jiān)控電流的一個(gè)例子是對(duì)電流進(jìn)行獨(dú)立測(cè)量,然后將該值提供給應(yīng)用處理器。然后,應(yīng)用程序處理器可以將自己的讀數(shù)與看門(mén)狗的讀數(shù)進(jìn)行比較。如果兩者之間存在分歧,則系統(tǒng)將執(zhí)行被認(rèn)為適合于應(yīng)用程序的故障樹(shù)。
提示4 - 觀察通信信道
有時(shí)嵌入式系統(tǒng)看門(mén)狗和應(yīng)用處理器可能會(huì)按預(yù)期運(yùn)行,但對(duì)于外部觀察者來(lái)說(shuō)處于無(wú)響應(yīng)狀態(tài)。在這種情況下,將智能看門(mén)狗連接到通信通道(如UART)會(huì)很有用。當(dāng)看門(mén)狗連接到通信通道時(shí),它不僅可以監(jiān)控通道流量,還可以接收監(jiān)視器特有的命令。
這方面的一個(gè)很好的例子是為小型衛(wèi)星設(shè)計(jì)的監(jiān)視器,用于監(jiān)控飛行計(jì)算機(jī)和地面站之間的無(wú)線電通信。如果飛行計(jì)算機(jī)對(duì)無(wú)線電無(wú)響應(yīng),則可以向看門(mén)狗發(fā)送命令,然后執(zhí)行該命令并用于重置飛行計(jì)算機(jī)。
技巧5 - 考慮外部定時(shí)復(fù)位功能
使用微控制器實(shí)現(xiàn)具有額外功能的看門(mén)狗會(huì)給系統(tǒng)設(shè)計(jì)增加一些復(fù)雜性和新的軟件元素。因此,在這樣的系統(tǒng)中誰(shuí)在監(jiān)視看門(mén)狗的問(wèn)題無(wú)疑是許多工程師的想法。如果看門(mén)狗本身進(jìn)入雜草狀態(tài),看門(mén)狗將如何恢復(fù)?
一種選擇是使用前面討論過(guò)的啞外部看門(mén)狗定時(shí)器。智能看門(mén)狗會(huì)產(chǎn)生一個(gè)心跳,以防止被愚蠢的看門(mén)狗定時(shí)器復(fù)位。另一個(gè)選擇是讓?xiě)?yīng)用程序處理器充當(dāng)監(jiān)視程序的監(jiān)視程序。需要認(rèn)真考慮確保兩個(gè)處理器保持正常運(yùn)行的最佳方式。
結(jié)論
智能看門(mén)狗的目的是監(jiān)控系統(tǒng)和主微控制器,以確保它們按預(yù)期運(yùn)行。在系統(tǒng)監(jiān)視器的設(shè)計(jì)過(guò)程中,允許看門(mén)狗支持的功能數(shù)量向上爬行非常誘人。開(kāi)發(fā)人員需要記住,隨著智能監(jiān)視器的復(fù)雜性增加,監(jiān)視器本身將包含潛在故障模式和錯(cuò)誤的可能性也隨之增加。保持監(jiān)視器的簡(jiǎn)單性和最小必要的功能集將確保它可以經(jīng)過(guò)詳盡的測(cè)試并證明可以正常工作。
-
看門(mén)狗
+關(guān)注
關(guān)注
10文章
558瀏覽量
70710 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2968瀏覽量
21625 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
27700 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
42946
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論