打印
[应用相关]

STM32看门狗

[复制链接]
827|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看
门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给
定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。

沙发
chenqiang10|  楼主 | 2018-3-17 20:12 | 只看该作者
独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门
狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟
或过早的操作。

使用特权

评论回复
板凳
chenqiang10|  楼主 | 2018-3-17 20:13 | 只看该作者
IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精
度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。

使用特权

评论回复
地板
chenqiang10|  楼主 | 2018-3-17 20:46 | 只看该作者
IWDG 主要性能
● 自由运行的递减计数器
● 时钟由独立的RC振荡器提供(可在停止和待机模式下工作)
● 看门狗被激活后,则在计数器计数至0x000时产生复位

使用特权

评论回复
5
chenqiang10|  楼主 | 2018-3-17 20:46 | 只看该作者
IWDG 功能描述
图157为独立看门狗模块的功能框图。
在键寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值
0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。
无论何时,只要在键寄存器IWDG_KR中写入0xAAAA, IWDG_RLR中的值就会被重新加载到
计数器,从而避免产生看门狗复位 。

使用特权

评论回复
6
chenqiang10|  楼主 | 2018-3-17 20:56 | 只看该作者
硬件看门狗
如果用户在选择字节中启用了“硬件看门狗”功能,在系统上电复位后,看门狗会自动开始运
行;如果在计数器计数结束前,若软件没有向键寄存器写入相应的值,则系统会产生复位。

使用特权

评论回复
7
chenqiang10|  楼主 | 2018-3-17 20:59 | 只看该作者
寄存器访问保护
IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值,必须先向
IWDG_KR寄存器中写入0x5555。以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重
新被保护。重装载操作(即写入0xAAAA)也会启动写保护功能。
状态寄存器指示预分频值和递减计数器是否正在被更新。

使用特权

评论回复
8
chenqiang10|  楼主 | 2018-3-17 21:00 | 只看该作者
独立看门狗框图

看门狗功能处于 VDD 供电区,即在停机和待机模式时仍能正常工作。

使用特权

评论回复
9
chenqiang10|  楼主 | 2018-3-17 21:09 | 只看该作者
看门狗超时时间(40kHz的输入时钟(LSI))

这些时间是按照 40kHz 时钟给出。实际上, MCU 内部的 RC 频率会在 30kHz 到 60kHz 之间变化。
此外,即使 RC 振荡器的频率是精确的,确切的时序仍然依赖于 APB 接口时钟与 RC 振荡器时钟
之间的相位差,因此总会有一个完整的 RC 周期是不确定的。

使用特权

评论回复
10
chenqiang10|  楼主 | 2018-3-17 21:45 | 只看该作者
键寄存器(IWDG_KR)



使用特权

评论回复
11
chenqiang10|  楼主 | 2018-3-17 21:50 | 只看该作者
预分频寄存器(IWDG_PR)



使用特权

评论回复
12
chenqiang10|  楼主 | 2018-3-17 21:52 | 只看该作者
重装载寄存器(IWDG_RLR)





使用特权

评论回复
13
chenqiang10|  楼主 | 2018-3-17 21:58 | 只看该作者
状态寄存器(IWDG_SR)

使用特权

评论回复
14
chenqiang10|  楼主 | 2018-3-17 22:00 | 只看该作者
IWDG寄存器映像

使用特权

评论回复
15
chenqiang10|  楼主 | 2018-3-17 22:00 | 只看该作者
WWDG 简介
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运
行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置
的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减
计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在
一个有限的时间窗口中被刷新。

使用特权

评论回复
16
chenqiang10|  楼主 | 2018-3-17 22:07 | 只看该作者
WWDG 主要特性
● 可编程的自由运行递减计数器
● 条件复位
─  当递减计数器的值小于0x40,(若看门狗被启动)则产生复位。
─  当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位。见0。
● 如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可
以被用于重装载计数器以避免WWDG复位。

使用特权

评论回复
17
chenqiang10|  楼主 | 2018-3-17 22:07 | 只看该作者
如果看门狗被启动(WWDG_CR寄存器中的WDGA位被置’1’), 并且当7位(T[6:0])递减计数器从
0x40翻转到0x3F(T6位清零)时,则产生一个复位。如果软件在计数器值大于窗口寄存器中的数
值时重新装载计数器,将产生一个复位。

使用特权

评论回复
18
643757107| | 2018-3-17 22:41 | 只看该作者
功能多到复杂。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

940

帖子

1

粉丝