如图所示,全志T3核心板用在了我们的终端产品上,上电启动的时候,有部分终端出现在uboot启动之前出现如下红框问题,提示ZQ校准错误,DDR初始化失败;问题的关键是30台终端里有3台出现了这个问题,而且上电复现的概率比较高,另外单独测了10台并未发现此问题,所以首要怀疑一是焊接问题;二是物料问题;
首先排查了ZQ的240R电阻,发现没问题;监测了VCC_DRAM与复位信号的时序,也没问题,VCC_DRAM电压也是正常范围内;
然后更换了其中一台终端的T3芯片,问题有所改善,从30%的复现率降到了3%,然后一度以为是T3的问题和其他问题的结合造成的;如果是T3物料的问题,复现率应该完全为0才对;接着继续查找问题,怀疑过是不是T3的core电压不稳造成的,于是多台终端对比测试监测问题出现时和正常启动时各个电压的变化,很遗憾,并无异常;跟厂家沟通,他们的意思是要不把DRAM更换一下试试,也没其他好办法,只能如此,然而并无效果;
接着怀疑是不是做板阻抗不匹配导致的;通过手压DDR部分电路,加热那部分电路等可以改变阻抗的方式进行测试,又失败了;中间还拿去过了一下x-ray排除了焊接问题;
到现在我已经开始怀疑人生了,那段时间工作压力大到失眠,清明假期的时候也在思考问题究竟出现在哪儿。更换T3和DDR都无效果,而且物料都是厂家代理买的,所以排除了物料问题;目前的怀疑方向都已经排除完了,仔细核对原理图设计也不存在问题,一度陷入了沉思。
但是在这个查找问题的过程中,我一直觉得我离真相只有一步之遥;也不知道是不是上天的眷顾,一天下班后也是领导给的最后期限,我又继续摆弄着板子,想着还有哪些方面是遗漏,突然想起之前测的DDR的vref电压有偏差,但是当时好像被别的事情打断了没细看偏差多少,于是马上找来之前做的一版核心板对比测试,一测发现果然有问题;正常的DDR3的VREF电压应该在0.75V,而我这个板子的电压已经达到1V了,但是看原理图设计没错呀,我瞬间想到是可能BOM出错了;果不其然,BOM里的一个电阻写错了阻值,马上把复现率高的终端更换电阻后,自己简单了一下没有问题,第二天交给测试部测了上百次,此问题再无出现。自此,问题解决。
这个问题看到最后其实发现是一个很简单的问题,但是在查找的时候跑错了方向,其根本原因之一是log信息的误导,导致一直怀疑ZQ周边的问题;其二是自己在查找问题的时候没有做好计划,导致东一棒槌西一榔头;其实现在还有一个疑惑点,为什么自测的10台终端上百次都没有复现,T3芯片要检测这个vref电压的,偏差了25%居然都没查出来,这大概率可能是T3芯片对此引脚的冗余度过高造成的。这也解释了为什么第一次换了T3后问题复现率大大降低的原因。