诡异的死机问题
从串口信息看,每次都死在设置电压和时钟频率的地方;
1、怀疑是电源问题,所以故意增大电源内阻和纹波并与之前对比,死机概率并无明显增加;
2、系统在死机前一段时间会对所有I/O口重新配置,并输出几十毫秒的低电平,软件将此操作去除后也会死机;
3、第一次插电池的时候容易死机;
4、电池电压低时容易死机;
看上去是电源或时钟问题,但跑别的操作系统时不会出现,请各位指点!
从你的信息来看,估计是DC-DC转换有问题,特别是Vcore电压。
能否提供更详细点资料好分析:
1. 什么CPU?电压有几个?电流多少?
2. 电源的原理图?
3. “每次都死在设置电压和时钟频率的地方”, U-BOOT的时候吗?core电压是可变的吗?
4. 电池供电还是电源适配器供电?
5. 对IO配置是什么意思?
1、CPU用的是3730,配的电源芯片是65950,core电压有2个
2、用的核心板,没原理图
3、eboot已经过了,core电压是动态调节的
4、电池供电
5、OS进入系统后会重新初始化部分IO
1)DC/DC转换时什么问题呢,特地做过实验,增加电源内阻,使电源纹波变的很大,
没发现死机概率明显增加,跑android没有问题,不知和软件有没有关系。
2)我怀疑和核心板的GND与PCB的连接有问题,下图为核心板的PCB引脚图,红色框内都是GND,
焊盘都用导线与PCB地层连接并没有铺铜。
小编:跑安卓没有问题,那你用的是什么系统有问题?Linux,wince6.0?MTK的应该多半是wince吧?
不是MTK的吧,3730? 呵呵 没有了解过
1. 你增加电池的内阻实验只能表明增大电源纹波或减少电源电压,并没有观察电压突变的实验;
我让你注意的是,当CPU开始加载驱动的时候,CPU所需要的power就增加,这时候,电压会有一定的变化,看看这个变化大不大。
2. 核心板的GND与PCB的连接没有问题。
3. 你理解错了core电压,3730我用过,这个CPU很稳定的,core电压范围是从1.2到1.5v,DDR2的电压是1.8v,i/o电压可以1.8/3.3v。你重点抓个图,就是当死机的那一颗,着3组电压的电压突变怎么样。
可能是供电问题,建议按楼上建议监控一下电源电压有没有跳变;另外检查PCB中各个电源的路径是否够粗,还有核心板和底板之间的电源、地连接是否能满足要求。
既然跑别的系统没问题,软件可能性还是比较大的
只有在上电的时候会死机呢,还是运行的时候会死机呢?
感谢大家的热情帮助,特别感谢part99;
最近发现,这个原因是由65950的一个bug引起的,
请问你们功耗是怎么处理的,我们的设备功耗偏大
我们不是用电池,所以没有优化功耗。
如果想省电,除了关闭没有用的驱动外,可以降低电压和DDR内存频率。
嗯 有道理 谢谢
学习了
