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度),发现大部分不正常的机器又可以正常工作了,不断电的情况下都可以正常工作。。  
& }4 A. q$ C9 J5 V8 {1 l
以上,请大牛帮忙分析下,问题所在,谢谢!!!

. R: g& l" P3 k+ g3 @$ @2 Z* y
作者: fallen    时间: 2015-8-12 17:30
$ \9 v4 N6 P8 T, N( x
1 软件确认BOOT跑飞,而且确定卡在SPI-LCD处,对否?' i5 n: O4 i  u8 k6 a( K
2 去掉SPI_LCD还是会挂?
) G. R6 v5 y1 ?3 为什么初始化不过这里会挂?软件BUG,还是硬件问题?
作者: fallen    时间: 2015-8-12 17:30
补充,上电的时序和电源纹波都有测试过了吗?
作者: kingboy945    时间: 2015-8-12 17:37
fallen 发表于 2015-8-12 17:30
1 G" j/ x" f$ d) h; X. ]1 软件确认BOOT跑飞,而且确定卡在SPI-LCD处,对否?
# m; {* e. k! p9 ]" t9 F( F/ v2 去掉SPI_LCD还是会挂?
4 G4 A$ z0 ]8 B3 为什么初始化不过这里 ...
; `/ ^" g7 s' r
1、boot层把LCD初始化去掉,基本上板可以启动2、由于是量产的产品,大部分的板可以用,是软件还是硬件问题不确定。
# P' H# H) O/ W3、上电时序没有问题,纹波也在正常范围。
5 r9 r' I% F* w, Q- L
! O) {, D' u2 }9 z  K5 U9 A
作者: fallen    时间: 2015-8-12 17:44
kingboy945 发表于 2015-8-12 17:370 p. \6 k" U: Q, a3 O/ O9 ]( `
1、boot层把LCD初始化去掉,基本上板可以启动2、由于是量产的产品,大部分的板可以用,是软件还是硬件问 ...
4 [1 b1 x" X# E' x" E- t
那现在问题就体现在初始化不过SPI_LCD了。你现在检查了哪些?1 SPI_LCD供电问题?1 s8 d! b: B1 A4 b2 C
2 SPI_LCD的reset问题?
, G, w0 w" P! r) z/ g3 SPI_LCD的生产问题,比如短路,虚焊,过孔断裂造成微导通?
3 _. ?0 x1 f. v4 S& \4 SPI_LCD的来料问题?, U) y  {- ?" A
5 软件设置的时序的余量问题?
; C: x! q$ D6 N: s$ J6 软件应该是去读ID号,对吧。是不是ID号本身设置的问题?$ P2 X. W3 L9 L

作者: kingboy945    时间: 2015-8-12 18:03
fallen 发表于 2015-8-12 17:44
7 u% f$ d+ O* M) h那现在问题就体现在初始化不过SPI_LCD了。你现在检查了哪些?1 SPI_LCD供电问题?  u+ r. o4 P" R6 E0 H3 M  p
2 SPI_LCD的reset问题 ...

4 x/ t. F) c' {2 V* t; H1、前三个都没问题,已经排除。
7 U) q- Q: f2 U  v+ e5 Y7 n2、软件上余量的问题,有可能。
. X* r7 e: A$ B: P9 w1 Y) C3、你说的读取ID是什么意思?boot层软件知识初始化LCD。! I; C- h* \$ q$ I

作者: fallen    时间: 2015-8-12 18:17
kingboy945 发表于 2015-8-12 18:03
$ b0 w" l# M! R$ y* n1、前三个都没问题,已经排除。
7 j$ {$ H1 R2 {( K6 ~9 P$ v2、软件上余量的问题,有可能。
  y0 M. o$ D6 q6 ]. c" J, [3、你说的读取ID是什么意思?boot层软 ...
% [0 y7 C& {2 i5 M% p
就是初始化应该是要去读LCD的ID号。或者你问下软件看他是怎么做的。
- C  V% U& u! c) F" i
作者: kingboy945    时间: 2015-8-13 11:43
fallen 发表于 2015-8-12 18:17: w8 f6 ?  E# A* _) G
就是初始化应该是要去读LCD的ID号。或者你问下软件看他是怎么做的。
) ^$ ?$ _# z$ I' U" t5 w1 E
LCD的ID没去读,只有写。# C% T& l1 A6 t

作者: SmartEXP    时间: 2015-8-13 16:34
刚开始入行的时候我画了一个板子,结果就出现类似的问题,后来检查出来是Boot脚悬空:'(:'(
作者: kingboy945    时间: 2015-8-14 18:11
SmartEXP 发表于 2015-8-13 16:343 F$ e/ a. [1 I2 N& q$ E4 r
刚开始入行的时候我画了一个板子,结果就出现类似的问题,后来检查出来是Boot脚悬空
3 y9 ~& W9 ]& [0 }8 {
是bms 没有boot脚
* N% Y/ S2 s, H) F7 n0 f, f
作者: SmartEXP    时间: 2015-8-17 08:31
kingboy945 发表于 2015-8-14 18:11# k( N* N3 `: [, b: b1 Y
是bms 没有boot脚

5 p, k9 ^% h. L) P我那个是STM32的芯片




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2