
發(fā)布
注冊(cè)
/
登錄看門狗
關(guān)注創(chuàng)建者:匿名 創(chuàng)建時(shí)間:2021-09-09

看門狗的實(shí)例教程
Q :為何要用定時(shí)中斷喂狗?
A : 一般理解,不在定時(shí)中斷函數(shù)中喂狗是為了方式在主函數(shù)異常的情況,中斷服務(wù)函數(shù)還能正常執(zhí)行,這樣喂狗起不到真正的作用。在AUTOSAR中為何在SBC 外部看門狗采用這種方式,因?yàn)?Wdg_30_Sbc_SetTriggerCondition 函數(shù)只是負(fù)責(zé)根據(jù)配置調(diào)整看門狗喂狗的時(shí)機(jī),然后Gpt的Cbk函數(shù)會(huì)在這個(gè)時(shí)間到達(dá)的同時(shí)執(zhí)行喂狗操作。如果,MainFunction沒有及時(shí)的設(shè)置看門狗觸發(fā)條件,Cbk會(huì)因?yàn)樘崆拔?em>狗導(dǎo)致看門狗出錯(cuò).
截取Gpt回調(diào)函數(shù)如下:
3、WdgIf
關(guān)聯(lián)Wdg Driver驅(qū)動(dòng)函數(shù),與WdgM直接通過函數(shù)接口關(guān)聯(lián),因此WdgIf沒有Lcfg文件.關(guān)聯(lián)的關(guān)鍵函數(shù)如下
4、WdgM
WdgMDemEventParameterRefs :關(guān)聯(lián)Dem模塊,在WdgM模塊出錯(cuò)時(shí)可以Event的方式記錄下來。
WdgMMode :
1)WdgMAliveSupervision :激活監(jiān)控模式
2 ) WdgMDeadlineSupervision :截止監(jiān)控模式
3)WdgMLocalStatusParams :邏輯監(jiān)控模式
4)WdgMSupervisedEntity :監(jiān)控實(shí)體
WdgMWatchdog :
:
管理的Wdg Device,需要關(guān)聯(lián)WdgIf 的Device,通過配置的WdgM_ConfigSet關(guān)聯(lián)不同的Device,可以實(shí)現(xiàn)不同的Wdg Device關(guān)聯(lián)不同的Core。
1.
展開 顧名思義,硬件看門狗就是通過硬件自身的機(jī)制來實(shí)現(xiàn)看門狗功能,其本質(zhì)也是通過定時(shí)器原理來實(shí)現(xiàn),只不過此時(shí)軟件的角色僅僅是使能定時(shí)器,定時(shí)器自身的變化與更新由硬件自身完成;軟件看門狗則是整個(gè)定時(shí)器的使能與更新完全由軟件來做,當(dāng)然軟件也是通過定時(shí)器完成,只不過是間接方式。
硬件看門狗
如上所述,硬件看門狗依賴自身定時(shí)器來完成看門狗功能,俗稱“硬狗”。常見的硬件看門狗比如MCU內(nèi)部自帶的看門狗,PMIC中內(nèi)嵌的看門狗以及外部的獨(dú)立看門狗等。
至于選用何種的硬件看門狗,完全取決于自身系統(tǒng)設(shè)置需要,無法千篇一律。不過在使用硬件看門狗的時(shí)候需要特別考慮以下兩點(diǎn):
該硬件看門狗的最大超時(shí)時(shí)間能否滿足系統(tǒng)設(shè)計(jì)需求,如果該超時(shí)時(shí)間過小,就會(huì)導(dǎo)致整個(gè)系統(tǒng)的不穩(wěn)定性,誤觸發(fā)看門狗;
該硬件看門狗是否可以進(jìn)行關(guān)閉,對(duì)于關(guān)鍵安全系統(tǒng),一般都要求看門狗一旦打開將不允許被關(guān)閉;
該硬件看門狗系統(tǒng)上電后默認(rèn)處于開狗還是關(guān)狗狀態(tài),如果是默認(rèn)開狗,那么對(duì)于軟件而言,需考慮芯片上電后便要進(jìn)行喂狗或者重置看門狗行為,同時(shí)設(shè)計(jì)一種在刷件或者調(diào)試軟件前的物理關(guān)狗動(dòng)作。
該硬件看門狗是采用哪種方式進(jìn)行喂狗,如通過GPIO,IIC或者SPI等通訊方式來喂狗,因?yàn)椴煌耐ㄓ嵨?em>狗方式對(duì)芯片的硬件資源均有要求,盡可能采用相對(duì)簡(jiǎn)單可靠的通訊方式來喂狗即可,小T認(rèn)為GPIO優(yōu)于IIC,IIC優(yōu)于SPI。
展開 ERROR LED燈亮
原因:看門狗、硬件損壞、噪音干擾。
看門狗
1.看門狗:在PLC內(nèi)部有一個(gè)由系統(tǒng)自行啟動(dòng)運(yùn)行的定時(shí)器,這個(gè)定時(shí)器叫監(jiān)視定時(shí)器(俗稱看門門狗定時(shí)器或看門狗)。
2.看門狗功能:監(jiān)視PLC程序的運(yùn)行周期時(shí)間,如果一個(gè)周期運(yùn)行時(shí)間一旦超過監(jiān)視定時(shí)器的設(shè)定值,PLC就出現(xiàn)看門門]狗出錯(cuò)(檢測(cè)運(yùn)行異常)然后CPU出錯(cuò),ERRORLED燈亮并停止所有輸出。
3.看門狗設(shè)定值:出廠設(shè)定值為200ms,一旦超過200ms。看門狗就會(huì)出錯(cuò)。設(shè)定值存貯在D8000可以修改。
看門狗出錯(cuò)處理:
1.改變?cè)O(shè)定值
2.WDT加在程序里面分段
如何判斷看門狗定時(shí)器出錯(cuò):
停止PLC運(yùn)行,然后再次上電,如果ERROR燈滅,則認(rèn)為是看門狗定時(shí)器出錯(cuò)。
如何判斷噪音干擾的影響:
拆下PLC,放在桌子上另外供電,如ERROR燈滅,則認(rèn)為是受到噪音干擾的影響,
此時(shí)確認(rèn)接地的地線,修改接線路徑以及設(shè)置的場(chǎng)所。在電源線中加噪音濾波器。
如何判斷是PLC硬件損壞:
如果在上述二種情況下,ERROR燈仍然不滅,則可能是PLC硬件損壞。
ERROR LED燈閃
原因:語(yǔ)法、參數(shù)、回路錯(cuò)誤等故障。
方法:用電腦軟件診斷出錯(cuò)誤代碼。
展開 硬件部分就是通常所指的“硬件看門狗”,其本質(zhì)是個(gè)定時(shí)器,初始階段會(huì)被設(shè)置一個(gè)定時(shí)值,稱為“timeout”。硬件看門狗被使能工作之后,便會(huì)開始計(jì)時(shí),當(dāng)超過時(shí)間閾值,“timeout”沒有被重置(通常重置時(shí)間閾值的操作被稱為“喂狗”),硬件看門狗便會(huì)復(fù)位MCU,進(jìn)入安全狀態(tài)。
圖2 CP場(chǎng)景下的程序監(jiān)控工作流
程序監(jiān)控以及“喂狗操作”需要軟件部分的參與,軟件堆棧參考的是AUTOSAR CP架構(gòu),包含三個(gè)部分:WdgM、WdgIf以及Wdg Driver。其中,WdgM負(fù)責(zé)對(duì)軟件進(jìn)行監(jiān)控,如果程序運(yùn)行正確,則WdgM調(diào)用WdgIf提供的接口進(jìn)行“喂狗”,WdgIf進(jìn)一步調(diào)用Wdg Driver提供的接口進(jìn)行“喂狗”,而最終的“喂狗”操作實(shí)際由Wdg Driver完成;如果WdgM監(jiān)控到程序運(yùn)行錯(cuò)誤,則會(huì)引發(fā)相應(yīng)的故障處理措施:通常是停止喂狗或者將硬件看門狗的定時(shí)值置為0,引發(fā)看門狗的立即復(fù)位。接下來,對(duì)此三個(gè)軟件模塊展開詳細(xì)的說明。
1.1 WdgM模塊
WdgM模塊的作用是監(jiān)控軟件是否正常運(yùn)行,如果軟件正常運(yùn)行,則WdgM調(diào)用WdgIf模塊提供的接口進(jìn)行喂狗;如果軟件運(yùn)行中出現(xiàn)錯(cuò)誤,則執(zhí)行相應(yīng)的錯(cuò)誤處理,主要包括:
? 通過RTE將錯(cuò)誤通知給軟件,讓其執(zhí)行恢復(fù)處理
? 將錯(cuò)誤報(bào)告給DEM(Diagnostic Event Manager)模塊
? 停止喂狗
? 將timeout設(shè)置為0,MCU立即重置或發(fā)出中斷信號(hào)
1.1.1 術(shù)語(yǔ)解釋
介紹WdgM會(huì)涉及到相應(yīng)術(shù)語(yǔ),下面對(duì)其進(jìn)行簡(jiǎn)要說明。
1) SE:Supervised Entities ,監(jiān)控實(shí)體;
? 一種軟件實(shí)體,包括在WdgM的監(jiān)控之下。每個(gè)受監(jiān)控的實(shí)體只有一個(gè)標(biāo)識(shí)符。
展開 ERROR LED燈亮
原因:看門狗、硬件損壞、噪音干擾。
看門狗
1.看門狗:在PLC內(nèi)部有一個(gè)由系統(tǒng)自行啟動(dòng)運(yùn)行的定時(shí)器,這個(gè)定時(shí)器叫監(jiān)視定時(shí)器(俗稱看門門狗定時(shí)器或看門狗)。
2.看門狗功能:監(jiān)視PLC程序的運(yùn)行周期時(shí)間,如果一個(gè)周期運(yùn)行時(shí)間一旦超過監(jiān)視定時(shí)器的設(shè)定值,PLC就出現(xiàn)看門門]狗出錯(cuò)(檢測(cè)運(yùn)行異常)然后CPU出錯(cuò),ERRORLED燈亮并停止所有輸出。
3.看門狗設(shè)定值:出廠設(shè)定值為200ms,一旦超過200ms。看門狗就會(huì)出錯(cuò)。設(shè)定值存貯在D8000可以修改。
看門狗出錯(cuò)處理:
1.改變?cè)O(shè)定值
2.WDT加在程序里面分段
如何判斷看門狗定時(shí)器出錯(cuò):
停止PLC運(yùn)行,然后再次上電,如果ERROR燈滅,則認(rèn)為是看門狗定時(shí)器出錯(cuò)。
如何判斷噪音干擾的影響:
拆下PLC,放在桌子上另外供電,如ERROR燈滅,則認(rèn)為是受到噪音干擾的影響,
此時(shí)確認(rèn)接地的地線,修改接線路徑以及設(shè)置的場(chǎng)所。在電源線中加噪音濾波器。
如何判斷是PLC硬件損壞:
如果在上述二種情況下,ERROR燈仍然不滅,則可能是PLC硬件損壞。
ERROR LED燈閃
原因:語(yǔ)法、參數(shù)、回路錯(cuò)誤等故障。
方法:用電腦軟件診斷出錯(cuò)誤代碼。
展開 
看門狗的最新內(nèi)容
液晶顯示控制電路點(diǎn)陣液晶控制器芯片VK01927小時(shí)前
Z253+150
特點(diǎn)
? 工作電壓 2.4-5.2V
? 內(nèi)置32KH z RC 振蕩器(上電默認(rèn))
? 可外接32KH z時(shí)鐘源
? 偏置電壓(BIA S)為1/4
? C O M 周期(D U TY)為1/8
? 內(nèi)置顯示RA M 為24x8位
? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
? 時(shí)基和看門狗共用1個(gè)時(shí)鐘源,可配置8種頻率
? 時(shí)基或看門狗溢出信號(hào)輸出腳為
活動(dòng)模式接收:40mA - 低電壓休眠模式:90 μA - 深度休眠模式:10 μA - 關(guān)機(jī)模式:0.5 μA 外設(shè)
? GPIO:QFN32封裝19個(gè)
? 1個(gè)SPI接口 ? 2個(gè)UART:1個(gè)支持Flash下載 ? 1個(gè)I2C ? 1個(gè)通用DMA控制器(GDMA)帶6通道 ? 6個(gè)32位 PWM 通道 ? 10位AUX ADC(支持6通道)
? 6個(gè)通用32位定時(shí)器 ? 1個(gè)看門狗定時(shí)器
內(nèi)置32 kHz RC振蕩器(上電默認(rèn))
? 可外接32kHz時(shí)鐘源或32.768KHz晶體振蕩器
? 偏置電壓(BIAS)固定為1/4
? COM周期(DUTY)固定為1/8
? 內(nèi)置顯示RAM為64x8位
? 蜂鳴器頻率可配置為2kHz、4kHz
? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
? 時(shí)基和看門狗共用
1個(gè)時(shí)鐘源,可配置8種頻率
? 時(shí)基或看門狗溢出信號(hào)輸出腳為/IRQ腳 (開漏)
? 3/4線串行接口
? 軟件配置LCD顯示參數(shù)
? 寫命令和讀寫數(shù)據(jù)2種命令格式
? 讀寫顯示數(shù)據(jù)地址自動(dòng)加1
? 3種顯示數(shù)據(jù)的訪問方式
? 高抗干擾
? VLCD腳提供LCD驅(qū)動(dòng)電壓(<VDD)
? 封裝:
SSOP48/LQFP48/LQFP44/SOP28/SSOP28
工作電壓 2.4-5.2V
? 內(nèi)置32 kHz RC振蕩器(上電默認(rèn))
? 可外接32kHz時(shí)鐘源(OSCI)
? 偏置電壓(BIAS)固定為1/5
? COM周期(DUTY)固定為1/16
? 內(nèi)置顯示RAM為48x16位
? 蜂鳴器頻率可配置為2kHz、4kHz
? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
? 時(shí)基和看門狗共用
? 內(nèi)置32 kHz RC振蕩器(上電默認(rèn))
? 可外接32kHz時(shí)鐘源(OSCI)
? 偏置電壓(BIAS)固定為1/5
? COM周期(DUTY)固定為1/16
? 內(nèi)置顯示RAM為48x16位
? 蜂鳴器頻率可配置為2kHz、4kHz
? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
? 時(shí)基和看門狗共用
-5.2V
? 內(nèi)置32 kHz RC振蕩器(上電默認(rèn))
? 可外接32kHz時(shí)鐘源或32.768KHz晶體振蕩器
? 偏置電壓(BIAS)固定為1/4
? COM周期(DUTY)固定為1/8
? 內(nèi)置顯示RAM為64x8位
? 蜂鳴器頻率可配置為2kHz、4kHz
? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
? 時(shí)基和看門狗共用
G106+136
? 工作電壓 2.4-5.2V ? 內(nèi)置32KHz RC振蕩器(上電默認(rèn)) ? 可外接32KHz時(shí)鐘源 ? 偏置電壓(BIAS)為1/4 ? COM周期(DUTY)為1/8 ? 內(nèi)置顯示RAM為32x8位 ? 蜂鳴器頻率可配置為2kHz、4kHz ? 省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入) ? 時(shí)基和看門狗共用1個(gè)時(shí)鐘源,可配置
Z113+39
特點(diǎn)
工作電壓 2.4-5.2V
內(nèi)置32KH z RC 振蕩器(上電默認(rèn))
可外接32KH z時(shí)鐘源
偏置電壓(BIA S)為1/4
C O M 周期(D U TY)為1/8
內(nèi)置顯示RA M 為24x8位
省電模式(通過關(guān)顯示和關(guān)振蕩器進(jìn)入)
時(shí)基和看門狗共用1個(gè)時(shí)鐘源,可配置8種頻率
時(shí)基或看門狗溢出信號(hào)輸出腳為/IRQ 腳 (開漏)
1個(gè)時(shí)鐘源,可配置8種頻率
? 時(shí)基或看門狗溢出信號(hào)輸出腳為/IRQ腳 (開漏)
? 3/4線串行接口
? 軟件配置LCD顯示參數(shù)
? 寫命令和讀寫數(shù)據(jù)2種命令格式
? 讀寫顯示數(shù)據(jù)地址自動(dòng)加1
? VLCD腳調(diào)整LCD輸出電壓(≤VDD)
? 封裝
QFP64(20.0mm × 14.0mm PP=1.0mm)
LCD/