你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】AN1015_提高微控制器EMC性能的软件技术

[复制链接]
STMCU-管管 发布时间:2019-4-28 13:27
提高微控制器 EMC 性能的软件技术
$ D0 `: c8 |: D0 r) F' x+ B, T9 c4 Y# E! `, i
前言 ) r7 z3 L; I. m0 r, ?6 a" N  G
% C' y1 ~- s8 E4 Q7 _
在基于微控制器的电子系统中,强壮的软件设计是提高 EMC 性能的主要因素。   g3 F  T7 s9 X$ u7 K

- G- M5 l, g  z; r; Z9 B% `必须尽量在项目设计阶段的早期考虑 EMC 干扰导致的问题。 EMC 导向的软件提高了应用的安全性和可靠性。强化 EMC 性能的软件的实施成本低,可提高最终的抗扰性能,并节约硬件和开发成本。用户应考虑到模拟或数字数据受到的 EMC 干扰,就像任何其它应用参数一样。 8 F% {3 H2 A; v
0 F$ m1 B$ F  c
EMC 干扰导致的问题示例:
! _/ G# I, t" [6 i• 微控制器无响应 ( L  [$ Q+ ?! U' I' ~
• 程序计数器失控
1 x; |4 d- m, u• 执行意外指令 % b: G9 e* m5 n4 ^/ O
• 地址指向错误
$ j  h  @0 {! }2 }( F* r3 r• 子程序执行错误 ; S( k' ^3 ^+ k$ o
• 寄生复位和 / 或寄生中断
0 b' V+ ~. }/ B( E: G/ i' E* B. N# T• IP 配置损坏 4 ~$ q4 f5 h: u# R  A! o
• I/O 失灵
0 g& b) s* k' j
: o. Q( x3 c9 N% Z& B
软件故障的后果示例: 2 h* t. k) P8 Q6 {
• 产品意外响应 7 K3 ]  q- g4 }+ \8 p
• 上下文丢失
+ i& P5 j7 k, ]# ?• 进程中的意外分支 - c6 U( a+ ^4 Z. N, e
• 中断丢失
2 {4 t' k0 L5 a1 Z6 M) p. I• 数据完整性缺失
8 [/ l* q% {3 i3 w0 E, \7 ~( U( U, K• 输入值误读
0 `7 e/ f  O0 P/ s

8 d0 D9 V& R5 @% S1 U9 c本应用笔记将介绍以下两类软件技术:
, s) K+ r7 G5 I$ v• 预防技术:它可以在已有的设计中实现,其目的是提高产品的稳健性。
% w# @# K9 ]# `& U& y) s( V7 V$ }• 自动恢复技术:当检测到失控情况时,将使用恢复子程序来决定执行故障安全程序,也可以选择发出警告,然后自动恢复为正常运行状态。(此操作对于应用的用户可能是完全透明的)。
- U( b6 a$ s8 \
' H; t# s1 _2 G# Q7 m
1 相关文档 6 J6 x; Y) c: L  n& ]+ z; E6 t# z
: m4 x$ j  o& y5 J& r8 i
• AN3181“ 在 STM8 的应用中获得 IEC 60335 类型 B 认证指南 ”
2 Z0 ?2 f9 F  U5 g4 ]5 y• AN3307“ 在 STM32 的应用中获得 IEC 60335 类型 B 认证指南 ” / x. F+ w, n- P. D
• AN4435“ 在 STM32 的应用中获得 UL/CSA/IEC 60335 类型 B 认证指南 ”
1 J: ]! w5 ]- U+ N8 I
- I# ~4 d& h  b8 ^9 n( X7 k, J2 预防技术
; J3 }) {$ Q1 z* ^2 D' K

! m; R7 h! _& U0 A: Z3 B$ o用户可以在已有的设计中实施预防技术,用以提高产品的稳健性和对外部或内部 EMC 干扰的抗扰性。
* t& Z8 F* k, r3 V6 j" u: s
8 }/ u; x/ d" v2.1 使用看门狗和时间控制技术 * U: g1 n' r) z* ]$ L0 H) c
; r/ S( @: Y  M; z5 g
为了确保 MCU 能够从软件失控故障中恢复,看门狗是最有效的可用工具。它的原理非常简单:它是一个在计数结束时产生 MCU 复位的定时器。一旦看门狗启动,防止看门狗复位控制器的唯一方式就是在程序中周期性更新计数器。
0 Y5 n$ ?8 B" h; W6 A

% L: Q, j+ @" V& e. X但是为了使看门狗发挥它的最大潜力,用户必须在软件中的恰当位置插入使能和刷新指令。
/ m7 ]  w, L9 d+ b- O. \4 h
7 Y  l0 N$ e% T9 W$ M0 F0 ~图 1 显示了两种典型的看门狗使用不当的示例。
. {1 X. T* v; Y: R9 f% q6 n' r1 Z* c8 B) Y4 b# V5 B
为了以正确的方式实现 (参见图 2),需要执行下列规则:
4 `  k; |5 b% @. n+ i • 复位之后尽快启用看门狗,或者开启硬狗选项 (如果有)。) J  T+ O5 {- W8 W+ O1 a5 O
• 切勿在中断服务函数中或在代码中没有超时保护的任何本地环路中刷新看门狗。 * ]* {. x9 m7 P3 f% K- d5 k
8 j% a% N, Y- ?& C2 k( F0 {  c
根据不同程序的持续时间,包括中断程序,对两个刷新指令之间的间隔时间进行优化是非常重要的。
. F& }1 h8 U: y, J# C

2 B9 y# d$ U' H/ |: \% g& |看门狗还有一种小用途,即可以使用它来复位 MCU,但这也意味着程序上下文的丢失,以及应用数据完整性的丢失。
+ ~- C% d) M- X1 ~8 N
3 X7 k1 m7 r+ }# H: W  H! t
复位之后,除了启用看门狗外,在一些 MCU 上,你可以使用复位标志来区分上电或低电压复位或看门狗复位 (参见第 3.3 节:使用复位标签辨识复位源 获取更多信息)。
# R( G# @# |7 C' q4 D
$ v! W; F0 C" n5 b+ i  Z9 n
..............
' s" n9 `6 h" w- s
想了解更多,请下载原文阅读

8 s1 |/ g3 N5 {7 U

+ d; @% M  _* p

% b# U' e0 A. b. L% O2 i2 y; c
赞 收藏 1 评论5 发布时间:2019-4-28 13:27

举报

5个回答
Kevin_G 回答时间:2019-4-28 14:21:52
点赞
yls0221 回答时间:2019-5-7 17:12:34
不错!!!
lg-405938 回答时间:2019-5-9 08:11:48
好好好
lg-405938 回答时间:2019-5-10 08:19:13
多来点金币
幻影21 回答时间:2019-5-11 13:43:32
好好好
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版