7.STM32CubeIDE独立看门狗实验

本文详细介绍了如何在STM32F103C8T6平台上使用STM32CubeIDE实现独立看门狗IWDG的实验,包括看门狗的工作原理、溢出时间和编程操作,以及硬件和软件配置,以确保系统的稳定性和可靠性。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印


前言

使用STM32CubeIDE实现独立看门狗实验。
硬件:STM32F103C8T6最小系统板 + USB转TTL模块
软件:STM32CubeIDE


一、实验目的

实现独立看门狗实验,若不及时喂狗,串口输出 “ 独立看门狗复位!”。
IWDG的溢出时间为1s。

二、学习内容

  1. 使用独立看门狗( IWDG )

三、实践操作

1.看门狗简介

看门狗:本质是个递减的计数器。
当程序有BUG或硬件问题导致的程序卡死或跑飞时,看门狗可及时复位程序。

系统复位有以下几种形式:

  1. NRST引脚上的低电平;
  2. 独立看门狗计数终止( IWDG复位 );
  3. 窗口看门狗计数终止( WWDG复位 );
  4. 软件复位( SW复位 );
  5. 低功耗管理复位。

作用:防止程序卡死或程序跑飞,保证系统的可靠性和稳定性
STM32有独立看门狗(IWDG)和窗口看门狗(WWDG) 两种类型。

独立看门狗(IWDG):独立工作,对时间精度要求较低;
窗口看门狗(WWDG):时间精度相对较高,并需在指定的窗口期内喂狗,否则复位程序

2.独立看门狗(IWDG)

IWDG简介

IWDG( Independent Watchdog ),独立看门狗。

本质为能产生系统复位信号的计数器。

IWDG特性:

  1. 递减的计数器;
  2. 时钟由独立的RC振荡器( LSI 40KHz )提供( 可在待机和停止模式下运行 ),有VDD就可以工作,但不是很精准;
  3. 看门狗被激活后,当递减计数器( 12位 )计数到0x000时产生复位。

喂狗操作:计数器计数到0之前,重装载计数器的值,防止复位

程序跑飞可能是因为:

  1. 外界电磁干扰;
  2. 硬件异常;
  3. 软件异常。

IWDG作用:主要用于检测外界电磁干扰,或硬件异常导致的程序跑飞问题;在一些需要高稳定性的产品中,并且对时间精度要求较低的场合。

注意:IWDG是异常处理的最后手段,不可依赖,应在设计时尽量避免异常的发生!

IWDG工作原理

IWDG工作原理递减计数器的上限由看门狗的重装载寄存器设置( 最大 0xFFF - 1 ),下限是不变的0x000

可以从上图看到,如果不及时喂狗( CNT == 0 ),则会导致系统复位,因此CPU必须及时喂狗!

IWDG溢出时间计算

溢出时间计算其中:
Tout 是看门狗溢出时间;
psc 是看门狗预分频系数;
rlr 是看门狗重装载值;
fIWDG 是看门狗的时钟频率。

STM32F103的看门狗超时时间表

预分频系数 PR[2:0] 最短时间(ms) 最长时间(ms)
/4 0 0.1 409.6
/8 1 0.2 819.2
/16 2 0.4 1638.4
/32 3 0.8 3276.8
/64 4 1.6 6553.6
/128 5 3.2 13107.2
/256 6或7 6.4 26214.4

根据实验目的IWDG溢出时间为1s,先确定预分频系数,再计算出重装载值。
本次实验采用 psc = 16,从而计算出 rlr = 2500

3.硬件介绍

硬件:STM32F103C8T6最小系统板 + USB转TTL模块

利用USART2进行串口输出( PA2->USART_TX / PA3->USART_RX )

实物图如下图所示:
实物图
注意:两个设备之间RX->TX / TX->RX

4.软件介绍

首先新建工程并进行初始化配置

在此不进行赘述,详细步骤可移步至之前文章:4.STM32CubeIDE按键实验

与之前文章不同的是,需要配置IWDG,如下图所示:配置
由上图可以看到,先使能IWDG,在进行看门狗预分频系数( psc )与看门狗重装载值( rlr )的配置,最终配置完成IWDG的溢出时间为1s。

接下来进行独立看门狗实验的代码编程

首先代码逻辑如下图所示:

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值