历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2019年01月14日 | 关于stm32f4家的两只看门狗WWDG和IWDG剖析

2019-01-14 来源:eefocus

独立看门狗IWDG

    

stm32f4的独立看门狗IWDG,是一个拥有独立时钟驱动、自由运行递减计数器的外设,用于检测并解决由软件错误导致的故障。

    

IWDG被开启后IWWDG_RLR寄存器中的值写入计数器并会自动从0xFFF开始递减计时,当递减到0x000时产生一个复位信号并自动复位,复位处理器啊兄die。(将0xCCCC写入关键字寄存器IWDG_KR开启独立看门狗/硬件看门狗使能后会上电会自动开启看门狗)

    

程序中所要做的就是按时将关键字0xAAAA写到IWDG_KR寄存器中,这时IWDG_RLR寄存器中的值会立即重载到计数器中,从而避免产生看门狗复位(喂狗)。

    

关键字寄存器IWDG_KR:高16位保留,低16位用于关键字写入。三个关键字0xAAAA表示重置计数器,0xCCCC启动看门狗,0x5555失能IWDG_PR、IWDG_RLR寄存器的写保护。

    

预分频寄存器IWDG_PR:低三位有效,用于设置预分频器的分频倍数。

    

重载寄存器IWDG_RLR:设置计数器重载值,低十二位有效。

    

状态寄存器IWDG_SR:只有0、1两位有效,1位是RVU用于使能对重载寄存器的写操作哦,0位是PVU用于使能对预分频寄存器的写操作。

    

递减计数器是16位的:0xFFF~0x000


窗口看门狗WWDG

    

stm32f4的窗口看门狗WWDG,是一个由APB1总线提供时钟的看门狗外设,其主要特色是程序必须要在限定的时间窗口内喂狗,早了不行,晚了也不行。

    

窗口看门狗复位之后默认关闭,在程序中开启之后除非复位,否则无法再关闭WWDG。

    

WWDG的递减计数器即使WWDG关闭状态也依然在递减计数。所以在使能WWDG时,必须先将WWDG_CR寄存器的T6位置1,不然可能立即产生复位。同样如果想要软件复位的话,可以利用这一特性。  (T[5:0]保存了上一次复位之前的计时数值)

    

激活WWDG,将WWDG_CR寄存器WDGA位置1。


WWDG_CR是一个低8位有效的寄存器。


位 7 WDGA:激活位 (Activation bit),此位由软件置 1,只有复位后才由硬件清零。

    

位 6:0 T[6:0]:7 位计数器 (MSB 到 LSB),这些位用来存储看门狗计数器的值。

    

递减计数器每隔 (4096 x 2WDGTB) PCLK1 个周期递减一次。当它从 0x40 滚动到 0x3F(T6 清零)时会产生复位。

    

这里有个重点是,在程序正常运行过程中,必须定期将值写入WWDG_CR中,这个值介于0xFF~0xC0之间。

    

WWDG的窗口上限值是存在WWDG_CFR配置寄存器的T[5:0]的,下限值固定为0x3F,当计数器的值(即WWDG_CR中的T[5:0]中的值)低于上限值高于下限值时,必须重载计数器的值,在这个区间之外重载或超时都会产生复位信号。

    

WWDG有个高级中断,即提前唤醒中断EWI,由WWDG_CFR寄存器中的EWI位置1使能控制。这个中断顾名思义就是在复位之前会产生一个中断信号,产生中断信号的时间点是当递减计数器的值为0x40时。这个中断可以用于做数据记录、WWDG计数器重载避免复位、通信操作等等。

    

依赖EWI中断重载WWDG计数器时,需要特别注意中断优先级的问题,当在更高优先级日任务中时,EWI中断函数很可能无法进入执行,从而导致系统复位。

    

WWDG_SR状态寄存器,只有最低位0位有效,是EWI中断的中断标志位EWIF位。这个标志位在计数器值为0x40时,会被硬件置1,在中断函数中由软件清0。

    

配置寄存器WWDG_CFR,低十位有效,位9就是EWI提前唤醒中断使能位,置1有效。位8位7决定了计数器的时钟分频,1/2/4/8四种分频方式。位6~位0用于保存WWDG的上限值。


本文基于阅读STM32F4XX中文参考手册所得,加了一些自己的理解,更详细的内容可以阅读原著第18、19章。


推荐阅读

史海拾趣

High Voltage Semiconductor Inc公司的发展小趣事

为了更好地服务全球客户,美高测积极寻求与国际知名企业的合作。通过与半导体制造巨头台积电、英特尔等公司的合作,美高测不仅获得了先进的制造技术和市场洞察能力,还成功将其高压测试产品打入了这些巨头的供应链体系。同时,公司还与多个国家的科研机构建立了长期合作关系,共同开展前沿技术的研发和应用,进一步提升了公司的国际影响力。

ARRA Inc公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,美高测始终保持着对技术创新的执着追求。公司不断投入研发资源,探索新的测试技术和应用场景,如微电网、新能源汽车等领域的高压半导体测试。同时,美高测还积极构建开放式的创新生态体系,与众多合作伙伴共同推动行业的进步和发展。通过这些努力,美高测在高压半导体测试领域持续保持着领先地位,为电子行业的未来发展贡献着重要力量。

Accuride公司的发展小趣事

随着全球市场的不断扩张,Accuride公司也积极实施全球化战略。其在北美地区拥有多个生产基地和销售网络,同时在加拿大和墨西哥也设有子公司。这些子公司在各自的区域内开展业务,为Accuride公司的全球化战略提供了有力支撑。通过全球化布局,Accuride公司能够更好地满足全球客户的需求,提升品牌影响力和市场竞争力。

虽然这些故事并非直接涉及电子行业,但它们展示了Accuride公司在商用车零部件行业的发展历程、经营策略和市场表现。作为一家具有实力和影响力的企业,Accuride公司通过不断创新、拓展市场、优化资源配置等方式,实现了稳健的发展。

General Electronic Devices公司的发展小趣事
负责产生控制信号,驱动开关元件按一定频率和占空比工作。
Cermetek Microelectronics公司的发展小趣事

Cermetek Microelectronics公司在创立之初,便专注于微电子技术的研发与创新。创始人凭借在半导体领域的深厚背景,带领团队攻克了一系列技术难题,成功开发出具有高性能和稳定性的微电子产品。这些产品不仅满足了市场对微型化、高集成度的需求,更在多个关键领域实现了技术突破,为公司赢得了市场的初步认可。

ARCOTRONICS公司的发展小趣事

在市场竞争日益激烈的情况下,ARCOTRONICS公司始终坚持创新引领的发展理念。公司投入大量资源用于研发新产品,不断推出具有创新性和竞争力的电子产品。这些新品不仅满足了市场的多样化需求,还为公司带来了丰厚的利润回报,进一步巩固了公司在行业内的领先地位。

问答坊 | AI 解惑

移动流媒体技术及在3G移动通信中的应用

 随着第三代移动通信网络技术的发展,移动终端功能的增强和移动业务应用内容的丰富,各种无线应用将极大地丰富人们的日常工作和生活。 近年来,从短信到彩信、彩e、彩铃、手机游戏等,移动增值业务的种类日益丰富。但总体来看,当前移动通信网络提 ...…

查看全部问答>

DDS介绍(自己整理)

DDS 概要 1971年,美国学者J.Tierney等人撰写的“A DIGITAL Frequency Synthesizer”-文首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新给 成原理。限于当时的技术和器件产,它的性牟指标尚不能与已有的技术盯比,故未受到重视。 ...…

查看全部问答>

INtime实时操作系统(RTOS)

INtime实时操作系统(RTOS) For Microsoft Windows XP Microsoft Windows XP Embedded Microsoft Windows XP Embedded with Service Pack 1 引言 人们正在越来越多地选择 Microsoft Windows XP 和 Windows XP Embedded 操作系统来运行需要 ...…

查看全部问答>

codewarrior是否支持win7?

飞思卡尔的网站下载到的好像还不支持win7。…

查看全部问答>

DSP系统设计100问 希望对大家有用

replyreload += \',\' + 284811;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

高性能放大器设计的考量因素

放大器被用于许多不同的应用中,它们可以被用做高速模数转换器的输入缓冲器、多个视频负载的驱动器和测试仪器应用中的高速脉冲信号放大器等。目前,市场上的大多数高速(>50MHz)放大器的使用都非常方便,但是在适当的情况下,它们会变成非常稳定的振 ...…

查看全部问答>

招聘嵌入式应用开发工程师

职位类别:嵌入式应用开发工程师 工作地点:北京 朝阳区 职位月薪:面议 工作性质:全职 招聘人数:4人,限男性 邮箱:topzeal2008@sina.com 职位描述: 1、应用开发、测试及文档编写 2、相关工具的开发及维护 应聘要求: 1、学历不限 ...…

查看全部问答>

怎么学习Wince设备驱动及BSP的开发?

Wince系统的裁剪与定制等操作是掌握的,设备驱动及BSP的开发,感觉始终 不入门,特请教高人指点!…

查看全部问答>

求MMC卡的specification

哪位大侠有,发我邮箱,谢谢! coca-cola-007@163.com…

查看全部问答>