找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 334|回复: 14
打印 上一主题 下一主题

MCU hang 机, 原因为何?

[复制链接]

65

主题

157

帖子

1867

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1867
跳转到指定楼层
1#
发表于 2017-10-12 21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 紫菁 于 2017-10-13 13:09 编辑 / ]5 `- Z+ J! j9 V! L& ~6 m* \
8 f& s, c! t& K: o
1. 我司的产品, 用到stm32某款MCU。
+ {9 T" |& T0 L8 R% l2. 近日, 对该产品做Sleep cycle 测试时, 不时出现MCU hang 机的情况。( X2 f. f: V- m1 Y) i* n
3. Datasheet 及原理图如附件。
2 k( W& ]1 y; p7 o5 r9 b9 E0 s% G4. 理论上, MCU 很简单。 可是问题出现时, 却无从下手解Bug。. [3 A6 S! p: K/ m- d5 @3 s
5. 有遇过类似经历的, 请帮忙提供个‘思路’。 不一定针对附件的设计。
7 }% i2 o+ Z4 s' A    a. 电源问题?5 I1 ^/ t+ x! \2 R
    b. 时序问题?
" ?5 o% }( P4 d$ L8 v$ |& L    c. Firmware 问题?# t# j. z) g' L* C1 Y8 u
2 ]8 o6 x/ u" w! x
*注: MCU hang  机( 即MCU 停在某一状态。 所有输出, 不再对输入信号有反应。 )
6 }- e" z" {' ~4 o+ L$ H
: o3 \) U) ?% r0 m4 e& L谢谢!
游客,如果您要查看本帖隐藏内容请回复
, k- L% T. K3 J- j" F: q% k

stm32_mcu.png (303.07 KB, 下载次数: 1)

schematic

schematic
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
2#
发表于 2017-10-12 22:44 | 只看该作者
本帖最后由 紫菁 于 2017-10-13 13:10 编辑
+ J& M$ [. d( `) _2 A8 q: o- }* T( S* Q+ {
Prequalification trials+ P% }. z  q# Y
Most of the common failures (unexpected reset and program counter corruption) can be reproduced by manually forcing a low state on the NRST pin or the Oscillator pins for 1 second.7 {  d4 }4 M: q8 P7 P
0 @& I& x; K3 q! S0 w
Datasheet 建議你重置試試,看 MCU 能不能重新跑起來,然後觀察會不會再度發生。
5 Z6 U' V- P( ?( E% Y8 x' [& c
1 Z$ w) k3 z' r/ A- A/ p' J+ n/ p" OTo complete these trials, ESD stress can be applied directly on the device, over the range of specification values. When unexpected behavior is detected, the software can be hardened to prevent unrecoverable errors occurring (see application note AN1015).
: ]5 n& [' |( Y: d, Q! ^- M9 F# c# x- x# \5 m/ H" f
AN1015 教導你利用一些 TimerWatchDog 等技巧,降低意外掛機的情況發生。0 a  u# o" e7 _1 y$ Q$ Y) o

* f: k* ^- f, X- y* T3.11.4 Independent watchdog (IWDG)
( _" d9 K" {0 m/ v( R7 `/ jThe independent watchdog is based on an 8-bit prescaler and 12-bit downcounter with user-defined refresh window. It is clocked from an independent 40 kHz internal RC and as it operates independently from the main clock, it can operate in Stop and Standby modes. It can be used either as a watchdog to reset the device when a problem occurs, or as a free running timer for application timeout management. It is hardware or software configurable through the option bytes. The counter can be frozen in debug mode.( y+ f& |0 ?9 U4 d: B7 ?& R- w9 M7 ^5 c

( [4 Y& d7 j( u8 D" U/ P看門狗IWDG)使用 40KHz 獨立的時鐘源,較不容易受到其它因素的影響,可利用它來防止掛機,或是用來找出掛機的原因。' I3 Z+ O0 K& Q+ S3 V# u) g
% Z3 `: S: X' c" W0 o- S. B/ N
游客,如果您要查看本帖隐藏内容请回复

* I  z( b$ r2 z  h4 E1 N7 a3 A4 [3 |0 _9 T3 S# w
1 Y& l* g: A6 U& H

) H, y& N( L  x; ~, F4 [
哈士奇是一種連主人都咬的爛狗!

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
3#
发表于 2017-10-12 22:48 | 只看该作者
本帖最后由 超級狗 于 2017-10-12 22:51 编辑   m  m$ ^& ^6 X% a5 j! t3 H- i' O% N

  d' v2 v3 Y+ _4 g/ D" t' WAN1015 中提到各種掛機的可能性:
/ I8 h% ?& q# i/ \" a2 p) U9 s3 ]& H- h' X; u$ o* m3 n5 L
Examples of problems induced by EMC disturbances:
9 E& S2 c+ ~5 g1 o2 j- P. k' Z
  • Microcontroller not responding
  • Program Counter runaway
  • Execution of unexpected instructions
  • Bad address pointing
  • Bad execution of subroutines
  • Parasitic reset and/or parasitic interrupts
  • Corruption of IP configuration
  • I/O deprogramming
    $ K0 @  x3 }( c& G0 B2 C
' }( q# D" O6 T$ V6 N
Examples of consequences of failing software:
% `6 U; z2 d' c# P; e/ @
  • Unexpected response of product
  • Loss of context
  • Unexpected branch in process
  • Loss of interrupts
  • Loss of data integrity
  • Corrupted reading of input values6 ]( {6 c) X3 m! _+ d

# y$ e  E  e/ x9 z- F  t; T; A3 J5 E5 b/ s1 m' ?0 N( ]. Q
哈士奇是一種連主人都咬的爛狗!

2

主题

185

帖子

1405

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1405
4#
发表于 2017-10-13 08:27 | 只看该作者
没什么好办法,如果不能实时仿真的话,只能试着来,用外部有源晶振,排除因干扰而程序跳飞的情况。仔细检查程序中有关循环是否存在某个变量得不期望值陷入死循环的情况。

7

主题

73

帖子

1158

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1158
5#
发表于 2017-10-13 08:40 | 只看该作者
一般这种情况都是发生了HardFault_Handler 然后一直停留在HardFault_Handler中断里面

0

主题

11

帖子

21

积分

二级会员(20)

Rank: 2Rank: 2

积分
21
6#
发表于 2017-10-13 10:11 | 只看该作者
1、监控下程序运行的情况,看看是在哪里出的问题,是否进入了死循环;
) D, Z8 A: l9 Z7 |2、看看干扰问题,尤其是电源的不稳定造成的,还有就是其他干扰造成的误差发

0

主题

11

帖子

21

积分

二级会员(20)

Rank: 2Rank: 2

积分
21
7#
发表于 2017-10-13 10:11 | 只看该作者
1、监控下程序运行的情况,看看是在哪里出的问题,是否进入了死循环;
' {7 R$ E7 ^! r0 R+ E  o  H, L2、看看干扰问题,尤其是电源的不稳定造成的,还有就是其他干扰造成的误差发

0

主题

2

帖子

23

积分

二级会员(20)

Rank: 2Rank: 2

积分
23
8#
发表于 2017-10-13 13:16 | 只看该作者
这种情况,个人认为多半是软件导致,可以认真查找软件原因

0

主题

368

帖子

4192

积分

五级会员(50)

Rank: 5

积分
4192
9#
发表于 2017-10-16 09:43 | 只看该作者
看看是不是软件堆、栈相关问题

5

主题

147

帖子

1637

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1637
10#
发表于 2017-10-18 13:01 | 只看该作者
看一看* S  R2 E4 k  u  o% j

41

主题

130

帖子

826

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
826
11#
发表于 2017-10-24 14:03 | 只看该作者
thank you very  much& S$ f5 i% u  \: H* p" x1 F

0

主题

21

帖子

39

积分

二级会员(20)

Rank: 2Rank: 2

积分
39
12#
发表于 2017-10-31 13:57 | 只看该作者
不见得是硬件问题

2

主题

86

帖子

233

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
233
13#
发表于 2017-11-7 14:55 | 只看该作者
研究了。2 c0 B! c; Z% H5 W* N5 }

22

主题

396

帖子

5195

积分

五级会员(50)

Rank: 5

积分
5195
14#
发表于 2017-11-8 10:41 | 只看该作者
看一看

22

主题

396

帖子

5195

积分

五级会员(50)

Rank: 5

积分
5195
15#
发表于 2017-11-8 10:42 | 只看该作者
看一看6 X( f% d0 h/ b& {8 }( |9 _
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-24 18:24 , Processed in 0.067870 second(s), 35 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表