STM32F10x 学习笔记7独立看门狗IWDG 模块

发布者:钱老李最新更新时间:2016-06-07 来源: eefocus关键字:STM32F10x  独立看门狗  IWDG  模块 手机看文章 扫描二维码
随时随地手机看文章
按照STM32参考手册的说法:“独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。”

 

简单的说,STM32 中的IWDG 其核心就是一个12bits的向下递减的计数器,当计数器计数到零时就会触发系统复位。因此,要在每次计数到零之前将其复位到一个初始值。这个初始值就在重装载寄存器(IWDG_RLR)中存放,其默认值为0xFFF,我们也可以将其改为其他值。

 

计数器的时钟由LSI时钟经过分频后提供,预分频因子由预分频寄存器(IWDG_PR)的值来确定。具体的说IWDG_PR 寄存器只有最低的3位是有效的,其他高位永远都为0,这最低的3位就决定了预分频因子,这3位的值与预分频因子的关系如下。

 

000: 预分频因子=4 
100: 预分频因子=64 
001: 预分频因子=8 
101: 预分频因子=128
010: 预分频因子=16 
110: 预分频因子=256 
011: 预分频因子=32 
111: 预分频因子=256 

 

除了上面介绍的两个寄存器,IWDG还有另外两个寄存器,合起来共四个寄存器,分别是:

键寄存器(IWDG_KR)

预分频寄存器(IWDG_PR)

重装载寄存器(IWDG_RLR)

状态寄存器(IWDG_SR)

所谓键寄存器(IWDG_KR),可以认为就是个控制寄存器,开启看门狗,喂狗需要操作键寄存器,修改其他寄存器值也需要先操作键寄存器(IWDG_KR)。

开启看门狗

向键寄存器(IWDG_KR)写入0xCCCC,启动看门狗工作。IWDG一旦启动了就不会停止,除非掐断单片机的供电。也就是说看门狗不受休眠或RESET的影响。

IWDG->KR = 0xCCCC;

STM32F10x_StdPeriph_Driver 提供了如下函数。

void IWDG_Enable(void);

喂狗

向键寄存器(IWDG_KR)写入0xAAAA,这时计数器的值会复位为重装载寄存器(IWDG_RLR)的值。

否则,当计数器为0时,看门狗会产生复位。

IWDG->KR = 0xAAAA;

STM32F10x_StdPeriph_Driver 提供了如下函数。

void IWDG_ReloadCounter(void);

修改预分频因子

向键寄存器(IWDG_KR)写入0x5555,向预分频寄存器(IWDG_PR)写入新值。

注意这两步之间不能有其他的对IWDG的操作。

IWDG->KR = 0x5555;
IWDG->PR = value;

利用STM32F10x_StdPeriph_Driver 则需要如下调用两个函数。

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(value);

修改重装载寄存器的值

向键寄存器(IWDG_KR)写入0x5555,向重装载寄存器(IWDG_RLR)写入新值。

注意这两步之间不能有其他的对IWDG的操作。

IWDG->KR = 0x5555;
IWDG->RLR = value;

利用STM32F10x_StdPeriph_Driver 则需要如下调用两个函数。

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetReload(value);

预分频寄存器、重装载寄存器与看门狗超时时间的关系如下表所示。

STM32F10x 学习笔记7独立看门狗IWDG 模块

上面的介绍都没有涉及到状态寄存器(IWDG_SR)。这个寄存器不太常用,需要了解的可以参阅STM32参考手册。

 

另外,当用调试器调试代码时,我们希望在产生断点时,计数器能够停止计数。这可以通过设置DBGMCU_CR的第8位(DBG_IWDG_STOP位)来实现。

 

0:看门狗计数器仍然正常工作;

1:看门狗计数器停止工作。

操作代码如下:

DBGMCU->CR |= 0x100;

STM32F10x_StdPeriph_Driver 中也提供了相应的操作函数:

DBGMCU_Config(DBGMCU_IWDG_STOP, ENABLE);
 
关键字:STM32F10x  独立看门狗  IWDG  模块 引用地址:STM32F10x 学习笔记7独立看门狗IWDG 模块

上一篇:STM32之独立看门狗(IWDG)和窗体看门狗(WWDG)
下一篇:STM32的独立看门狗

推荐阅读最新更新时间:2024-03-16 14:56

高可靠DC/DC变换器模块设计
0 引言 目前,在高端电子设备领域,高等级的DC/DC电源模块主要还是依赖国外进口,因此,尽快实现高质量等级DC/DC电源模块国产化迫在眉睫。本文以一种质量等级为H级的DC/DC电源模块的设计为例,从电路、工艺等方面详细介绍了H级DC/DC电源模块的设计思想。 1 模块主要指标 该DC/DC电源模块是为整机配套使用的。其要求的输入电压为20~35V,输出电压为10~10.1V/10~10.2 V(-55℃~+125CIC)、5~-5.1V/5~-5.2 V(一55℃~+125℃),负载调整率和电压调整率均小于1%,输出纹波电压小于40 Mv 2 电路设计 2.1 非平衡双路功率电压输出设计 在DC/DC变换器设计中,对
[电源管理]
PLC输入模块与主令电器类设备的连接
一、输入回路接线 输入电路是PLC接收信号的端口(对模拟量来说一般为0-40MA直流电流或0-10V直流电压信号),输入接线是指外部输入器件(任何无源的触点和集电极开路的NPN三极管)接通输入回路闭合,同时输入指示的发光二极管亮。常用外部输入器件有按钮,接近开关,转换开关,拨码器,各种感应器等,是对系统发出各种控制信号的主令电器。 1、 PLC输入模块与主令电器电器类设备的连接 图中松下PLC为直流汇点式输入,即所以输入点共用一个公共端COM,同时COM端内带有DC24V电源,在编写程序时注意外部设备使用的是常闭还是常开触点。 输入端的电气原理图中停止按钮SB0用常闭触点,串在控制线中,用于停机控制。启动按钮
[嵌入式]
PLC输入<font color='red'>模块</font>与主令电器类设备的连接
研华推出五款全新 AMONet分散式运动控制模块
研华科技,2013年4月——由于分布式系统朝向控制更多轴数及I/O组件的发展趋势,研华为此推出了全新AMONet分散式运动控制模块AMAX-1000系列,其中AMAX-1220与AMAX-1240为开放式类型并具备2轴/4轴 AMONet (Advantech Motion Network)运动从站模块,AMAX-1752、AMAX-1754及AMAX-1756为开放式类型32通道隔离数字输入及输出从站模块,分别具备32个数字量输入、32个数字量输出及16个数字量输入/16个数字量输出通道。 研华AMAX-1000系列均提供传输电缆线,客户可轻易连接松下Panasonic、安川Yaskawa及三菱Mitsubishi伺服驱动器。
[工业控制]
STC12C5A60S2各模块的应用分享大家
/*****************串口应用 ******************/ ///////////////////串口一////////////// #include 12c5a60s2.h #include uart.h unsigned char buf ,g; void initUart() { EA=1; BRT=0XFD; //独立波特率发生器9600 AUXR=0X11; //启动独立波特率发生器,12分频 // TMOD=0X20; //用定时器1做波特率发生器 // TH1=0XFD; // TL1=0XFD; // TR1=1; REN=1; SM1=1;
[单片机]
基于数字锁相环的晶振频率同步模块设计
为满足现代通信技术、雷达技术、电子测量以及光电应用领域对高稳定度高准确度时钟的要求,设计了一种基于数字锁相环的晶振同步系统。系统以基于FPGA数字延迟线的高分辨率鉴频鉴相器以及在MicroBlaze核中实现的卡尔曼数字环路滤波器为核心,通过16 bit DAC微调本地晶振振荡频率,使其同步于GPS秒脉冲,从而获得了高准确度高、稳定度的本地时钟。 现有的射频频率源大多采用恒温晶振作为频标,以获得比较好的频率短期稳定度,但是恒温晶振的长期稳定度不能保证,存在累积误差,需要定期校准。本设计利用GPS秒脉冲没有累计误差的特点,通过测量本地晶振与GPS秒脉冲的频率以及相位误差,将误差进行卡尔曼滤波后送入PI调节器,并将得到的误差转为D
[工业控制]
基于数字锁相环的晶振频率同步<font color='red'>模块</font>设计
INVECAS和Molex协作增强汽车信息娱乐系统媒体模块
Molex 和 INVECAS 宣布将开展协作,为智能车辆开发汽车信息娱乐系统媒体模块。 Molex 先进技术开发经理 Joe Stenger 表示:“对于寻求车辆设计的差异化的车主和 OEM 来说,信息娱乐系统发挥着重要的作用。将越来越多的功能封装到模块中,可以产生竞争优势。Molex 的信息娱乐系统模块在一个单一的解决方案中即可优化大量的功能,为汽车制造商降低复杂性、减小尺寸并控制成本。” 新型的信息娱乐系统媒体模块整合了 INVECAS 设计的功能强大的解决方案,这家领先的提供商为汽车业和其他细分市场提供久经考验的 IP 软件与嵌入软件,以及系统级别的解决方案。这一解决方案由 GLOBALFOUNDRIES 生产而成,后者
[嵌入式]
安森美半导体推出汽车功率集成模块方案
2016 年 7月28日- 推动高能效创新的安森美半导体(ON Semiconductor,美国纳斯达克上市代号: ON),进一步扩展汽车功率集成模块(PIM)产品阵容,推出STK984-190-E。该模块经优化以驱动三相无刷直流电机(BLDC)用于现代汽车应用,包含6个40 V、30 A MOSFET配置为一个三相桥,及一个额外的40 V、30 A高边反向电池保护MOSFET。这些MOSFET被贴装到一个直接键合铜(DBC)基板,产生一个紧凑的模块,具有极佳散热性,仅占具有同等效能的分立方案所用电路板空间的一半。 该模块适用于12 V汽车电机驱动应用,额定功率达300 W,如电动泵、风机和挡风玻璃雨刮。设计人员结合使用
[汽车电子]
安森美半导体推出汽车功率集成<font color='red'>模块</font>方案
贸泽开售Laird,Connectivity,Sera,NX040,UWB+BLE模块,可用于IoT和工业应用
2024年3月14日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Laird Connectivity的Sera NX040超宽带 (UWB) 和蓝牙低功耗 (BLE) 模块。 Sera NX040模块是Laird Connectivity新推出的UWB和BLE标签解决方案,专为工业、消费、医疗、汽车和IoT应用中的新一代精准粒度定位和近距离定位而设计。 Laird Connectivity的Sera NX040 UWB和BLE模块采用紧密集成的硬件和射频设计,针对电池供电应用进行了优化,以降低总BOM成本。 Sera NX040模块结合了NX
[物联网]
贸泽开售Laird,Connectivity,Sera,NX040,UWB+BLE<font color='red'>模块</font>,可用于IoT和工业应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved