看門狗功能在MCU應用中越來越重要

姓名:殷晨陽

轉(zhuǎn)載自:http://mp.weixin.qq.com/s/VBbltIIcx9qkMVw9Dgk0tw,有改動,文章來源于digikey。

【嵌牛導讀】:在嵌入式系統(tǒng)中,經(jīng)常會遇到某些未知的因素干擾,而看門狗為系統(tǒng)起到了很好的保護作用,其地位是不可替代的。本文詳細介紹了看門狗的一些作用和功能,并介紹了一些看門狗零件。

【嵌牛鼻子】:看門狗,定時器,系統(tǒng)時鐘

【嵌牛提問】:看門狗的功能還能繼續(xù)進行哪些拓展?

是否還有其他的方式來協(xié)同看門狗以保護系統(tǒng)?

【嵌牛正文】:

由于多線程、實時和多任務嵌入式系統(tǒng)的情況紛繁復雜,使我們越來越難以預料微處理器會在什么時候出現(xiàn)問題。 在某種程度上獨立運行的服務程序是如此之多,其中一些很有可能會生存下來,而其它的則被鎖定、廢棄或者執(zhí)行無用代碼。

因此,嵌入式系統(tǒng)設(shè)計人員要在一些低級別服務程序或者內(nèi)核出現(xiàn)偏差時保護整個系統(tǒng)并防止出現(xiàn)故障,現(xiàn)在已是難上加難。

本文介紹看門狗功能的發(fā)展需要,且技術(shù)工程師們能通過這些功能確保 MCU 可靠工作。本文將詳細考察需要在硬件中從外部、在軟件中從內(nèi)部克服的不足之處,并介紹一些看門狗零件樣件。

一、簡單保護

從4位到至高級的32位及以上的機器都需要有看門狗功能。 在潛在危險情況下工作的簡單處理器不在少數(shù)。 例如,一個節(jié)流閥控制回路僅需一個簡單的8位混合信號微控制器,以本地方式實現(xiàn)穩(wěn)定的閉環(huán)控制。 該控制器能夠在車輛 CAN 總線上接受指令,從遠程車載電腦卸載全部處理任務。 然而,如果這個簡單的處理器出現(xiàn)故障,那么整個節(jié)流閥將起不到任何作用。

可以肯定地說,幾乎每一個現(xiàn)代微控制器都具有一些簡單的看門狗功能——專門的看門狗硬件塊或者能夠用來執(zhí)行軟件控制型看門狗功能的定時器。這些設(shè)備均與處理器中的系統(tǒng)時鐘實現(xiàn)了同步。

隨著處理器越來越復雜,處理器內(nèi)部的時鐘結(jié)構(gòu)和時鐘分布也更加復雜。 振蕩器特別容易遭受ESD沖擊,例如,如果時鐘性能下降,同步看門狗將毫無用處。

R/C 振蕩器和時間常數(shù)雖然保守,但能提供獨立時鐘機制和復位機制,作為應急或后備之用。 同樣,冗余型內(nèi)部和外部振蕩器源能實現(xiàn)某種形式的心跳效果,以確保在嚴重故障期間監(jiān)視電路。 此外,可選擇的時鐘集成性與結(jié)構(gòu)樹中的時鐘位置同樣重要。系統(tǒng)時鐘和后備 R/C 振蕩器組合在一起可節(jié)省功耗,并能在系統(tǒng)時鐘崩潰時提供一個可靠獨立的后備時鐘,確保看門狗功能正常。

對于低壓檢測電路來說,也是如此。 雖然采用內(nèi)部電壓基準、比較器和檢測器能夠?qū)崿F(xiàn)基本精度,但通過外部電路可實現(xiàn)更高的分辨率和更精確的電壓電平選擇性。例如,如果您的部分電壓故障模式軟件包括寫入 EEPROM 功能,您可能希望低壓檢測器閾值提早跳變,以使容性電荷存儲器有足夠的時間在按順序關(guān)斷之前執(zhí)行 EEPROM 寫入功能。 現(xiàn)代電壓檢測器能夠達到低至0.05 V的電壓分辨率,以便精確使用所有能量。 通常,這個分辨率要遠勝于您利用微控制器從內(nèi)部實現(xiàn)的分辨率。

還需要了解的一點是單獨的最大超時并非始終有效。 大多數(shù)看門狗解決方案基本上在執(zhí)行一個可再觸發(fā)式單穩(wěn)態(tài)多諧振蕩器(可再觸發(fā)式單觸發(fā))的功能。如果軟件或者硬件周期時鐘不能在最大允許時間幀內(nèi)使定時器復位,看門狗跳變并會使處理器復位(或者啟動故障恢復服務程序)。

最小時間要求也應考慮。例如,如果一個服務程序與60 Hz電源線的過零點同步,那么脈沖間隔應是8.33 ms。如果這些脈沖過早達到,則必須克服通常會影響安全的噪聲或者故障條件。多處理器和多核設(shè)計的情況特殊。 應對單獨的看門狗進行設(shè)置,以利用當時在每個理器中運行的唯一代碼條件來監(jiān)視這些處理器或內(nèi)核。 也就是說,針對多核環(huán)境中某個內(nèi)核的部分軟件開發(fā)應帶有能指示特定代碼塊故障的看門狗條件。

此外,看門狗報告應采用層級結(jié)構(gòu)。 每個內(nèi)核應向更高層級的看門狗報告,該看門狗把由所有子核和流程報告的全部故障模式聯(lián)系在一起。 作為一個高層級系統(tǒng)功能,看門狗執(zhí)行程序與為特定內(nèi)核分配代碼塊的主任務執(zhí)行程序同步工作。 另外,也與外部看門狗系統(tǒng)密切合作。

線或類型多看門狗模功能塊能很容易地進行擴展,以使用特定于某個內(nèi)核的I/O進行報告。 該功能塊可以是 FPGA 或者 CPLD 中的獨立邏輯塊,且易于擴展,能應對多個處理器和功能塊。 寄存器能夠累加所有報告功能塊的獨立狀態(tài),以試圖單獨恢復那個內(nèi)核。 如您所想,這個層級的恢復程序會變得更復雜,就像在保持系統(tǒng)其余部分運行的同時重新啟動內(nèi)核那樣。

二、具有特殊看門狗功能的零件

在涉及到如何實現(xiàn)看門狗功能時,有多種微處理器具有唯一或不同的功能。 以 16 位MaximMaxQ系列微控制器為例,為提升有用性,該系列將類型豐富而靈活地定時器和設(shè)計巧妙的電路組合在一起。

象 Maxim MAXQ2000-RBX+ 這樣的零件具有次級報警。 如果沒有報警且 MAXQ2000 的看門狗 (WTD) 發(fā)生溢出,那么,再次經(jīng)過另外 512 個系統(tǒng)時鐘周期計數(shù)后該微控制器會觸發(fā)一個中斷。 然后,如果未被禁用或覆蓋,它會使全部定時器復位。

這種中斷為保存調(diào)試信息提供了“最后的機會”——一個得到了大多數(shù)設(shè)計人員的一致認可、在電路開發(fā)、故障清除期間非常有用的機會。 而且,該中斷可用于將看門狗從錯誤中恢復并將其清空,而不是保存調(diào)試信息。 然而,后一種方法在系統(tǒng)發(fā)生故障時會削弱系統(tǒng)可靠性。

與其它內(nèi)部 WTD類似,MAXQ2000 的看門狗可通過軟件禁用。 不過應當注意,這種功能就像一把雙刃劍:失控代碼禁用看門狗后仍處于失控狀態(tài)。

一些微處理器的 WTD會與獨立于系統(tǒng)時鐘的內(nèi)部振蕩器連接。 還有一些微處理器使用內(nèi)部或外部 R/C 振蕩器,有的同時使用這些振蕩器。 Maxim MAXQ2000 的 WTD上有一個令人感興趣的功能:雖然從系統(tǒng)時鐘驅(qū)動看門狗定時功能,但能在主振蕩器故障時切換至備用振蕩器。

另一種讓人關(guān)注并具有獨特看門狗功能的 MCU 便是采用兩個看門狗定時器的STM32F100系列(由STMicroelectronics提供)。

像STM32F100CBT6B這樣的零件均針對要求高可靠性的智能電網(wǎng)和智能健康應用。 同大多數(shù)微處理器一樣,該器件也采用了多個定時器(此處為六個),且另外有兩個16位定時器專用于看門狗功能。

每個看門狗都具有一個為看門狗定時器提供時鐘的可選擇預分頻器 (1 - 64 K),同時還能觸發(fā) DMA 請求并捕獲比較通道。另一種獨立的看門狗基于一個 112 位下變頻器和8位預分頻器,并采用獨立的 40 kHz 內(nèi)部 R/C 振蕩器提供時鐘。 注意這兩種零件如何依賴 R/C 元件,將其作為超可靠的后備技術(shù)。

STMicroelectronics 零件吸引人的一個特性就是模擬看門狗功能。 對經(jīng)過 A/D 轉(zhuǎn)換的一個或兩個電壓電平進行精確監(jiān)視,能在模擬電平超過預設(shè)閾值時使復位跳變。 對于那些通過傳感器與人體局域網(wǎng)連接且用于健康監(jiān)視或主動給藥的醫(yī)療應用,該功能會非常有用(圖 3)。

為方便設(shè)計,STMicroelectronics 向工程師們提供有關(guān)健康和醫(yī)療保健設(shè)計的產(chǎn)品培訓模塊。隨著醫(yī)療設(shè)備越來越積極地與我們的人體局域網(wǎng)集成在一起,一些設(shè)備(心臟起搏器、除顫器、胰島素泵等)在維持人的生命中可能會發(fā)揮至關(guān)重要的作用。 需要在這些系統(tǒng)中集成可靠的看門狗。

三、由外向內(nèi)看

許多好的構(gòu)造塊外部解決方案包括簡單的 R/C 閾值發(fā)生器、偏置晶體管、低功耗定時器,以及專用上電復位和看門狗協(xié)處理器。 此外,現(xiàn)在已有可用的開發(fā)環(huán)境,鼓勵人們進行實驗和簡化測試。TexasInstruments利用其TPL5000毫微功耗可編程定時器提供了一種令人感興趣的解決方案,該方案在1.8 - 5 VCC 寬電壓范圍內(nèi)的電流消耗僅30 nA。TPL5000EVM評估套件能讓您在一個小而精致的自足式模塊中測試、優(yōu)化該功能。

目前,已有多種分立式看門狗可與其它有用的功能組合在一起,如實時時鐘和監(jiān)視功能。Lattice Semiconductor提供了一個值得關(guān)注的組合品,帶有其ISPPAC-POWR607-01SN32I電源監(jiān)控器、看門狗和復位發(fā)生器。 請注意 1% 的模擬跳變點步長值以及用于狀態(tài)機和組合式定制的在系統(tǒng)編程宏單元。

四、總結(jié)

謹記有時候做何事情都無助于系統(tǒng)恢復。 有些故障是不可恢復的。 例如,如果系統(tǒng)存儲器崩潰,那么就再沒有什么可值得信任了。

另一種情況是如果存在很高級別的噪音。 即使看門狗使處理器復位,這種噪聲仍能影響處理器的看門狗級初始化。 如果看門狗功能未被初始化,看門狗就如形同虛設(shè)。

任何人都不能指望任何 MCU 在任何時候都能百分之百無故障運行。 微處理器也可能出錯。 然而,是僅出現(xiàn)輕微故障,還是災難性財產(chǎn)損壞或者甚至死亡,關(guān)鍵在于能否合理使用內(nèi)外資源。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內(nèi)容

  • 1 綜述 1.1 時鐘源 在STM32中,一共有5個時鐘源,分別是HSI、HSE、LSI、LSE、PLL。 HSI...
    hackvilin閱讀 3,485評論 0 6
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,045評論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,781評論 18 139
  • 和朋友去飯店吃飯,一共消費220,跟老板說“少20,給200行嗎”老板說:“小本買賣,磨不起,要不這樣吧,給你們打...
    梓毓爸閱讀 161評論 0 1
  • 我把昨天 寫在泛黃的紙上 然后攪碎 然后燒盡 最后放入一個堅硬的膠囊 吞入心底 有時候 滲出的灰燼 淚流滿面 有時...
    peterwan85閱讀 133評論 0 3