TI中文支持网
TI专业的中文技术问题搜集分享网站

AM335x电源问题汇总—-板卡稳定性问题的杀手

       在最近支持AM335x的过程中,不时发现有些朋友的AM335x系统板出现各种类似于“稳定性的”问题:系统在一般状况下可以正常的运转,但是一旦遇到重负载、运行至高主频的情况,板卡就会发生死机。这种稳定性问题也算是比较常见,诱因也比较多,Debug思路如下:

       Debug这种问题时,首先一定要确保原理图的设计合理,驱动移植正确。特别要注意DDR这块的设计,DDR3的话一定要做software leveling,此外可通过软件进行DDR的读写压力测试等,来验证是否是DDR的问题。对于这些调试手段,论坛上已有不少文章进行详细的描述。这里,我主要想描述的,是在通过各种手段排除了上述因素后,还需要额外注意的一个因素—-电源质量。这种因素往往比较隐蔽,不太容易被发现,发生概率也不是很高。下面通过一些实际的案例,让大家了解一下这类问题的现象、起因和解决方案,也方便大家在以后的Debug过程中多一些手段。

       案例1:系统可正常上电运转,一旦开启3D加速器,跑些3D demo,系统就出现宕机的情况。

       案例2:比如系统板可以正常上电运行启动,运行Linux也是正常的,但系统轻载跑的时候没问题,但是一旦负载加重(运行比较复杂的大型程序时)便会宕机。

       案例3:系统跑在频率800MHz时一切正常,设置电源跑在1GHz的供电,让AM335x跑在1GHz时会出现死机的情况。

       PS:  以上案例都使用了的TI PMU方案,如果非TI PMU方案,更需要注意这方面的影响。

       从现象上面来说,这三个案例都有个共同点,就是板子一般都是可以正常的启动使用的,仅在某些特定的应用场景中出现了问题,而且不是必发的,有些板子一直正常。并且,DDR3都做过了SL,且读写压力测试都是OK的,DDR方面的因素基本可以排除。这时就需要注意查电源了。

       对于电源的排查,这三个案例的测试过程也都相差无几,主要通过两个手段:

       一,通过示波器抓取相应的供电波形,来辨识电源方面是否存在问题。需要特别注意的是,测试点的选取,一定要选在电源的受电端,即靠近AM335x侧,这样监测到的电压才会比较接近AM335x的实际接收电压(测出线损造成的影响),另外在抓取波形时,一定要用边沿触发的方式,并使用AM335x允许的最低电压作为触发电平(如测试1.1V的VDD_CORE,即使用1.056V的作为触发电平,边沿触发。这样如果能触发成功,则能抓到1.056V以下的波形;如果不能成功,则说明电平值一直在1.056V以上,这种波形是在spec允许范围之内的,没有问题)。

       二,亦可以尝试略微提高VDD_CORE或者VDD_MPU的供电电压,来反向验证这个问题。根据测试情况,一般提高25~30mV供电电压后,再次抓取波形时,抓不到1.056V以下波形即可。

      案例1对比测试波形:

       问题原因及解决方案:一般这种问题在供电端的电压都是正常的,只是由于线损和负载导致AM335x的受电端电压超出了spec要求。案例1增加了25mV电压在VDD_CORE的供电上(因为3D加速模块是通过VDD_CORE来进行供电的)。案例2 , 3把电压余量加在VDD_MPU这一路供电上(因为调整至1G主频时,主要的变化在VDD_MPU电压)。

这里,我们以案例1为范例进行重点分析,分析的过程和结果可以参考下列的分析报告:

AM335x电源问题汇总

shaohua du:

您好,我想问一下,调节电压输出,应该怎么改

haibo hao:

你好,我想问下,开启3D加速器这项,播视频的时候是不是就默认开始跑了

赞(0)
未经允许不得转载:TI中文支持网 » AM335x电源问题汇总—-板卡稳定性问题的杀手
分享到: 更多 (0)