在线时间1672 小时
UID90520
ST金币0
蝴蝶豆0
注册时间2008-11-10
管理员
- 最后登录
- 2020-12-9
|
a0a.1 32b0c
提高微控制器 EMC 性能的软件技术
前言
在基于微控制器的电子系统中,强壮的软件设计是提高 EMC 性能的主要因素。
必须尽量在项目设计阶段的早期考虑 EMC 干扰导致的问题。 EMC 导向的软件提高了应用的安全性和可靠性。强化 EMC 性能的软件的实施成本低,可提高最终的抗扰性能,并节约硬件和开发成本。用户应考虑到模拟或数字数据受到的 EMC 干扰,就像任何其它应用参数一样。
EMC 干扰导致的问题示例:
• 微控制器无响应
• 程序计数器失控
• 执行意外指令
• 地址指向错误
• 子程序执行错误
• 寄生复位和 / 或寄生中断
• IP 配置损坏
• I/O 失灵
软件故障的后果示例:
• 产品意外响应
• 上下文丢失
• 进程中的意外分支
• 中断丢失
• 数据完整性缺失
• 输入值误读
本应用笔记将介绍以下两类软件技术:
• 预防技术:它可以在已有的设计中实现,其目的是提高产品的稳健性。
• 自动恢复技术:当检测到失控情况时,将使用恢复子程序来决定执行故障安全程序,也可以选择发出警告,然后自动恢复为正常运行状态。(此操作对于应用的用户可能是完全透明的)。
1 相关文档
• AN3181“ 在 STM8 的应用中获得 IEC 60335 类型 B 认证指南 ”
• AN3307“ 在 STM32 的应用中获得 IEC 60335 类型 B 认证指南 ”
• AN4435“ 在 STM32 的应用中获得 UL/CSA/IEC 60335 类型 B 认证指南 ”
2 预防技术
用户可以在已有的设计中实施预防技术,用以提高产品的稳健性和对外部或内部 EMC 干扰的抗扰性。
2.1 使用看门狗和时间控制技术
为了确保 MCU 能够从软件失控故障中恢复,看门狗是最有效的可用工具。它的原理非常简单:它是一个在计数结束时产生 MCU 复位的定时器。一旦看门狗启动,防止看门狗复位控制器的唯一方式就是在程序中周期性更新计数器。
但是为了使看门狗发挥它的最大潜力,用户必须在软件中的恰当位置插入使能和刷新指令。
图 1 显示了两种典型的看门狗使用不当的示例。
为了以正确的方式实现 (参见图 2),需要执行下列规则:
• 复位之后尽快启用看门狗,或者开启硬狗选项 (如果有)。
• 切勿在中断服务函数中或在代码中没有超时保护的任何本地环路中刷新看门狗。
根据不同程序的持续时间,包括中断程序,对两个刷新指令之间的间隔时间进行优化是非常重要的。
看门狗还有一种小用途,即可以使用它来复位 MCU,但这也意味着程序上下文的丢失,以及应用数据完整性的丢失。
复位之后,除了启用看门狗外,在一些 MCU 上,你可以使用复位标志来区分上电或低电压复位或看门狗复位 (参见第 3.3 节:使用复位标签辨识复位源 获取更多信息)。
|
|