基于STM32 MCU应用的EMC指南之软件篇

发布时间:2024-02-28  

在基于微控制器的电子系统中,强壮的软件设计是提高 EMC 性能的主要因素。必须尽量在项目设计阶段的早期考虑 EMC 干扰导致的问题。EMC 导向的软件提高了应用的安全性和可靠性。强化 EMC 性能的软件的实施成本低,可提高最终的抗扰性能,并节约硬件和开发成本。用户应考虑到模拟或数字数据受到的 EMC 干扰,就像任何其它应用参数一样。


EMC 干扰导致的问题示例:

微控制器无响应

程序计数器失控

执行意外指令

地址指向错误

子程序执行错误

寄生复位和 / 或寄生中断

IP 配置损坏

I/O 失灵

软件故障的后果示例:

产品意外响应

上下文丢失

进程中的意外分支

中断丢失

数据完整性缺失

输入值误读

01使用看门狗或时间控制

为了确保 MCU 能够从软件失控故障中恢复,看门狗是最有效的可用工具。它的原理非常简单:它是一个在计数结束时产生 MCU复位的定时器。一旦看门狗启动,防止看门狗复位控制器的唯一方式就是在程序中周期性更新计数器。

但是为了使看门狗发挥它的最大潜力,用户必须在软件中的恰当位置插入使能和喂狗指令。

下图演示了错误的看门狗使用方式:

82fd21a0-8d8c-11ed-bfe3-dac502259ad0.png

831845ac-8d8c-11ed-bfe3-dac502259ad0.png

需要执行下列规则:

复位之后尽快启用看门狗,或者开启硬狗选项 (如果有)。

切勿在中断服务函数中或在代码中没有超时保护的任何本地环路中刷新看门狗。 根据不同程序的持续时间,包括中断程序,对两个刷新指令之间的间隔时间进行优化是非常重要的。

看门狗还有一种小用途,即可以使用它来复位 MCU,但这也意味着程序上下文的丢失,以及应用数据完整性的丢失。复位之后,除了启用看门狗外,在一些 MCU 上,你可以使用复位标志来区分上电或低电压复位或看门狗复位。

正确使用看门狗的实例如下图:

8344413e-8d8c-11ed-bfe3-dac502259ad0.png

02保护闲置程序存储区域

在大多数应用中,程序存储空间并没有完全被用户代码占满。为了更强的安全性,如果你不想产生复位,可以使用代码填满闲置存储位置,这样会强制看门狗复位或者跳向已知的程序位置。

即使程序计数器损坏,并且跳向闲置存储位置,这都将确保 MCU 恢复和返回到正常操作。在这个闲置区域,还可以跳转到恢复故障安全子程序,通过该子程序可恢复正常运行。

带有 ARM Cortex-M 内核的 STM32 微控制器使用故障异常,当系统遭受 EMC 干扰时,它可以捕获可能发生的非法存储访问和非法编程行为。未定义的指令操作代码可以用来填充STM32 微控制器的闲置存储,在程序计数器失控的情况下,提高故障异常使用率,使得故障安全程序从错误中恢复。

03输入过滤和比较

最佳做法是在验证状态和继续编程执行之前,由程序对输入引脚稳定性进行几次检查,以避免由输入电路的外部噪声造成的不想要的尖峰响应。这是一个简单的对关键输入滤波的方法,不需要额外的成本。

04闲置中断向量管理

为了避免意外中断事件导致的问题 (无论是什么来源),建议在相应的向量中加入一个有效的中断程序地址,以管理所有可能的中断来源。在下面的示例中,未使用的中断向量指向故障管理程序标签,该标签中填充了简单的 “ 从中断返回 ” 指令06

05平均模数转换器结果

如果你在执行 A/D 转换操作,你可以重复多次转换,将结果存储在 RAM 中,然后取平均值(或者选择最多出现的值),以在任何可能的噪声错误的情况下获取准确的结果。

06冗余数据存储和交换

由于极端条件下的电磁干扰,所有存储在内部或外部存储器的数据都可能损坏。高级的预防技术包括将双倍互补值存储在非临近存储区域、存储和检查奇偶校验位或 ECC,它们可帮助识别和 / 或修正数据损坏。 关注本公众号,在后台回复【STM32】可以获取更多相关设计的参考电路。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>