微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 求助;ATMEL的MCU启动后,程序跑飞的故障分析

求助;ATMEL的MCU启动后,程序跑飞的故障分析

时间:10-02 整理:3721RD 点击:

一.             故障现象

生产一批机器无法正常开机,液晶屏白屏,软复位几次,有的机器能正常启动,有的还一直白屏。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度),发现大部分不正常的机器又可以正常工作了,不断电的情况下都可以正常工作。。  


以上,请大牛帮忙分析下,问题所在,谢谢!


1 软件确认BOOT跑飞,而且确定卡在SPI-LCD处,对否?
2 去掉SPI_LCD还是会挂?
3 为什么初始化不过这里会挂?软件BUG,还是硬件问题?

补充,上电的时序和电源纹波都有测试过了吗?

1、boot层把LCD初始化去掉,基本上板可以启动2、由于是量产的产品,大部分的板可以用,是软件还是硬件问题不确定。
3、上电时序没有问题,纹波也在正常范围。

那现在问题就体现在初始化不过SPI_LCD了。你现在检查了哪些?1 SPI_LCD供电问题?
2 SPI_LCD的reset问题?
3 SPI_LCD的生产问题,比如短路,虚焊,过孔断裂造成微导通?
4 SPI_LCD的来料问题?
5 软件设置的时序的余量问题?
6 软件应该是去读ID号,对吧。是不是ID号本身设置的问题?

1、前三个都没问题,已经排除。
2、软件上余量的问题,有可能。
3、你说的读取ID是什么意思?boot层软件知识初始化LCD。

就是初始化应该是要去读LCD的ID号。或者你问下软件看他是怎么做的。

LCD的ID没去读,只有写。

刚开始入行的时候我画了一个板子,结果就出现类似的问题,后来检查出来是Boot脚悬空:'(:'(

是bms 没有boot脚

我那个是STM32的芯片

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top