STM8L 微控制器独立看门狗功能详解
需积分: 16 173 浏览量
更新于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系列的独立看门狗功能是确保系统可靠性和稳定性的关键部分,它通过精确的计时和刷新机制,为嵌入式系统提供了一层额外的安全保障。
2019-11-13 上传
2021-09-29 上传
2020-03-27 上传
2019-08-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
吴雄辉
- 粉丝: 46
- 资源: 3749
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析