XMC4000中文参考手册-第09章 窗口看门狗定时器(WDT)
XMC4000中文参考手册-第10章 实时时钟(RTC)
RTC 生成唤醒触发的条件: 周期定时器事件 配置报警条件
ห้องสมุดไป่ตู้
定时器事件可以在休眠域中作为从休眠模式唤醒触发被处理,在休眠域的 HCU 模块(更多细节请 参考 SCU 章中对休眠控制的描述)。 10.5.1 周期性唤醒触发生成
只要定时器的非屏蔽字段得到更新,周期性的定时器唤醒触发就会被生成。周期性唤醒触发的 生成可以被 CTR 寄存器启用/禁止。 10.5.2 定时器警报唤醒触发生成
只要 TIM0 和 TIM1 的所有位段值与 ATIM0、ATIM1 寄存器对应的位字段值匹配,警报唤醒触 发就会被生成。定时器报警唤醒触发的生成可以被 CTR 寄存器启用/禁止。
参考手册 RTC, V2.4
10-4
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
参考手册 RTC, V2.4
10-7
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
时钟(RTC)
10.9
寄存器
寄存器概述 绝对的寄存器地址通过下式算出: 模块基址+偏移地址 表 10-2 模块 RTC 表 10-3 缩写 寄存器地址空间 基址 5000 4A00H 寄存器概述 寄存器全称 偏移地址 访问方式 读 RTC 核心寄存器 ID CTR RAWSTAT STSSR MSKSR CLRSR ATIM0 ATIM1 TIM0 TIM1 10.9.1 ID RTC 模块中的只读 ID 寄存器包含唯一的 RTC 模块身份代码。 ID 寄存器 控制寄存器 原始服务请求寄存器 状态服务请求寄存器 屏蔽服务请求寄存器 清除服务请求寄存器 报警定时寄存器 0 报警定时寄存器 1 定时寄存器 0 定时寄存器 1 寄存器描述 0000H 0004H 0008H 000CH 0010H 0014H 0018H 001CH 0020H 0024H U,PV U,PV U,PV U,PV U,PV BE U,PV U,PV U,PV U,PV BE PV BE BE PV PV PV PV PV PV 10-8 页 10-9 页 10-11 页 10-12 页 10-13 页 10-14 页 10-15 页 10-16 页 10-17 页 10-19 页 写 描述 结束地址 5000 4BFFH 注释 通过镜像寄存器访问
看门狗定时器
System Frequency/4
0.27306s
註:System Frequency 爲 480KHz。
總共有三種方法會産生系統重置,如下所示:
• RES 正常操作時由
引腳發生重置
• RES 在暫停模式由
引腳發生重置
• 正常操作時由看門狗定時器超時發生重置
暫停模式中的看門狗定時器超時與其他系統重置狀況不同,因爲看門狗定時器超時會執行
,則
過程中 次執行
都 此還 夠 實現 ″ ″ CLR WDT1 指令 不能清除看門狗定時器,因
是能 産生 WDT 溢出,
系統重
從 置, 而跳出閉環狀態。
3
就 避免 現 當 迴圈後 例 可以
這種情況的出 。 程式進入
, 如:
…… LOOP:
CLR WDT1
…… …… SZ
JMP LOOP
……CLR WDT2
第 句 為 ;在 loop 中執行 一 清除 ″0″ WDT 指令 後 第 句 為 ;在 loop 執行 二 清除 ″0″ WDT 指令
第 夠 若 死迴圈 迴圈 再 ″ ″ 一次執行 CLR WDT1 指令能 清除 WDT, 發生
令必須交換執行才能清除看門狗定時器的內容,否則,看門狗定時器很可能會因爲超時而 將系統重置。
1
HT47R20A-1 看門狗定時器(WDT)使用介紹
″ ″ 15
看門狗溢出時間周期爲 時鐘來源 /2 ,如下表所示。
時鐘來源
看門狗溢出周期
12KHz(WDTCLK)
2.73066s
32KHz(RTC)
1.00000s
……
CLR WDT2
;可以清除看門狗定時器的內容
MICROCHIP WDT
公式 9-1:
WDT 超时周期
WDT 周期 (ms)= 预分频因数 x 后分频因数
其中:
预分频因数
= 1, WDTPRE 为 0 时
4, WDTPRE 为 1 时
后分频因数
= 1/ 后分频比
9.2.6 WDT 在休眠和空闲模式下的操作
如果 WDT 使能,它将在休眠或空闲模式下继续运行。发生 WDT 超时时将唤醒器件,代码将从 执行指令处继续执行。
WDT 对低功耗系统设计很有用,因为它可用于将器件定期从休眠模式唤醒,检查系统状态,并在必 要时执行操作。请注意,SWDTEN 位在这方面很有用。若正常工作时将 WDT 禁止(FWDTEN = 0), 则 SWDTEN 位 (RCON<5>)可用于在器件即将进入休眠模式前打开 WDT。
9.2.5 复位看门狗定时器
WDT 计数器和相关预分频器、后分频器在以下情况下复位:
• 任何器件复位时 • PWRSAV 指令执行时 (即进入休眠或空闲模式时) • WDT 由软件使能时 • 时钟切换完成后,由软件(即改变 NOSC 位后将 OSWEN 位置 1)或硬件(即故障保护时钟
监视器)启动 • 正常执行过程中或 WDT 超时周期的后 25% (WINDIS 为 0 时),通过 CLRWDT 指令复位
答:确定包含 CLRWDT 指令的软件循环符合 WDT 的最小值规范 (不是典型值)。而且,确定考 虑到了中断处理时间。
问 2:
在应用程序中使用 WDT 有哪些好的技巧?
答:有许多技巧有助于在使用 WDT 时防止应用程序锁死或跑飞。仔细分析这些技巧您会发现, 它们中的大多数都建立在三条基本原则之上:
第二十二篇 看门狗WDT
第二十二篇看门狗WDT看门狗,全称为看门狗定时器(WatchDog Timer),是用来解决CPU的程序跑飞问题的定时器。
CPU在运行时,由于某种外界的电磁干扰等,CPU可能会进入程序死循环之中(程序跑飞了),为解决这个问题,看门狗应运而生,启动看门狗定时器之前需要对其设定一个合理的初值,启动后定时器开始计数,一旦计数器溢出,看门狗就会向CPU发送复位信号,使CPU复位,所以程序中应当按时使其重装初值(俗称“喂狗”),避免系统复位,这样,一旦程序跑飞,看门狗得不到及时重装初值(喂),就会系统复位,离开死循环状态。
LPC2103的WDT有四个寄存器:★WDMOD——Watchdog Mode register,看门狗模式寄存器WDMOD[0]——看门狗中断中断使能位WDMOD[1]——看门狗复位使能位WDMOD[2]——看门狗时间溢出标志WDMOD[3]——看门狗中断标志其他位——保留★WDTC——Watchdog Timer Constant register,看门狗定时器常量寄存器,32位,它决定着定时器的溢出时间,最小为0xFF,即使往里写入小于0xFF的值,结果仍是0xFF。
★W DTV——Watchdog Timer Value register,看门狗定时器值寄存器,是当前的定时器值,每个4*Tpclk周期,其值减一,到0则溢出。
★WDFEED——Watchdog Feed sequence register,看门狗喂狗寄存器,顺序向其写入“0xAA”和“0x55”则WDTV被WDTC的值重装,即喂狗,还有:每次使能看门狗后,也要顺序向其写入“0xAA”和“0x55”,才能启动看门狗定时器。
下面是程序:由于实际中很难做到程序跑飞的现象,所以用其他方式来模拟停止喂狗。
//***************************************************************//看门狗实验//复位后,LED1闪烁一次,然后周期性及时喂狗,LED2随之闪烁//按住KEY键(P0.16为低电平),禁止喂狗,以使系统复位#include<LPC2103.h>#define LED1 1<<18#define LED2 1<<19#define KEY 1<<16void delay(unsigned int i){while(i--);}int main(){IODIR=LED1; // LED1设定为输出引脚IOCLR=LED1;delay(3000000); //LED1闪烁一次IOSET=LED1;WDMOD=0X3; //看门狗使能并允许复位WDTC=600000; //看门狗常数(最大不喂狗时间间隔),T=Tpclk*4*WDTCWDFEED=0XAA; //第一次喂狗(0XAA,0X55)启动看门狗WDFEED=0X55;while(1){while((IOPIN&(KEY))==0); //如果该按键被按住(低电平),则程序停在这里IODIR=LED2; // LED2设定为输出引脚IOSET=LED2;delay(300000); //LED2闪烁IOCLR=LED2;delay(300000);WDFEED=0XAA; //按时喂狗WDFEED=0X55;}}//***************************************************************仿真结果:复位后LED1闪烁一次(表明刚复位过),然后LED2闪烁(表明正常喂狗),按住KEY(停止喂狗),LED2不闪烁,LED1闪烁(表明不断复位)。
Infineon Technologies AG XMC4000家庭应用板用户手册(第1版,2012
Hexagon Application Kit For XMC4000 FamilyAUT_ISO-V1Automation I/O CardBoard User's Manual Revision 1.0, 2012-02-28Edition 2012-02-28Published byInfineon Technologies AG81726 Munich, Germany© 2012 Infineon Technologies AGAll Rights Reserved.Legal DisclaimerThe information given in this document shall in no event be regarded as a guarantee of conditions or characteristics. With respect to any examples or hints given herein, any typical values stated herein and/or any information regarding the application of the device, Infineon Technologies hereby disclaims any and all warranties and liabilities of any kind, including without limitation, warranties of non-infringement of intellectual property rights of any third party.InformationFor further information on technology, delivery terms and conditions and prices, please contact the nearest Infineon Technologies Office ().WarningsDue to technical requirements, components may contain dangerous substances. For information on the types in question, please contact the nearest Infineon Technologies Office.Infineon Technologies components may be used in life-support devices or systems only with the express written approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the failure of that life-support device or system or to affect the safety or effectiveness of that device or system. Life support devices or systems are intended to be implanted in the human body or to support and/or maintain and sustain and/or protect human life. If they fail, it is reasonable to assume that the health of the user or otherTrademarks of Infineon Technologies AGAURIX™, C166™, CanPAK™, CIPOS™, CIPURSE™, EconoPACK™, CoolMOS™, CoolSET™, CORECONTROL™, CROSSAVE™, DAVE™, EasyPIM™, EconoBRIDGE™, EconoDUAL™, EconoPIM™, EiceDRIVER™, eupec™, FCOS™, HITFET™, HybridPACK™, I²RF™, ISOFACE™, IsoPACK™, MIPAQ™, ModSTACK™,my-d™, NovalithIC™, OptiMOS™, ORIGA™, PRIMARION™, PrimePACK™, PrimeSTACK™, PRO-SIL™, PROFET™, RASIC™, ReverSave™, SatRIC™, SIEGET™, SINDRION™, SIPMOS™, SmartLEWIS™, SOLID FLASH™, TEMPFET™, thinQ!™, TRENCHSTOP™, TriCore™.Other TrademarksAdvance Design System™ (ADS) of Agilent Technologies, AMBA™, ARM™, MULTI-ICE™, KEIL™, PRIMECELL™, REALVIEW™, THUMB™, µVision™ of ARM Limited, UK. AUTOSAR™ is licensed by AUTOSAR development partnership. Bluetooth™ of Bluetooth SIG Inc. CAT-iq™ of DECT Foru m. COLOSSUS™, FirstGPS™ of Trimble Navigation Ltd. EMV™ of EMVCo, LLC (Visa Holdings Inc.). EPCOS™ of Epcos AG. FLEXGO™ of Microsoft Corporation. FlexRay™ is licensed by FlexRay Consortium. HYPERTERMINAL™ of Hilgraeve Incorporated. IEC™ of Commission Electrotechnique Internationale. IrDA™ of Infrared Data Association Corporation. ISO™ of INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. MATLAB™ of MathWorks, Inc. MAXIM™ of Maxim Integrated Products, Inc. MICROTEC™, NUCLEUS™ of Mentor Graphics Corporation. Mifare™ of NXP. MIPI™ of MIPI Alliance, Inc. MIPS™ of MIPS Technologies, Inc., USA. muRata™ of MURATA MANUFACTURING CO., MICROWAVE OFFICE™ (MWO) of Applied Wave Research Inc., OmniVision™ of OmniVision Technologies, Inc. Openwave™ Openwave Systems Inc. RED HAT™ Red Hat, Inc. RFMD™ RF Micro Devices, Inc. SIRIUS™ of Sirius Satellite Radio Inc. SOLARIS™ of Sun Microsystems, Inc. SPANSION™ of Spansion LLC Ltd. Symbian™ of Symbian Software Limited. TAIYO YUDEN™ of Taiyo Yuden Co. TEAKLITE™ of CEVA, Inc. TEKTRONIX™ of Tektronix Inc. TOKO™ of TOKO KABUSHIKI KAISHA TA. UNIX™ of X/Open Company Limited. VERILOG™, PALLADIUM™ of Cadence Design Systems, Inc. VLYNQ™ of Texas Instruments Incorporated. VXWORKS™, WIND RIVER™ of WIND RIVER SYSTEMS, INC. ZETEX™ of Diodes Zetex Limited.Last Trademarks Update 2011-02-24Table of ContentsTable of Contents1Overview (7)1.1Key Features (7)1.2Block Diagram (8)2Hardware Description (8)2.1ISOFACE OUT (9)2.2ISOFACE IN (9)2.3IO Expander (10)2.4Power (11)2.5Satellite Connector (12)3Production Data (13)3.1Schematics (13)3.2Layout and Geometry (16)3.3Bill of Material (17)List of FiguresFigure 1Automation I/O Card (AUT_ISO-V1) (8)Figure 2Automation I/O Card Interfaces (8)Figure 3Power Circuit (11)Figure 4ACT Satellite Connector (12)Figure 5Satellite Connector Type ACT (12)Figure 6Satellite Connector, IO Expander, Power (14)Figure 7ISOFACE (15)Figure 8Automation I/O Card Layout (16)List of TablesTable 1ISOFACE OUT Connector Pinout (9)Table 2ISOFACE OUT signal connection to the Satellite Connector (9)Table 3ISOFACE IN Connector Pinout (9)Table 4ISOFACE IN signal connection to the Satellite Connector (10)Table 5GPIO channel LED/SMD pad mapping (10)Table 6IO Expander I2C signal connection to the Satellite Connector (10)Table 7Power LED’s (11)Table 8PowerScale Jumper (11)Table 9Automation I/O Card BOM (17)OverviewIntroductionThis document describes the features and hardware details of the Automation I/O Card (AUT_ISO-V1) designed to work with Infineon’s XMC4500 CPU board. This board is part of Infineon’s Hexagon Application Kits.1 OverviewThe AUT_ISO-V1 board is an application expansion satellite card of the Hexagon Application Kits. The satellite card along with a CPU board (e.g. CPU_45A-V2 board) demonstrates ISOFACE capabilities together with XMC4500. The focus is safe operation under evaluation conditions. The satellite card is not cost optimized and cannot be seen as reference design.1.1 Key FeaturesThe AUT_ISO-V1 satellite card is equipped with following featuresConnection to CPU board (e.g. CPU_45A-V2) via satellite connector ACTISOFACE OUT, up to 8 channelsISOFACE IN, up to 8 channelsI2C based IO expander up to 8 channelsPower supplyo Powerjack for external 24 V supplyo From CPU board via ACT satellite connector1.2Block DiagramFigure 1 shows the block diagram of the AUT_ISO-V1 satellite card. There are following building blocks:Figure 1Automation I/O Card (AUT_ISO-V1)2 Hardware DescriptionThe following sections give a detailed description of the hardware and how it can be used.Figure 2 Automation I/O Card InterfacesISOFACE OUT (ISO1H812G)ISOFACE IN (ISO1I811T)Power 3.3 V (IFX1763SJV33)ISOFACE IN ConnectorACT Satellite ConnectorPower Jack24 V2.1 ISOFACE OUTISOFACE output device used in AUT_ISO-V1 satellite card is ISO1H812G. It is supplied by VDD3.3 on the CPU side and VDD24 for the ISOFACE OUT side. VDD24 and GNDISO can to be connected either by X300 or by X240(24 V external power jack). This is the same net that supplies the DC/DC converter. VDD24 is +24 Vdc (referred to GNDISO)Table 1 below gives the signal details of ISOFACE OUT connector.Table 12 below gives the details of SPI signal connection to the satellite connector.2.2 ISOFACE INISOFACE input device used in AUT_ISO-V1 satellite card is ISO1I811T. It is supplied by 3.3 V on the CPU side and VBB (24V) for the ISOFACE IN side. VBB and GNDBB need a separate connection to 24 V external power source through connector X320.Resistor R337 is used on board for setting input type to IEC61131-2 Type 1.Resistors R326 and R327 sets the frequency of ISOFACE IN to 100 kHz (default).Table 3 gives the details of ISOFACE IN connector pin mapping.Table 3 ISOFACE IN Connector PinoutISOFACE IN shares the same SPI lines with ISOFACE OUT except the chip select as shown in Table 4.2.3 IO ExpanderThe AUT_ISO-V1 satellite card supports GPIO expansion though I2C IO-Expander on board (U230). The I2C Address for IO expander device is 0x1001000X. The satellite card supports 8 such GPIO’s. All t he GPIO’s are connected to LEDs (V230-V237) and SMD-Pads (TP230 – TP237). The Table 5 gives the GPIO channel and corresponding LED/PAD mapping.Table 6 shows the connection of the IO Expander device to the ACT satellite connector.2.4 PowerThe AUT_ISO-V1 satellite card can be supplied by an external power supply (24 V / 1 A) to be connected to the power jack X240 or by a 5 V supply via the 80-pin ACT satellite connector. An external power supply is necessary only in case the current coming via the ACT satellite connector is not sufficient.A DC-DC converter on board (U240) steps down the input voltage from the power jack X240 to 5 V (VDD5). The input voltage can be in the range from 12 V to 24 V. An on board linear voltage regulator is generating a 3.3 V (VDD3.3) power supply out of the VDD5.Figure 3 Power CircuitA Diode V242 protects the reverse flow of current to an external source. Therefore a simultaneous power supply of the satellite boards via both the power jack and the satellite connector with not harm.LED V210 indicates the presence of 5 V power and LED V211 indicates the presence of 3.3 V power.Table 7 Power LED’sThe AUT_ISO-V1 satellite card supports a PowerScale probe for power measurement purpose.Table 8 PowerScale Jumper2.5 Satellite ConnectorThe satellite connector of the AUT_ISO-V1 satellite card interfaces it’s the signals to a CPU board e.g. CPU_45A-V2. Take care to connect the ACT satellite card always to the corresponding ACT satellite connector of the CPU board only.Figure 4 ACT Satellite ConnectorThe signal mapping of the ACT satellite connector and correponding CPU function are provided in figure 6Figure 5 Satellite Connector Type ACT3 Production Data3.1 SchematicsThis chapter contains the schematics for the Automation I/O Card:Satellite Connector, IO Expander, PowerISOFACEFigure 6 Satellite Connector, IO Expander, PowerFigure 7 ISOFACE3.2 Layout and GeometryFigure 8 Automation I/O Card Layout3.3 Bill of MaterialTable 9 Automation I/O Card BOMTable 9 Automation I/O Card BOMw w w.i n f i n e o n.c o mMouser ElectronicsAuthorized DistributorClick to View Pricing, Inventory, Delivery & Lifecycle Information:I nfineon:KIT_XMC4x_AUT_ISO-001。
第11章看门狗(WD)定时器
12.1 看门狗定时器概述
结构框图见下页,所有寄存器都是8位宽度。具有如下特征: (1) 8位WD计数器,上溢时产生一个系统复位信号。 (2) 6位的自行计数器,用于WD预定标,共6种选择。 (3) 一个复位密钥(WDKEY)寄存器。当一个55h值后紧随着一个 AAh值写入WDKEY时,则WD计数器清零,当不正确的值写入时, 则产生一个复位信号。 (4) 3个WD检验位。若WD定时器失效,则启动系统复位。
0 0 0 1 1
0 1 1 0 0
X 0 1 0 1
1 2 4 8 16
3.28 6.6 13.1 26.2 52.4
1 1
1 1
0 1
பைடு நூலகம்
32 64
104.9 209.7
注:CLKOUT默认为 40MHz
WDCLK=CLKOUT/512
12.2.2 定时器的悬挂
因为WDCLK的时钟是由CLKOUT分频产生的,当CPU被挂起
时(即CPU进入HALT低功耗模式),WDCLK被停止。
12. 3 WD控制寄存器
共有3个寄存器控制着WD的操作:
(1) WD计数寄存器(WDCNTR)—8个位为8位WD计数器的
(5) 一旦系统复位后,WD定时器就自动启动。
WDCLK
WD预定 标选择
WD复位 关键字 寄存器
8位WD计 数器 系统复 位请求
55h+AAh 探测器
判断
逻辑
WD检验 位
WD模块结构框图
12.2 WD操作
12.2.1 WD的时钟 WD的时钟WDCLK是一个低频时钟, 由CPU的输出时钟 CLKOUT提供。
1:看门狗被禁止。
位5-位3:WDCHK2-WDCHK0,看门狗检验位(3个)。
通用计时器的使用 看门狗wdt实验
看门狗配置
在c语句WDTIM_service(); /* enable watchdog */ 之前: 控制寄存器(WDTCR)的值应该为
0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1
WDOUT: 01b,输出 内部链接到 非屏蔽中断 NMI
PSC:看门狗预 定标计数器
TDDR: 预定标值0xF,即 1111b
PREMD=0该模式下,4位TDDR直接装入,提4000 0x4001 0x4002 0x4003 WDTIM WDPRD WDTCR WDTCR2 计数器寄存器 周期寄存器 控制寄存器 控制寄存器2
注意:一旦看门狗使能,其寄存器都处于写保护状态。 前三个寄存器写无效, WDTCR2某些域写无效
原创力文档是网络服务平台方若您的权利被侵害侵权客服qq
通用计时器的使用 看门 狗wdt实验
Watchdog Timer
详细资料:光盘目录\DSP5509开发板\应用资料\官方手册\ TMS320VC5509 DSP Timers Reference Guide.pdf Chapter 2 Watchdog Timer
Wdt看门狗概念
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在 主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如 果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单 片机复位。常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元 不等. 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,用 DSP的片上外设资源定时器timer来对主程序的运行进行监控。
Watchdog Timer
看门狗的作用: 监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时 时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回 来。那么定时时间到后就会使DSP复位。 即:防止因为软件死循环而造成的系统死锁。 HX-5509看门狗的结构: Watchdog Timer包括一个16bit的预定标计数器+一个16bit的主计数器 从而提供一个32bit动态范围的计数器
BC-4000中文版(详细)
BC-4000系列
用户手册
警告
• 未透彻了解本手册内容之前,请勿安装、操作、 维护和维修。
• 安装、操作、维修和维修时请注意始终保持本手 册可随时查阅。
BC-4000 用户手册 900-3315-07
上海石田电子衡器有限公司
打印计价电子秤
您可通过关注本手册的差错及介绍改 进方法来提供帮助使手册更臻完备。 请把您的意见转达给附近的ISHIDA地 区营销代表。
3.2 标签菜单 ........................................................................................................................................... 15 3.2.1 标签打印设定 ............................................................................................................................. 15 3.2.2 标签格式编辑 ............................................................................................................................. 18
第4章登录模式
4.1 进入/退出登录模式 .............................................................................................. 42
WDT是英语Watchdog Timer的缩写字母
WDT是英语Watchdog Timer的缩写字母。
Watchdog Timer 中文名看门狗。
是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在使用有看门狗的芯片时要注意清看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。
那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等. 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。
我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。
对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。
在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。
而T1的中断正常与否我们再由T0定时中断子程序来监视。
看门狗定时器的使用介绍
……
wdt_ov:
……
说明
1.CLR WDT 指令和 CLR WDT1 指令的机器码是相同的,即这两条指令是等效的。 2.CLR WDT1 和 CLR WDT2 必须交互使用才能清除看门狗定时器,如果重复使用,则不能清除看
门狗定时器。如:
…… CLR WDT1
;可以清除看门狗定时器的内容
……
CLR WDT2
但也有可能进入死循环状态。有了 CLR WDT1 和 CLR WDT2 交换使用的功能,就可以避免这种情
况的出现。当程序进入循环后,例如:
LOOP: ……
CLR ……
WDT1
;在 loop 中执行第一句清零 WDT 语句
SZ
……
HT47R20A-1 看门狗定时器(WDT)使用介绍
JMP LOOP
CLR WDT2
HT47R20A-1 看门狗定时器(WDT)使用介绍
HT47R20A-1 看门狗定时器(WDT)使用介绍
文件编码:HA0028s
本文主要介绍 HT47R20A-1 看门狗定时器(WDT)的使用及注意事项。
介绍 在 HT47 系列单片机内部有一个看门狗电路,主要是用来防止应用程序跳到未知的地方或是进
入死循环。看门狗定时器的时钟来源由掩膜选项来决定,可以选择为 WDT 时钟(WDTCLK)、实时 时钟(RTC)或是指令时钟(系统时钟/4)。WDT 时钟是一个 IC 内部的 RC 型振荡器,并不需要连 接任何外部元件。如果看门狗定时器的时钟来源为指令时钟,则看门狗定时器在 HALT 模式中会中 断其计数并失去保护功能。在这情况下,只能通过外部逻辑来重新启动系统(唤醒或置位)。如果单 片机的工作环境干扰非常大,我们建议您使用 RC 振荡器作为看门狗定时器的时钟来源(WDT OSC)。
海康监控软件4000操作说明
网络视频监控软件-4000操作说明目录一设备管理1.1 列表树配置 41.2 添加设备的操作 51.3 通道的配置 8二图像预览2.1非轮循预览 92.2按节点播放 92.3结束播放 10三云台控制3.1 485参数设置 113.2 云台控制 123.3 方向控制 12四录像和回放4.1 录像 134.2 客户端本地录像 134.3 集中存储服务器录像配置 144.4 NVR服务器的添加 14五维护管理5.1 本地配置 155.2 日志管理 165.3 日志查询 165.4 用户管理 185.5 用户的添加、删除 19一设备管理使用软件进行操作前,需要先对设备进行添加和配置操作。
点击标签栏标签进入配置模式,点击右侧导航栏“设备管理”项即可进入设备管理的界面。
1.1 列表树配置软件初始运行时,列表树里默认为空,右键点击列表树任意空白处可进行区域的添加。
在区域名称栏中填写名称后点击确定即可向列表树中添加一个区域,并且由于本次添加的区域为首个区域,因此该区域不存在上级区域,因此上级区域名称栏中为空。
区域添加完成后,右键点击区域节点,可选择进行子区域、设备和流媒体的添加操作。
注:区域名称中头尾的换行、空格、TAB字符将被自动去除。
区域名称不能为空,不能含有字符“%”、“'”和“%”(不包含左右引号“和”)。
注:添加了一个区域后,该区域自动进入选中状态,此时在列表树中的空白区域右键点击无效。
中性发布版最多支持50个区域。
注意:如果删除区域下包含有其他区域、流媒体、设备或者通道,则删除操作不仅会删除选中的区域,而且会删除该区域下所有的区域、流媒体、设备或者通道;若该区域下有通道正在预览或录像,将会给出警告信息。
右键点击添加的区域,弹出区域管理菜单。
选择“添加区域”,可进行子区域的添加。
选择“删除节点”将删除处于选中状态下的区域。
双击选中的区域节点,弹出“修改区域信息”菜单,可进行区域名称的修改。
1.2 添加设备的操作右键点击添加的区域,弹出区域管理菜单,选择“添加设备”。
[精品]看门狗说明
看门狗说明1、看门狗原理主板上提供一个可按分或秒计时的,最长达255级的可编程看门狗定时器,WDT超时事件发生时系统复位。
本程序(w83627hf_wdt.c)是基于Winbond83627芯片的看门狗驱动程序。
2、驱动程序接口●wdt_open :打开设备,应用程序调用open时进入该函数。
●wdt_close :关闭设备,应用程序调用close时进入该函数●wdt_write :写设备,若传入数据大小不为0则喂狗;应用程序调用write时进入该函数。
●wdt_ioctl :应用程序调用ioctl时进入该函数,通过传入不同的参数实现不同的功能。
主要参数如下:WDIOC_GETSUPPORT :获取看门狗信息watchdog_info(见w83627hf_wdt.h) WDIOC_KEEPALIVE :喂狗,同write函数功能类似WDIOC_SETTIMEOUT :设置超时值WDIOC_GETTIMEOUT :获取超时值WDIOC_SETOPTIONS :设置看门狗状态,开启(WDIOS_ENABLECARD)或关闭(WDIOS_DISABLECARD)3、应用程序编写主要步骤如下(请参考代码w83627hf_test.c):●打开设备调用open方法,返回值为已打开的设备,若小于0表示打开失败,以下的调用都要用该返回值做参数,表示操作该设备。
wdt = open(WDT_DEVICE, O_RDWR);●开启看门狗调用ioctl方法,传入WDIOC_SETOPTIONS参数,设置开启(WDIOS_ENABLECARD)状态,方法如下:ioctl(wdt, WDIOC_SETOPTIONS, WDIOS_ENABLECARD);●设置看门狗超时值(可选,默认为60s)调用ioctl方法,传入WDIOC_SETTIMEOUT参数,设置指定的超时值。
ioctl(wdt, WDIOC_SETTIMEOUT, &timeout);//timeout为超时值●喂狗一般用while(1)循环在超时时间(timeout)内定时喂狗,若在timeout内没喂狗,则系统复位。
C4000中文操作手册
5
C4000 型控制器
2 软件概览
2.1 软件定义
该C4000型控制器的软件是用您自己的语言构成的逻辑结构或菜单式设计方便操作,通电系统自 动显示主菜单:
• Display 显示测量结果、数据记录信息和系统自身信息 • Product 测量产品的切换、测量产品的定义 • System 系统的设定、服务以及语言的种类 当初始上电时需要设定如下基本的系统参数: • 选择菜单语言 • 设定时间和日期 • 光源灯泡电压 •等 下步骤即对测量分析的产品进行定义,最多可以定义8种不同产品的,测量的产品可以与实际过 程介质没有关联,但更多的C4000型控制器的设定参数如下: 产品 (最多 8 种)
13
C4000 型控制器
3 基础设定
3.3 日期/时间
用▲ ▼键在主菜单中选择 SYSTEM SETUP条目, ENTER键输入,即进入更改 日期时间的子菜单
子菜单将会出现左图显示, 用▲ ▼箭头选择 DATA/TIME条目,ENTER 键输入即进入下一子菜单
选择日期格式,输入日期。 然后保存或退出。
7.1 显示模式
50
8 数据记录
8.1 数据记录显示
51
9 维护
9.1 系统调零设定
52
9.2 系统诊断
54
9.3 传感器匹配
55
9.4 mA输入校验标定
56
9.5 mA输出校验标定
57
9.6 维护
58
10 显示信息
59
11 故障信息
60
第1部分 – 硬件手册(请参照相关文件)
第3部分 – 防爆产品 (请参照相关文件)
• 语言
德语/英语(法语、西班牙语、意大利语、荷兰语和葡萄牙语即将出炉)
AVR单片机看门狗定时器WDT操作过程
WDT:(Watch Dog Timer)看门狗定时器,简写WDT,主要有一个专用的定时器组成,当启动看门狗后,定时器开始计数,计数满后将产生一个中断,复位单片机。
作用:单片机很容易收到外界的干扰,如电源电压波动,电机起停,受到干扰后,程序有可能跑飞,不按原来的逻辑顺序执行,跳到另一地方执行,或者陷入一个死循环。
启用看门狗后,如果在设定的定时时间内没有执行清0看门狗定时器的指令,单片机将复位,回到程序的开始处,重新开始执行程序,保证系统的正常运行。
WDE为"1“ 时,看门狗使能,否则看门狗将被禁止。
只有在WDTOE为"1“ 时WDE 才能清
零。
以下为关闭看门狗的步骤:
1. 在同一个指令内对WDTOE 和WDE 写"1“,即使WDE 已经为"1“
2. 在紧接的4 个时钟周期之内对WDE 写"0”
步骤如下:
一、启动看门狗:WDTCR|=(1<<WDTOE)|(1<<WDE);
二、禁止看门狗:WDTCR=0X00; //再次启动看门狗必须先禁止看门狗,
三、WDTCR|=(1<<WDTOE)|(1<<WDE)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0); //看门狗定时时间1S
在1s内重复执行上述指令,清0看门狗。
小企鹅diy 科学探究学习网
更多文章转到/wqb_lmkj/blog文章分类单片机。
《PIC16系列单片机C程序设计与proteus仿真》学习之6、7---看门狗定时器(WDT)和EEPPROM的读写
学习之6---看门狗定时器(WDT)//PIC.H中定义了宏#define CLRWDT() asm("clrwdt")因此在PICC的c语言中可以直接使用CLRWDT()对WDT清0//若单片机WDT使能,在适当位置加入CLRWDT(),程序进入正常运行时,每隔一定时间均会执行CLRWDT()语句对WDT清0,芯片不会复位//如果程序陷入死循环,不会执行到CLRWDT()语句,则超出所设定的时间后,WDT溢出使芯片复位,从头(000H)开始执行,单片机恢复正常运行//PIC16F单片机,看门狗定时器的启用只能在芯片的烧写时确定,即无法用软件来开启或关闭WDT,但在PIC16f88X中可以。
//PIC16单片机的WDT基本溢出时间为18MS,由RC充放电时间确定,在-40~85度之间变化时,WDT基本溢出时间在7-33ms变化#include<pic.h>__CONFIG(0X3F3D);//开启WTDvoid DELAY(unsigned int);#define LED1 RB1main(void){TRISB=0B11111101;OPTION=0B11111011; //WDT的分频比为1:8,最大复位时间为18*8=144msif(TO==0)// 若写成T0,则编译出错。
{LED1=1; //看门狗定时器溢出,仿真时溢出TO不会清零}elseLED1=0;while(1){DELAY(100);//模拟一个运行100ms的子程序CLRWDT();DELAY(200);//模拟一个运行200ms的子程序,此时会产生溢出(200ms>144ms)CLRWDT();};}void DELAY(unsigned int n){unsigned int j;char k;for(j=0;j<n;j++)for(k=246;k>0;k--)NOP();}学习之7--EEPROM的读写EEPROM特点:掉电时保持不变,F877A的EEPROM参数是保证1 000 000次擦除,数据保存>40年PICC中定义了读/写EEPROM的宏EERPOM_WRITE(addr,value); EEPROM_READ(addr);//PICC中系统已经为我们定义了读/写EEPROM的宏//宏EEPROM_WRITE写入EEPROM,只是启动写入过程,写完要几MS,当读/写EEPROM 时,程序会自动检测是否还在写,若是,则等待//C程序编写不涉及EECON1,EECON2#include<pic.h>__CONFIG(0X3F39);__EEPROM_DATA(89,34,48,210,53,192,7,57);//初始化EEPROM,分别写入单元0~7main(void){char aa;aa=EEPROM_READ(3);//读EEPROM单元3的内容EEPROM_WRITE(9,0X9A);//将0X9A写入EERPOM的单元9aa=EEPROM_READ(9);//读EEPROM单元9的内容while(1);}。
看门狗原理与使用
outportb(address_port,0x30); // Enable the function of watchdog timer outportb(data_port,0x01);
outportb(address_port,0xf5); // Enable the WDTO# output value = inportb(data_port); value = value | 0x02; outportb(data_port, value); outportb(address_port,0xf7); // Enable watchdog timer to be reset by mouse value = inportb(data_port); // and enable the WDTO# output value = value | 0x80; outportb(data_port, value); outportb(address_port,0xaa); // Lock W83627HF printf("The Watchdog Timer to be reset by mouse\n"); return 0; }
Example1. Enable watchdog timer and set 10 sec. as timeout interval and issue KBRST# ;----------------------------------------------------------Mov dx,2eh ; Unlock W83627HF/EHG-A Mov al,87h Out dx,al Out dx,al ;----------------------------------------------------------Mov al,07h ; Select registers of watchdog timer Out dx,al Inc dx Mov al,08h Out dx,al ;----------------------------------------------------------Dec dx ; Enable the function of watchdog timer Mov al,30h Out dx,al Inc dx Mov al,01h Out dx,al ;----------------------------------------------------------Dec dx ; Set second as counting unit and enalbe the WDTO# Mov al,0f5h Out dx,al Inc dx In al,dx And al, 0f7h Or al,02h Out dx,al ;----------------------------------------------------------Dec dx ; Set timeout interval as 10 seconds and start counting Mov al,0f6h Out dx,al Inc dx Mov al,10 Out dx,al ;----------------------------------------------------------Dec dx ; lock W83627HF Mov al,0aah Out dx,al
看门狗定时器课件
程序对 WATCHDOG 计数溢出的控制 WDT看门狗模式 本程序中,不断对 WDT的看门狗计 数器及时清零, LED不再闪烁,主 要程序运行正常, 看门狗不会使程序 复位, 同时也保证了一旦 程序发生异常,可 以立即恢复到初始 状态
WDT_RESET
#include<msp430f6638.h> void main( void ) { unsigned int i; WDTCTL=WDTPW+WDTHOLD; //关闭看门 狗 P4DIR |=BIT0; P4OUT &=~BIT0; //暗 for(i=0;i<6000;i++); P4OUT |=BIT0; //亮 for(i=0;i<6000;i++); WDTCTL=WDTPW; //启动看门狗 while(1); }
#define __MSP430_HAS_WDT__ SFR_16BIT(WDTCTL); #define WDTIS0 (0x0001) #define WDTIS1 (0x0002) #define WDTSSEL (0x0004) #define WDTCNTCL (0x0008) #define WDTTMSEL (0x0010) #define WDTNMI (0x0020) #define WDTNMIES (0x0040) #define WDTHOLD (0x0080) #define WDTPW (0x5A00) #define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) #define WDT_MDLY_8 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0) #define WDT_MDLY_0_5 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1) #define WDT_MDLY_0_064 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0) #define WDT_ADLY_1000 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL) #define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) #define WDT_ADLY_1_9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) #define WDT_MRST_32 (WDTPW+WDTCNTCL) #define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) #define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) #define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) #define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) #define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) #define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) #define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0)
看门狗定时器参考资料
看门狗定时器参考资料:S3C2410A 的看门狗定时器有两个功能:作为常规时钟,并且可以产生中断; 作为看门狗定时器使用,当时钟计数减为0(超时)时,它将产生一个128 个时钟周期(PCLK)的复位信号. 主要特性如下:通用的中断方式的16bit 定时器. 当计数器减到0(发生溢出) ,产生128 个PCLK 周期的复位信号. 下图为看门狗的电路示意图,看门狗时钟使用PCLK 作为他的时钟源,PCLK 通过预分频产生适合的看门狗时钟.看门狗模块包括一个预比例因子放大器,一个是四分频器,一个16bit 计数器.看门狗的时钟源来自PCLK,为了得到较宽范围的看门狗信号,PCLK 先被预分频,之后再经过分频器分频.预分频比例因子的分频值,都可以由看门狗控制器(WTCON)决定,预分频值的有效范围从0 到256-1.分频因子可以选择16,32,64 或者128. 看门狗定时器记数值的计算公式如下: t_watchdog=1/ [PCLK/( prescaler value +1)/ Division_factor ] 看门狗的定时周期为T=WTCH×t_watchdog 一旦看门狗定时器被允许,看门狗定时器数据寄存器(WTDAT)的值不能被自动的装载到看门狗计数器(WTCNT)中.因此,看门狗启动前要将一个初始值写入看门狗计数器(WTCNT)中. 调试环境下的看门狗当S3C2410A 用嵌入式ICE 调试的时候,看门狗定时器的复位功能不能启动,看门狗定时器能从CPU 内核信号判断出当前CPU 是否处于调试状态, 如果看门狗定时器确定当前模式是调试模式,尽管看门狗能产生溢出信号,但是仍然不会产生复位信号.5,S3C2410A 相关寄存器WTCON――看门狗定时器控制寄存器看门狗控制寄存器能够禁止或者允许看门狗时钟,从四个不同的时钟源中挑选时钟信号,允许或禁止中断,并且能允许或禁止看门狗时钟输出.如果用户想要使用看门狗作为普通时钟,应该中断使能,禁止看门狗定时器复位.WTDAT――看门狗定时器数据寄存器WTDAT 用于设置看门狗定时器的超时时间值,在初始化看门狗过程中,WTDAT 的值不会自动加载到定时计数器中,首次使用定时器超时值为其初始值即0x8000,以后该寄存器的值会被自动加载到WTCNT 寄存器中.WTCNT――看门狗定时器计数寄存器WTCNT 为看门狗定时器工作的时间计数器的当前计数值,注意在初始化看门狗操作后,看门狗数据寄存器(WTDAT)的值不能自动装载到看门狗计数寄存器(WTCNT)中, 所以看门狗被允许之前应高初始化看门狗计数寄存器的值.6,实验程序由于看门狗是对系统的复位或者中断的操作,所以不需要外围的硬件电路.要实现看门狗的功能,只需要对看门狗的寄存器组进行操作.即对看门狗的控制寄存器(WTCON) , 看门狗数据寄存器(WTDAT) ,看门狗计数寄存器(WTCNT)的操作. 设计流程如下: 设置看门狗中断操作, 包括全局中断和看门狗中断的使能, 看门狗中断向量的定义. 对看门狗控制寄存器(WTCON)的设置,包括设置预分频比例因子,分频器的分频值,中断使能和复位使能等. 对看门狗数据寄存器(WTDAT)和看门狗技术寄存器(WTCNT)的设置. 启动看门狗定时器.6.1 主功能函数int Main(void) {ChangeClockDivider(1,1);ChangeMPllValue(0xa1,0x3,0x1);Port_Init();Uart_Select(0);Uart_Init(0,115200);Uart_Printf("watchdog test is beginning\n");watchdog_test();while(1); }6.2 看门狗复位功能程序实现void watchdog_test(void) {//Prescaler value=100; lock division factor=128 ;PCLK=67.5MHz//t_watchdog=1/[PCLK/(Prescaler value+1)/Division_factor]=0.0002//disable watchdogrWTCON=((100<<8)|(3<<3));//看门狗时钟周期T=WTCNT*t_watchdog=3S//看门狗喂狗rWTDAT=15000;rWTCNT=15000;//disable watchdog interruptrWTCON &= ~(3<<1);//enable Watchdog timer;reset signal.rWTCON|=((1<<5)|(1<<0));while(1); }6.3 看门狗定时器功能程序实现void watchdog_test(void) {//initialize interrupt registersClearPending(BIT_WDT);//建立WatchDog 中断pISR_WDT=(unsigned)watchdog_int;//Prescaler value=100,clock division factor=128//t_watchdog=1/[PCLK/(Prescaler value+1)/Division_factor]=0.00025856//disable watchdogrWTCON=((100<<8)|(3<<3));//看门狗时钟周期T=WTCNT*t_watchdog=4S//看门狗喂狗rWTDAT=15000;rWTCNT=15000;rWTCON|=((1<<5)|(1<<2)); //enable Watchdog timer ang watchdog interrupt //rWTCON|=((1<<5)|(1<<2)|1);//watchdog 复位,时间间隔为4S.rWTCON|=(1<<5)|(1<<2); //每4S watchdog 一次中断.//设置watchdog 为IRQ 中断模式rINTMOD&=0xFFFFFDFF;//开中断EnableIrq(BIT_WDT);while(f_ucSencondNo<11);}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.8.1
初始化和启动操作
系统复位后,需要完成WDT模块的初始化。 • 检查最后一次系统复位的原因,以确定电源状态 - 读出SCU_RSTSTAT.RSTSTAT寄存器位段,确定最后一次系统复位的原因 - 依据最后系统复位的原因执行适当的操作 看门狗软件初始化序列 用SCU_CLKSET.WDTCEN寄存器位段启用WDT时钟 用SCU_PRCLR2.WDTRS寄存器位段释放WDT复位 用WDT_WLB寄存器设置窗口下限 用WDT_WUB寄存器设置窗口上限 配置外部看门狗服务指示(可选,请参阅SCU/HCU章节) 用SCU_WDTCLKCR寄存器选择和启用WDT输入时钟 用SCU_NMIREQEN寄存器在系统级上启用系统陷阱预警报警(可选,仅用在WDT预警 模式) 软件启动序列 - 选择模式(超时或预警)和用WDT_CTR寄存器启用WDT模块 服务看门狗 - 在WDT_TIM寄存器中,对编程时间窗口检查当前定时器值 - 在有效时间窗内,写魔字到WDT_SRV寄存器 9.8.2 重新配置和重新启动操作 - - - - - - -
参考手册 WDT, V2.3
9-3
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图 9-2
无预警复位
图 9-2中描绘的示例场景展示了在有效时间窗口内WDT模块成功服务后产生的两个连续的服务 脉冲。对于没有服务执行的情况,在计数器的值已经超过窗口上限值后立即触发在wdt_rst_req 输出上的复位请求生成。 9.3 预警模式
在预警模式时,溢出事件的作用在有和没有启用预警是不同的。当预警启用时,计数器第一次 超过上限时触发输出报警信号wdt_alarm。只能在下一个溢出产生复位请求。报警状态通过寄 存器WDTSTS指示且通过寄存器WDTCLR清除。清除报警状态将使WDT回到正常状态。报警 信号发送请求到SCU,在那里上报到NMI。
图9-5
在用错误的魔字服务时复位
参考手册 WDT, V2.3
9-6
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图 9-5的例子显示有效服务窗口内但用了一个无效的魔字进行的服务。尝试写一个无效的魔字 到SRV寄存器导致在wdt_rst_req信号上立即复位请求。 9.5 服务请求处理
一个差服务的尝试,导致一个复位请求。一个差服务尝试可能是由于在服务窗边界外提供服务 或使用一个无效的魔字服务。
参考手册 WDT, V2.3
9-5
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图9-4
在错误的窗口服务后复位
图 9-4的例子示出了在有效服务窗口外部执行的服务。尝试服务WDT当计数器的值保留在窗口 的下限以下时,导致在wdt_rst_req信号上的立即复位请求。
当预警模式启用时,在第一个计数器溢出看门狗上限而溢出时,WDT通过wdt_alarm输出信号 产生看门狗报警服务请求。报警服务请求由SCU处理,可能允许在以下两种可选模式: 服务请求 陷阱请求引起NMI中断
如果SCU的服务请求屏蔽或陷阱请求禁用各自寄存器,服务请求可以禁用。 9.6 调试行为
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
9
窗口看门狗定时器(WDT)
窗口看门狗定时器模块的作用是改善系统完整性。如果主程序,由于某些故障情况,忽视了定 期操作看门狗(也被称为“踢狗”,“爱抚狗”,“喂看门狗”或“唤醒看门狗”), 看门狗 定时器(WDT)触发系统复位或其它纠正措施,例如非屏蔽中断。目的是将系统从无应答状态恢 复到正常运行。
9-10
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
9.9
寄存器
寄存器概述 所有这些寄存器可以在用户模式下读入,但只能在管理模式下写。寄存器的绝对地址是通过加 法计算: 模块的基地址+偏移地址 表9-2 模块 WDT 寄存器地址空间 基地址 5000 8000H 结束地址 5000 BFFFH 注释 看门狗定时器 寄存器 表9-3 缩写名称 寄存器概述 寄存器全称 偏移 地址 WDT 内核寄存器 ID CTR SRV TIM WLB WUB WDTSTS WDTCLR 模块ID寄存器 控制寄存器 服务寄存器 定时器寄存器 窗口的下限 窗口的上限 看门狗状态寄存器 看门狗状态清除 寄存器 9.9.1 ID 模块ID寄存器。 寄存器描述 00H 04H 08H 0CH 10H 14H 18H 1CH U, PV U, PV BE U, PV U, PV U, PV U, PV U, PV PV PV PV BE PV PV PV PV 9-11页 9-12页 9-13页 9-14页 9-14页 9-14页 9-15页 9-16页 访问模式 读 写 描述
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
• •
警报事件 -异常例程(系统陷阱或服务请求)用WDT_WDTCLR寄存器清除WDT_WDTSTAT寄存器 服务看门狗 -在WDT_TIM寄存器中,对编程时间窗口检查当前定时器值 -在有效时间窗内,写魔字到WDT_SRV寄存器
参考手册 WDT, V2.3
WDT功能可以在CPU进入HALT模式时挂起。WDT调试功能由CTR寄存器中的DSP位段控制。 9.7 电源,复位和时钟
WDT模块是内核域的一部分,由VDDC电压供电。 所有WDT寄存器在系统复位时复位。 一个在SCU / RCU模块的RSSTAT寄存器中的粘滞位指示是否最后系统复位是由WDT模块触发。 该位不会随着系统复位而复位。 WDT计数器的输入时钟可以由用户在系统PLL输出,内系统部振荡器的直接输出或32kHz待机 时钟及独立于AHB接口时钟之间选择。WDT输入时钟的选择由在SCU中所用的WDTCLKCR寄 存器完成(详情请参阅SCU/CCU章节)。 9.8 初始化和控制序列
图 9-1 9.2
看门狗定时器方块图 超时模式
当计数器越过上限范围,它会触发一个溢出事件预警不启用CTR寄存器。一个溢出的结果立即 重置请求,通过信号 wdt_rst_req进入到SCU 的RCU。执行一次成功的服务是在有效的服务窗 口内的WDT的SRV寄存器写入一个被称为“魔字”的特定值,导致信号 wdt_service脉冲和定 时器计数复位。
WDT模块编程模型假设几个场景,分别有不同的应用控制序列。
注意:一些本章中所描述的场景需要操作在系统级上,不在WDT模块描述的范围,因此详细信
息请参阅该文档的相关章节。
参考手册 WDT, V2.3
9-7
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
•
参考手册 WDT, V2.3
9-8
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
•
服务看门狗 -在WDT_TIM寄存器中,对编程时间窗口检查当前定时器值 -在有效时间窗内,写魔字到WDT_SRV寄存器
9.8.3
软件停止和重新开始操作
看门狗定时器(WDT)是一个独立的窗口看门狗定时器。 它有如下特性: 当没有按时服务或提供错误方式服务时触发系统复位 服务限制在一个用户定义的刷新窗口边界内 可以使用一个独立的时钟运行 提供服务指示到一个外部引脚 在HALT模式下可挂起 复位前提供可选的预警报警
参考手册 WDT, V2.3
可以在任何时间点使用软件序列停止和重新开始WDT模块,例如用于调试目的。 • • • • 软件停止序列 -用WDT_CTR寄存器禁用WDT模块 执行任何用户操作 软件启动(恢复)序列 -用WDT_CTR寄存器启用WDT模块 服务看门狗 -对编程时间窗口检查当前在WDT_TIM寄存器中的定时器值 -在有效时间窗内,写魔字到WDT_SRV寄存器 9.8.4 进入睡眠/深睡眠和重新开始操作
9-1
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
表9-1 特性
应用功能 作用/应用 触发恢复系统稳定运行和确保系统的完整性 允许考虑最小和最大软件定时 确保WDT即使在系统时钟故障的情况下也能 计数 为双通道看门狗解决方案,附加系统完整的 外部控制 保证对生成代码的安全调试 软件恢复。允许校正动作,通过软件恢复程 序使系统从无答复的状态返回到正常运行
在睡眠或深度睡眠模式时,WDT计数器时钟可以配置为停止。在CPU睡眠期间,如果WDT时 钟配置为停止,则在这些模式下软件与WDT不需要直接交互作用,看门狗超时也不会发生。 • • 睡眠/深度睡眠模式的软件配置序列 -用SCU寄存器的SLEEPCR或DSLEEPCR配置WDT行为 进入睡眠/深睡眠模式的软件序列 -选择CPU内睡眠或深度睡眠模式(详情请参阅Cortex-M4文献[9]) -进入模式选择(详情请参阅Cortex-M4文献[9]) 等待唤醒事件(没有软件的交互作用,CPU停止) 恢复操作(在发生唤醒事件时CPU时钟自动重启) 服务看门狗 -对编程时间窗口检查当前在WDT_TIM寄存器中的定时器值 -在有效时间窗内,写关键字到WDT_SRV寄存器 9.8.5 预警报警处理
参考手册 WDT, V2.3
9-4
V1.2, 2012-12 请遵守产品信息使用协议
XMC4500 XMC4000 家族
窗口看门狗定时器(WDT)
图 9-3
预警后的复位
图 9-3中 描绘的示例场景展示了在由有效时间窗口内WDT模块成功服务后产生服务脉冲。第一 次错过服务时,WDT在wdt_alarm产生报警脉冲。报警信号作为中断请求被发送到SCU,在那 里上报到NMI。在这个报警服务请求发生和下一次溢出之前,用户可以清除WDT的状态位,并 给予一个正确的WDT服务。否则,当第二次错过服务时,WDT在wdt_rst_req上产生复位请求。 9.4 差服务操作