STM8L 微控制器独立看门狗功能详解
需积分: 16 13 浏览量
更新于2024-08-09
收藏 7.77MB PDF 举报
"STM8L15X系列微控制器的独立看门狗功能"
STM8L15X系列微控制器提供了一种独立的看门狗(IWDG)功能,用于确保系统在出现故障或异常情况时能保持稳定运行。独立看门狗是一个硬件安全机制,即使主程序陷入无限循环或发生其他未预期的状况,也能强制系统复位,恢复正常工作状态。
25.2章节详细描述了独立看门狗的功能。该功能模块由一个计数器组成,当通过写入特定值(0xCC)到iwdg_kr寄存器启动后,计数器会从0xFF的预设值开始倒计数。一旦计数器减至0x00,它会产生一个复位信号,即IWDG复位,从而重启微控制器。
独立看门狗的配置可以通过iwdg_pr和iwdg_rlr寄存器完成。iwdg_pr寄存器用于设定分频器的分频因子,它决定了计数器时钟的速度。iwdg_rlr寄存器则用来设置计数器的重载值。为了防止看门狗计数器溢出导致复位,软件需要定期写入key_refresh值(0xAA)到iwdg_kr寄存器,这会将iwdg_rlr中的值加载到计数器,从而刷新计数器。
寄存器iwdg_pr和iwdg_rlr具有写保护机制,修改它们前需要先写入key_access代码到iwdg_kr寄存器。如果在写入key_access后的操作失败,如写入0xAA,看门狗将不会被正确刷新,这可能会触发复位。
硬件看门狗功能在STM8L15X微控制器上是自动启用的,如果在选项字节中启用了iwdg_hw。一旦电源接通,看门狗计数器开始计数,若在计数结束前没有进行刷新操作,系统将执行复位。
超时时间的计算取决于iwdg_pr和iwdg_rlr寄存器的设置。最大超时时间T可以通过以下公式确定:
\[ T = \frac{TLSI}{flsi} \times P \times R \]
其中,TLSI是时钟源的周期,P是基于iwdg_pr的分频值,R是iwdg_rlr的值加1。如果在超时时间T到期前未刷新计数器,将会有一个延迟D后产生独立看门狗复位:
\[ D = T + 3 \times TLSI \]
D表示从上一次刷新操作到看门狗复位的延迟时间。
STM8L15X系列包括不同存储密度的微控制器,适用于低功耗应用。例如,STM8L151C2/K2/G2/F2等型号有4KB或8KB的Flash内存,而STM8L151x8和STM8L152x8型号则有64KB的Flash内存。每个型号都配备了不同的外设,满足不同应用的需求。
CPU方面,STM8L系列采用的是STM8核心,其包含多个寄存器,如全局配置寄存器(cfg_gcr),用于配置系统级的参数。通过配置这些寄存器,开发者可以精细控制微控制器的工作模式和特性,以优化性能和能耗。
STM8L15X系列的独立看门狗功能是确保系统可靠性和稳定性的关键部分,它通过精确的计时和刷新机制,为嵌入式系统提供了一层额外的安全保障。
2021-09-29 上传
2020-03-27 上传
2019-11-13 上传
2023-07-29 上传
2023-06-10 上传
2023-06-06 上传
2023-09-20 上传
2023-06-22 上传
2023-08-24 上传
吴雄辉
- 粉丝: 46
- 资源: 3820
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护