微控製器中的看門狗定時器
發布時間:2023-05-23 責任編輯:lina
【導讀】kanmengoudingshiqishiyizhongzhuanyongdingshiqimokuai,kebangzhuweichuliqicongguzhangzhonghuifu。ruguokanmengoudingshiqidaodaqijishuzhouqidemowei,tajiangzhongzhizhenggechuliqixitong。weilefangzhizhezhongqingkuang,chuliqibixuzhixingmouzhongleixingdetedingcaozuolaizhongzhikanmengou。yinci,keyipeizhikanmengoudingshiqi,shiqijinzaifashengchuliqiguzhangshicaidaodaqijishuzhouqidemowei,bingqietongguoqiangzhixitongfuwei,kanmengoudingshiqibangzhuchuliqituoliguzhangmoshibingjixuzhengchangyunxing。
什麼是看門狗定時器?(一個非常規的類比)
kanmengoudingshiqishiyizhongzhuanyongdingshiqimokuai,kebangzhuweichuliqicongguzhangzhonghuifu。ruguokanmengoudingshiqidaodaqijishuzhouqidemowei,tajiangzhongzhizhenggechuliqixitong。weilefangzhizhezhongqingkuang,chuliqibixuzhixingmouzhongleixingdetedingcaozuolaizhongzhikanmengou。yinci,keyipeizhikanmengoudingshiqi,shiqijinzaifashengchuliqiguzhangshicaidaodaqijishuzhouqidemowei,bingqietongguoqiangzhixitongfuwei,kanmengoudingshiqibangzhuchuliqituoliguzhangmoshibingjixuzhengchangyunxing。
為了形象化 WDT 的功能,我有一個非常規的類比供您考慮。
mishishiyibuguangshouhuanyingdedianshiju,jiangshuleyiqunxingcunzhezaifeijishishihoubeikunzaiyigeshenmidedaoyushangdegushi。qizhongyigeciyaoqingjieshejidejiaoserenweitamenbixuzaipingmushangdejishuqibianwei 0 或世界末日之前輸入一串簡短的數字。
shuruxiliehou,jishuqijiangzhongzhibingzaicikaishidaojishi。muqianshangbuqingchushuruzheyixilieshuzizhishixinlishiyandeyibufen,haishishijiedemingyunjijikewei。zhaochudaandefangfashibushurushuzi。jiaosekeyiziyouchumen、尋找食物、遊泳——但(dan)他(ta)們(men)必(bi)須(xu)及(ji)時(shi)返(fan)回(hui)以(yi)重(zhong)置(zhi)計(ji)數(shu)器(qi)。從(cong)計(ji)算(suan)機(ji)的(de)角(jiao)度(du)來(lai)看(kan),接(jie)收(shou)到(dao)正(zheng)確(que)的(de)輸(shu)入(ru)意(yi)味(wei)著(zhe)有(you)人(ren)在(zai)正(zheng)常(chang)操(cao)作(zuo)並(bing)為(wei)櫃(gui)台(tai)提(ti)供(gong)服(fu)務(wu)。沒(mei)有(you)收(shou)到(dao)正(zheng)確(que)的(de)輸(shu)入(ru)表(biao)明(ming)出(chu)現(xian)了(le)問(wen)題(ti)。
看門狗定時器的運行方式類似於《迷失》中的計算機係統。微控製器的其餘部分是壓力過大的角色,他們可以自由地做任何事情,但必須定期維護計數器或微控製器重置(又名世界末日)。正確運行的軟件和硬件將在固定的時間內為看門狗提供服務,而有故障的軟件或硬件可能不會。
內部看門狗定時器的類型
有兩種類型的看門狗,非窗口和窗口。如果服務計數器延遲,這兩種類型都會導致重置。
ruguofuwufashengdetaizao,chuangkoushikanmengouyehuidaozhifuwei。cituxianshileshiyongdizengjishuqidekanmengoudeshixu。youxiekanmengoushiyongdijianjishuqi,danyuanlishiyiyangde。
看門狗定時器的時序
對(dui)於(yu)非(fei)窗(chuang)口(kou)或(huo)窗(chuang)口(kou)看(kan)門(men)狗(gou),計(ji)數(shu)器(qi)達(da)到(dao)上(shang)限(xian)值(zhi)之(zhi)前(qian)的(de)任(ren)何(he)服(fu)務(wu)都(dou)會(hui)重(zhong)置(zhi)計(ji)數(shu)器(qi),一(yi)切(qie)正(zheng)常(chang)。窗(chuang)口(kou)看(kan)門(men)狗(gou)添(tian)加(jia)一(yi)個(ge)下(xia)限(xian)並(bing)創(chuang)建(jian)一(yi)個(ge)計(ji)數(shu)窗(chuang)口(kou)。下(xia)限(xian)和(he)上(shang)限(xian)之(zhi)間(jian)的(de)任(ren)何(he)服(fu)務(wu)都(dou)可(ke)以(yi)。這(zhe)是(shi)圖(tu)表(biao)的(de)詳(xiang)細(xi)說(shuo)明(ming)。
A - 啟動後不久,程序用計數器的上限初始化看門狗並啟用計數。對於窗口看門狗,還設置了下限。
B和C - 軟件在計數器達到上限之前成功為計數器提供服務,對於窗口看門狗,在達到下限之後。維修後,計數器重置為 0 並重新開始計數。一切都好。
D - 程序不為計數器服務,計數達到上限。看門狗重置微控製器。
D 到 E - 微控製器啟動並初始化並啟用看門狗。
E - 看門狗開始計數。
F - 程序在達到上限之前為計數器提供服務,對於窗口看門狗,在達到下限之後提供服務。計數器重置為 0 並重新開始計數。一切都好。
G - 程序在計數達到窗口看門狗的下限之前為計數器提供服務。對於沒有下限的非窗口看門狗,沒有複位,計數器變為 0 並再次開始向上計數。對於窗口看門狗,微控製器被重置。
看kan門men狗gou的de細xi節jie差cha異yi很hen大da。他ta們men可ke以yi向xiang上shang或huo向xiang下xia計ji數shu。他ta們men使shi用yong不bu同tong的de時shi鍾zhong。他ta們men對dui上shang限xian和he下xia限xian有you不bu同tong的de選xuan擇ze。以yi下xia部bu分fen介jie紹shao了le許xu多duo特te性xing,但dan隻zhi是shi概gai述shu。
看門狗初始化
初始化看門狗可能很棘手。例如,一些看門狗在微控製器啟動時自動啟用。
如ru果guo不bu使shi用yong看kan門men狗gou,則ze必bi須xu在zai啟qi動dong時shi包bao含han代dai碼ma以yi禁jin用yong它ta。我wo目mu前qian使shi用yong的de看kan門men狗gou就jiu是shi這zhe種zhong情qing況kuang。如ru果guo我wo的de程cheng序xu需xu要yao運yun行xing超chao過guo一yi秒miao,我wo必bi須xu禁jin用yong看kan門men狗gou或huo更geng改gai窗chuang口kou設she置zhi!
一yi些xie看kan門men狗gou隻zhi允yun許xu對dui控kong製zhi寄ji存cun器qi進jin行xing寫xie入ru作zuo為wei一yi項xiang安an全quan功gong能neng。此ci功gong能neng可ke防fang止zhi失shi控kong的de軟ruan件jian在zai初chu始shi化hua後hou更geng改gai設she置zhi。如ru果guo您nin在zai具ju有you此ci功gong能neng的de看kan門men狗gou中zhong使shi用yong默mo認ren設she置zhi,請qing確que保bao覆fu蓋gai默mo認ren設she置zhi,即ji使shi位wei值zhi相xiang同tong。這zhe“鎖定”了值並維護了安全性。
如果您使用 C 語言編程,請注意啟動代碼中可能會初始化看門狗,它在您的 main() 函數之前運行。此代碼有時會作為運行標準 C 程cheng序xu的de一yi部bu分fen由you開kai發fa環huan境jing自zi動dong包bao含han。此ci代dai碼ma設she置zhi內nei存cun和he中zhong斷duan向xiang量liang表biao。查zha看kan您nin的de啟qi動dong代dai碼ma以yi了le解jie對dui看kan門men狗gou的de操cao作zuo,並bing根gen據ju您nin的de係xi統tong要yao求qiu進jin行xing修xiu改gai。
窗口設置
看kan門men狗gou可ke以yi是shi非fei窗chuang口kou和he窗chuang口kou的de。通tong過guo將jiang窗chuang口kou的de下xia限xian作zuo為wei選xuan項xiang來lai提ti供gong兩liang種zhong類lei型xing的de單dan個ge定ding時shi器qi是shi很hen常chang見jian的de。窗chuang口kou的de大da小xiao隨sui看kan門men狗gou的de不bu同tong而er不bu同tong。
我目前使用的看門狗下限固定為上限的75%。另一個看門狗可以選擇上限的 75%、50%、37.5% 或 25%。另一個看門狗獨立設置上限和下限。關於如何選擇上限也有很多差異。
維修 AKA 看門狗定時器重置
定期重置看門狗計數器稱為“維修”定時器。不同的看門狗定時器會有不同的服務要求。所有服務要求都使用在失控軟件執行期間不太可能發生的操作。
我目前使用的看門狗需要兩次寫入“服務寄存器”,值為 0x55,後跟 0xAA。如果將 0x55 或 0xAA 以外的任何值寫入服務寄存器,在任何時候,微控製器都會立即複位。
另一個看門狗需要單次寫入值為 0xAAAA 的服務寄存器。數字 0xA 和 0x5 以及它們的交替位模式 1010 和 0101 似乎令人著迷。一個定時器通過使用具有幻數 0x5743 的單次寫入來違背這一趨勢。
睡眠模式
睡眠和其他低功耗模式使事情變得複雜。如果處理器進入休眠並停止執行,看門狗應該做什麼?看門狗時間應該保持不變嗎?
當dang處chu理li器qi進jin入ru和he退tui出chu深shen度du睡shui眠mian時shi,我wo當dang前qian使shi用yong的de看kan門men狗gou會hui在zai初chu始shi計ji數shu時shi停ting止zhi並bing重zhong新xin啟qi動dong。這zhe個ge話hua題ti很hen複fu雜za,當dang微wei控kong製zhi器qi使shi用yong低di功gong耗hao模mo式shi時shi,您nin需xu要yao研yan究jiu看kan門men狗gou的de操cao作zuo。
漸進反應
完全重置微控製器可能過於苛刻。一些看門狗具有允許漸進式響應的功能。
liru,kanmengoukeyizaifuweizhiqiandemougeshijianxuanzezhongduanqingqiu。cigongnengyunxuzhongduanfuwulichengzaikanmengoujixujishushixiufuhuojiluwenti。ruguozhongduanlichengwufashishiqinghuidaozhenggui,zehuifashengzhongzhi。
WDT策略
我使用術語“策略”來lai確que定ding在zai何he處chu設she置zhi看kan門men狗gou的de時shi間jian限xian製zhi。簡jian單dan的de策ce略lve是shi使shi用yong一yi個ge非fei窗chuang口kou看kan門men狗gou,其qi超chao時shi時shi間jian比bi服fu務wu看kan門men狗gou之zhi間jian程cheng序xu的de任ren何he可ke能neng執zhi行xing時shi間jian都dou長chang得de多duo。我wo將jiang其qi稱cheng為wei“重置按鈕”策略,因為它代替了按下重置按鈕的人。醫療設備或製造機器人等關鍵係統的策略需要更快的響應。
看門狗策略可以考慮很多因素:
• 係統是否使用可預測的主循環或基於實時操作係統的複雜多任務結構?
• 看門狗重置是否應該啟動一係列自動係統檢查?
• 看門狗是一係列診斷和修複問題嚐試的階段嗎?
• 是否要在係統啟動時測試看門狗以及其他檢查?
看門狗策略是一個複雜的話題並且非常依賴於應用程序。
在zai複fu位wei微wei控kong製zhi器qi之zhi前qian,看kan門men狗gou在zai複fu位wei後hou仍reng然ran存cun在zai的de狀zhuang態tai寄ji存cun器qi中zhong設she置zhi一yi個ge位wei。通tong常chang該gai位wei與yu其qi他ta複fu位wei狀zhuang態tai一yi起qi存cun儲chu,例li如ru掉diao電dian複fu位wei位wei。測ce試shi看kan門men狗gou複fu位wei位wei應ying該gai是shi策ce略lve的de一yi部bu分fen。
zhishao,zaiqidongqijianceshizhegeweibingzuoyixieshiqinglaizhishiwenti。fouze,shibaikenenghuibeihushi,youqishibuchangjiandeshibai。liru,zaixianshiqishangshuchuxiaoxihuodianliang LED。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
如何利用1200 V EliteSiC MOSFET 模塊,打造充電更快的車載充電器?
采用增強互連封裝技術的1200 V SiC MOSFET單管設計高能效焊機
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall



