加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

如何在噪声环境中开发可靠的软件

11/13 08:58
224
259.14 KB
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
  • 资料介绍
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

本应用说明介绍了在噪声干扰较重的应用中使用 S08PT60、FL16 和 AC60 的 MCU 器件时如何实现强大的软件。在一般情况下,软件设计无法改变将噪声耦合到系统中的物理介质,也无法降低外部源产生的噪声的绝对幅度。但是,软件必须能够识别特定事件,如果它是由噪声源触发的误报,或者是正常的驱动事件,然后对相应的操作做出明智的决定。例如,如果请求的操作存在任何不确定性,则软件不得打开 power control stage。良好的防御性软件设计是提高整体性能、系统保护和噪声环境下运行稳定性的关键因素之一。

这里说明了大多数微波炉应用使用的典型软件设计,以展示如何在实际案例中应用以下软件技术。每个主题还包括设备 PT60、FL16 和 AC60 的示例代码,作为快速入门指南,以帮助用户更快地采用这些技术。

一个好的防御软件推荐使用以下软件技术。

• 启用 Watch-Dog 以避免代码失控

• 定期刷新数据方向寄存器

• 填充未使用的内存以避免代码失控

• 定义所有中断向量,甚至包括未使用的中断向量

• 选择锁频环 (FLL) 接合模式

• 始终重新确认边缘触发的事件

• 在输出端口上启用转换速率控制

• 启用输入毛刺滤波器(PT60 内置功能)

当应用软件无法按预期执行时,例如,当瞬态噪声注入 MCU 时,正在运行的软件跳转到意外的内存位置或进入无限循环,从而强制系统重置。为了防止在启用 WDOG 计时器时从 WDOG 计时器重置系统,应用程序软件必须定期重置 WDOG 计数器。如果应用程序丢失并且无法在 WDOG 计数器超时之前重置 WDOG 计数器,则会生成系统重置以强制系统返回到已知的起点。建议将 WDOG 刷新routine 而不是 sub-routines 和 interrupt routines。WDOG 函数在主循环开始时初始化,WDOG 计数器在 forever 循环内定期重置。WDOG 重置代码由宏 __RESET_WATCHDOG() 定义。

相关推荐

电子产业图谱