当前位置:首页 > 单片机 > 单片机
[导读]STM32F4xx内置俩个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备可用来检测和解决由软件错误引起的故障;当计数器大道给定的超时值触发一个中断(触发中断仅适用于窗口看门狗)或产生系统

STM32F4xx内置俩个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备可用来检测和解决由软件错误引起的故障;当计数器大道给定的超时值触发一个中断(触发中断仅适用于窗口看门狗)或产生系统复位。
地理看门狗IWDG有用们的低速时钟LSI驱动,及时主时钟发生故障他也任然有效。窗口看门狗由APB1是中国分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。
IWDG最时候用于哪些需要一个看门狗在主程序之外能够独立工作并且对时间精度要求较低的场合,WWDG适合用于哪些要求看门狗在精确计算计时窗口起作用的应用程序。

IWDG主要特性与功能
·自由运行的递减计数器
·时钟由独立RC振荡器提供(可工作在停止和待机模式下)
·看门狗被激活后,则在计数器计到0x000是产生复位

在寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器寄到末尾0x000时会产生一个复位信号(IWDG_RESET)。无论何时,只要在寄存器IWDG中写入IWDG_KR中写入0xAAAA,IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位。

硬件看门狗
如果用户在选择字节中启用了“硬件看门狗”,在系统上电复位后,看门狗会自动开始运行;如果在计数器结束前,若软件没有向寄存器写入相应的值,则系统会产生复位。
寄存器访问保护
IWDG_PR和IWDG_RLR寄存器具有写保护功能。要修改这两个寄存器的值,必须先向IWDG_KR寄存器中写入0x5555.以不同的值写入这个寄存器将会打乱操作顺序,寄存器将重新被保护。重装在操作(写入0
xAAAA)也会启动写保护功能。状态寄存器指示预分配寄存器跟递减计数器是否正在被更新。
调试模式
当微控制器进入调试模式时(M4核心停止),根据调试模块中的DBG_IWDG_STOP配置位状态,IWDG的计数器能够继续工作或停止。

STM32F4的IWDG库
下面是介绍如何使用看门狗驱动 :
·通过函数IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable)使能写寄存器IWDG_PR和IWDG_RLR
·通过函数IWDG_SetPrescaler()配置IWDG分频
·通过函数IWDG_SetReload配置IWDG计数器,每次重装后,计数器将这个值做递减。
·通过IWDG_Enable()来使能IWDG,当看门狗工作在软件模式时(不需要使能LSI,会有硬件自动使能)。
·定时器应该定时调用函数IWDG_ReloadCounter()防止系统复位。

分频器和计数器配置函数
void IWDG_WriteAccessCmd(unit16_t IWDG_WriteAccess)
void IWDG_SetPrescaler(unit8_t IWDG_Prescaler)
void IWDG_SetPrescaler(uint16_t Relaod)
void IWDG_ReloadCounter(void)
看门狗激活函数
void IWDG_Enable(void)使能看门狗
标志管理函数
FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG)用于检测看门狗标志

WWDG的主要特性与功能
·可编程的自由运行递减计数器
·条件复位
当递减计数器值小于0x40,若看门狗被启动则产生复位
当递减计数器在窗口外被重新装载,若看门狗被启动则产生复位
·若果启动了看门狗并允许中断,当递减计数器等于0x40是产生早起唤醒中断(EWI),他可以被用于重装载计数器避免WWD复位。

如果看门狗被启动(WWDG_CR寄存器中的WDGA位被置1),并且7位递减计数器T【6:0]从0x40翻转到0x3f(T6位清零)时则产生一个复位。如果软件计数器大于窗口寄存器中的数值时重装载计数器将产生一个复位。

应用程序在正常运行过程中必须定期的写入WWDG_CR寄存器以防止MCU发生复位。只有当计数器值小于窗口寄存器时,才能进行写操作。存储在WWDG_CR寄存器中的数值必须在0xff和0xc0之间。

启动看门狗
在系统复位后,看门狗总归是处于关闭状态,设置WWDG_CR寄存器的WDGA位能够开启看门狗,随后他不能再被关闭,除非发生复位。
控制递减计数器
递减计数器处于自由运行状态,即使看门狗被关闭递减计数器任然继续递减计数。当看门狗被启用时T6位必须被设置,以防止产生一个复位。T【5:0】位包含了看门狗复位产生之前的计数数目;复位前的延时在一个最小值和一个最大值之间变化,这是应为写入WWDG_CR是其预分频是未知的。配置WWDG_CFR中包含窗口的上限值:要避免产生复位递减计数器的值小于窗口寄存器的数值且大于0x3f时被重新装载,0描述了窗口寄存器的工作过程。另一个重装载计数器的方法是利用早期唤醒中断EWI。设置WWDG_CFR寄存器中的WEI位开启中断。当递减计数器到达0x40时,则产生次中断,相应的中断服务程序ISR可以用来加载计数器防止WWDG复位。在WWDG_SR寄存器中写0可以清楚该中断。
注意:可以用 T6 位 产生一个软件复位(设置 WDGA位为’ 1’, T6 位为’ 0’)。

看门狗中断特性
实际的复位产生前,如果需要执行专门的安全操作或者记录数据,呢么EWI中断就派上了用场。EWI终端有WWDG_CFR的EWI使能位。当地建计数器计到0x40的时候,EWI中断将产生,在设备复位前,我们可以在中断服务程序里面执行或者数据记录。
在一些应用中,EWI终端可以被用来管理软件系统检查/或系统恢复graceful degradation,而不会产生一个WWDG复位。这种情况的话,用户需要在ISR中清除中断标志并喂狗,防止产生系统复位。然后出发需要的操作。
EWI中断可以通过向寄存器WWDG_SR的EWIF位写0来清除。
调试模式
当微控制器进入调试模式(M4核心停止),根据调试中的DBG_WWDG_STOP配置位的状态,WWDG的计数器能够继续工作或停止

如何编写串口看门狗程序

STM32F4的WWDG库
WWDG计数器输入时钟是由 APB1时钟分频而来:
WWDG 计数器时钟 = PCLK1 / Prescaler
WWDG 溢出时间 = (WWDG counter clock) * (counter value)
最大最小溢出时间: @42 MHz(PCLK1): ~97.5 us / 49.9 ms
如何使用看门狗驱动
·通过函数RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE)使能窗口看门狗时钟
·通过函数WWDG_SetPrescaler()设置看门狗分频。
·设置WWDG计数器数值,通过函数WWDG_Enable()启动WWDG,情动WWDG以后,计数器的数值设置要大于0x40,防止立即产生复位
·用户可以悬着是否产生EWI中断,在此中断计数器到0x40时产生,一旦是能。系统复位时将无法将其关闭
·在阻止系统产生福诶的正常操作期间,用户需要在每个时间间隔通过函数WWDG_SetCounter()刷新计数器没刷新操作只能在计数器值小于设定窗口只时进行,窗口只通过函数WWDG_SetWindowValue()设定。

分频器,窗口刷新,计数器配置函数
void WWDG_DeInit(void)
void WWDG_SetPrescaler(uint32_t WWDG_Prescaler)
void WWDG_SetWindowValue(uint8_t WindowValue)
void WWDG_EnableIT(void)
void WWDG_SetCoounter(uint8_t Counter)
独立看门狗激活函数
void WWDG_Enable(uint8_t Counter)
中断标志管理
FlagStatus WWDG_GetFlagStatue(void)
void WWDG_CLearFlag(void)


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭