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

【经验分享】Watch Dog 失效

[复制链接]
STMCU小助手 发布时间:2022-2-23 19:38
问题:' ^% J" H1 b1 i4 y& _( C
该问题由某客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了STM32 的片上看门狗 IWDG 进行系统监控。在实测中发现,在软件中去掉喂狗代码之后,IWDG 并没有复位系统。1 @7 ~& b, _- k! j
& c$ a; A9 s& P# Z: P( n
调研:
" e4 H, A9 i4 Q运行其测试程序,观察 STM32 的对外通信,确认现象如前所述。检查软件中对 IWDG 初始化的代码,未发现异常。使用编辑器的搜索功能,在整个软件工程中搜索具有喂狗特征的代码,没有可疑代码被搜到。检查原理图,其中 STM32 的复位电路部分如图(一)所示:) w1 |. E3 {( l! v4 @; Q

8 c* Z' R+ {- ^  _. y+ Z D6G2]LSHZIJF3RV`PX8`M8J.png + _, u2 h+ n  @' l  R, ^
' |% s2 Q3 \* `% a% G, X
修改硬件,去掉电阻 R*。修改软件,将对 IWDG 初始化的代码移至 main 函数的最前端。紧跟其后,加入 while(1);语句,阻止其它代码被执行。运行程序后,用示波器观察 NRST 管脚步的波形,发现有如图(二)所示的复位脉冲送出。将软件改回到原测试程序并运行,观察到系统有复位动作产生。
$ j, I9 O- v- P  p+ e! d7 ^1 W6 T2 V7 X9 m% n- z; j" b
@3A~N(FDJ7QTQW298MIR7D2.png 5 t# \, T( @" s" _1 N9 Y

( b, {  ~# y# \# d. k& Y9 o; I+ y查看该复位芯片的数据手册,证实其对外驱动类型为 CMOS 推拉型驱动。
) K. f4 w" j# a  [4 N5 p
" F9 y# U( n- [, D; h3 h; b( Z8 t结论:
6 `$ P3 M+ u0 a" B! m所使用的复位芯片的驱动类型不恰当,与 STM32 对 NRST 管脚的驱动发生冲突,造成 STM32 内部产生的复位信号不能传递到 NRST 管脚上,进而导致 IWDG 失效。
" @2 B$ _4 N) C/ H
5 u6 ^6 P& D' M' ?. ^% `8 g# w/ \- N8 O$ f+ y. `. f9 @% ]
处理:5 r" m1 `3 l4 l7 D9 _( s/ O. P9 _1 W
将图(一)中的 R*由 0Ω电阻改为 1K 电阻。& r% t) V1 }! a' ?9 R+ m  y
; \+ L; W- B1 R$ R# z% c- k

! j4 V3 |- }  Q( U建议:
$ c! Z& Z) C' ^/ _STM32 内部可以产生包括上电复位在内的多种复位信号,同时从专用的复位管脚 NRST 接收外部送来的复位信号,各路复位信号之间的关系如图(三)所示:
( m" P: k9 c# ]- \: t6 A9 Q% I# X% x# g( g( m
2 N" w; m$ y/ E, t9 `4 k

# @/ T8 ?1 z! {, }$ ^1 ~2 t在这些复位信号中,无论哪个信号都要先作用于 NRST 管脚上,然后再分成两路,分别送给片外和片内。送给片内的一路最终形成 system reset,用于复位除后备域以外的用户电路。从图(三)可以看出,STM32 对 NRST 管脚采用了电阻负载型的驱动类型进行驱动,以便片内信号与片外片信号能形成线与逻辑。为此,片外电路对 NRST 管脚的驱动也要采用可以进行线与逻辑的驱动类型。常见的驱动类型有四种,见图(四):
) f2 S* h* g+ B2 u' m( y
9 U# }0 b, K8 B8 b  M" @ %O2G`HGH8{TC_$ZH@FE2YXE.png ( W# y2 t6 ^. l, P

+ n# k) p/ ]* ~  Z* a(a) 电阻负载型驱动;
* v8 s6 a) f, p2 @, ~; ?: Y/ O: T! `(b) 恒流负载型驱动;
* `) i% o5 R# t(c) 开路负载型驱动;
9 X# F9 U% k  v$ b; |2 }1 s; H(d) 推拉型驱动
1 E( I( L3 D  V7 ]& `其中(a)、(b)、(c)三种类型都可以实现线与逻辑,而(d)则不能。当(d)型驱动电路与 STM32 的 NRST管脚连接时,会出现图(五)所示的由于强强竞争而产生的短路电流 I。而此时输出结点的逻辑值是不确定的,很可能由此引发一些逻辑信号被湮没而丢失。所以对(d)型驱动电路来说,需要通过隔离电路来驱动 STM32 的 NRST 管脚,而不能直接连接,如图(六)、图(七)所示:
; B! \( _  o$ N- x: |+ [9 k) A0 m! d# C( V! K' `+ H

; o1 }* c  z* S, s3 T5 h FP]ID6VZM8QYQNC6KHPBJL2.png
1 z* [) Z: R; v7 a  P7 d+ q8 D, V% C8 p* [9 A
所以对(d)型驱动电路来说,需要通过隔离电路来驱动 STM32 的 NRST 管脚,而不能直接连接,如图(六)、图(七)所示:
& D4 [/ T* R% O$ _5 s( c0 ~
  X) W/ {& q5 @( K
2 r) o# U( ]) ~* p1 b4 x 4@5]{~W1PB~XF6(F1V~UUT9.png 9 R  l, w: P  S- I+ G

* b1 r% \2 p8 l# O# ?8 b
' t& c. G2 U& n; M) _* y6 J
1 A/ G- Z$ S6 `3 R) ^! x% F; Q3 a9 N: \$ }3 q; y$ k* D1 n* a! U! ]

7 I% G5 n( W/ o/ F  t3 R7 L
( @+ q( C) X+ `2 I; F! U) m% v& F3 g4 s" Z3 H- @$ S5 u

/ n. [4 D2 P5 {# j) t8 t7 s0 [' C- t# O% C, `- ], K, K  D: i  N

- P% M' n6 N4 ~/ }# z' J3 ^) q: b0 }6 j1 c
赞 收藏 评论0 发布时间:2022-2-23 19:38

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版