EDA365电子工程师网
标题: 求助;ATMEL的MCU启动后,程序跑飞的故障分析 [打印本页]
作者: kingboy945 时间: 2015-8-12 17:12
标题: 求助;ATMEL的MCU启动后,程序跑飞的故障分析
一. 故障现象:
生产一批机器无法正常开机,液晶屏白屏,软复位几次,有的机器能正常启动,有的还一直白屏。CPU的外围电路没有问题,晶振正常、复位电路正常。CPU的喂狗信号有输出一段波形,之后CPU就停止工作,软件上说是程序跑飞了,由于没有引出JTAG引脚,没法判断程序跑到哪里,CPU软件上自身16S左右可以正常软复位。
二. 故障板的概率:生产出问题的概率10%-15%
三. 故障板情况:板厚2.4mm 。CPU采用atmel的AT91SAM9260,SRAM采用华邦的w9864g6kh,norflash采用S29GL064N90TFI040SPANSION
四. 故障实验:
1、 示波器测试,CPU的喂狗信号一段波形出来,但是射频卡的灯却没有亮,说明CPU的boot都没起来。而且其他的正常的机器都是用一样的程序没有发现有异常现象。
2、 软件上,我们测CPU的看门狗喂狗信号,在CPU要起来时候,会发出一段的喂狗信号,之后就没有了。软件上boot层初始化液晶屏SPI时候,程序跑飞了,导致程序卡在液晶初始化上,液晶屏一直是白屏的。直到CPU本身的软复位,液晶屏会出现闪下,之后还是白屏,但是有的机器在软复位几次之后,却可以启动起来了,有的还是一直白屏。
3、 硬件上,我们测试了,电源端的工作是正常,晶振端的频率也都是正常,复位电路也没有问题。我们断开有可能导致机器重启的外设电路去掉,让机器跑最小系统,发现也没能正常工作。同时跟换CPU周围的器件晶振等,问题还是跟原来的一样。
4、 拿有故障的机器,放到热风枪上面吹下(温度大概100度),发现大部分不正常的机器又可以正常工作了,不断电的情况下都可以正常工作。。
7 Y& y0 y; e( u
以上,请大牛帮忙分析下,问题所在,谢谢!!!
) s7 f4 j# Z8 C9 B8 l D( U
作者: fallen 时间: 2015-8-12 17:30
; B, }/ h9 T/ R1 软件确认BOOT跑飞,而且确定卡在SPI-LCD处,对否?
% @2 G8 w; N# C' g. Z* s# }6 I; d2 去掉SPI_LCD还是会挂?+ o. a+ i9 q! B: v' P( z6 G
3 为什么初始化不过这里会挂?软件BUG,还是硬件问题?
作者: fallen 时间: 2015-8-12 17:30
补充,上电的时序和电源纹波都有测试过了吗?
作者: kingboy945 时间: 2015-8-12 17:37
fallen 发表于 2015-8-12 17:30
7 ~, d1 f$ Q3 X! t1 软件确认BOOT跑飞,而且确定卡在SPI-LCD处,对否?
% G# a+ i8 |, y- ?3 \7 ]2 去掉SPI_LCD还是会挂?
( H$ H8 V; ^# ^; H3 为什么初始化不过这里 ...
( t r8 g# \3 H, D/ W* W1、boot层把LCD初始化去掉,基本上板可以启动2、由于是量产的产品,大部分的板可以用,是软件还是硬件问题不确定。
- G6 x1 i7 [& q* \$ `# C* F. P& f3、上电时序没有问题,纹波也在正常范围。
, G; ?5 ?# p3 W1 q S& F) ]) N% k
5 o$ N. q5 i* `5 I- G. q
作者: fallen 时间: 2015-8-12 17:44
! m& [6 ?% W1 P8 J. [& b* n4 f8 t
那现在问题就体现在初始化不过SPI_LCD了。你现在检查了哪些?1 SPI_LCD供电问题?$ Y; O* l+ I! N4 Y Z' q) @
2 SPI_LCD的reset问题?
% ^- n3 _. P0 g/ L0 c0 s3 SPI_LCD的生产问题,比如短路,虚焊,过孔断裂造成微导通?
6 g5 |, |; E, x4 S% Y4 SPI_LCD的来料问题?
) d6 Q" }3 Z/ A+ r; p$ h5 软件设置的时序的余量问题?# D0 f* W& {3 |# ]: ?' V1 t
6 软件应该是去读ID号,对吧。是不是ID号本身设置的问题?+ o3 Y3 `7 @. |! A5 E5 n3 ^5 K
作者: kingboy945 时间: 2015-8-12 18:03
fallen 发表于 2015-8-12 17:44
* ^- u" u! B0 T y' F那现在问题就体现在初始化不过SPI_LCD了。你现在检查了哪些?1 SPI_LCD供电问题?
. U. p0 v' K. s0 d5 x: Y2 SPI_LCD的reset问题 ...
( _3 Y3 ]" |2 A1、前三个都没问题,已经排除。
) d6 i0 G! w6 p2、软件上余量的问题,有可能。6 j5 v+ j; b4 k
3、你说的读取ID是什么意思?boot层软件知识初始化LCD。
- b9 v5 p2 e& g
作者: fallen 时间: 2015-8-12 18:17
kingboy945 发表于 2015-8-12 18:03( ^% q* F+ A j
1、前三个都没问题,已经排除。: v' t3 M4 d; q7 _+ U P9 m Q% ]
2、软件上余量的问题,有可能。
3 L" b' K5 [$ M0 v, @8 F7 }3、你说的读取ID是什么意思?boot层软 ...
$ l! g* g- U a8 n
就是初始化应该是要去读LCD的ID号。或者你问下软件看他是怎么做的。
# ]. G4 U R: l5 z/ k( s
作者: kingboy945 时间: 2015-8-13 11:43
" s2 x. u \' q- K8 ^
LCD的ID没去读,只有写。
6 T+ C6 W& ?1 u. t- J$ H
作者: SmartEXP 时间: 2015-8-13 16:34
刚开始入行的时候我画了一个板子,结果就出现类似的问题,后来检查出来是Boot脚悬空:'(:'(
作者: kingboy945 时间: 2015-8-14 18:11
, U1 u7 t* ~2 E% H# I
是bms 没有boot脚
- q3 J; j. F$ M6 j- l+ z2 a6 K
作者: SmartEXP 时间: 2015-8-17 08:31
9 m# {; e8 z- `: S7 O# N/ ^( Q我那个是STM32的芯片
欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) |
Powered by Discuz! X3.2 |