|
深度解析与求助:PXA3XX的Boot ROM的全部功能与CODE
[复制链接]
公司用MARVELL的PXA系列做了一些项目;
目前有个PXA3XX的项目,在打板回来后,竟然PXA3XX的标配13MHz的晶振无法启振(以前曾未有过的故障)
解决故障的大体步骤如下:
<一>、
首先进行多块单板分别测试,结果都是13MHz的晶振无法启振,说明此问题不是个体问题,很可能是共性问题;
接着检测了焊接,通过更换IC,并检测相关阻抗,得出此故障非焊接的问题;
<二>、
后来根据PXA3XX的Power Up Reset Timing,进行测量:
1、首先系统电源正常;32.768KHz晶振也正常;
2、VCC_BBATT(RTC功能模块的电源)与PXA3XX的nRESET(复位输入信号)以及nBATT_FAULT等对应的时序都正常;
3、SYS_EN、VCC_MVT、VCC_SYSEN、PWR_EN、PWR_SCL、PWR_SDA、nRESET_OUT等电源与信号都已按照相关时序,正确给出。
4、对应的PMU也正常给出VCC_APPS, VCC_SRAM,
因为之前已研发出几款PXA3XX的产品,所以时序等问题,基本都不可能存在问题。
<三>、
当时怀疑由于PCB布局与布线可能存在问题,导致相关信号的信号完整性不好,从而导致13MHz无法启振,主要进行下列排除:
1、13MHz的参考电源VVC_MVT,通过相关测量该电源已经供上,且13MHz功能电路的PXTAL_OUT已经输出1.8V(参考电源VVC_MVT即为1.8V),又PXTAL_IN为0,这些都正常,从而排除VVC_MVT电源信号完整。
2、VCTCXO_EN(PXA3XX使能外部晶振的使能管脚)对应的参考电源VCC_IO1,通过相关测量该VCC_IO1的确存在,而且幅度很符合要求;
<四>、
但是通过测量其他PXA33XX项目的单板的13MHz启振前,VCTCXO_EN会从低电平变成高电平,之后PXTAL_OUT与PXTAL_IN才会产生
1.8V的振荡信号,这是一个疑点;暂时MARK。
<五>、
为了验证与排除NAND FLASH与代码的影响,我把其他PXA3XX项目的单板的NAND FLASH 直接焊接掉,测量时钟,13MHz还是能正常输出。故可排除 OBM代码的影响。
<终>
最后通过仔细排查,发现VCC_SRAM_1P4V存在问题,即PMU采用LDO输出VCC_SRAM,在信号命名上位:VCC_SARM_1P4V;而PXA3XX上则为VCC_SRAM_1P4V,所以两边信号名不一样,从而导致PMU输出的1.4V并没有供给PXA3XX的VCC_SRAM;
最后通过飞线,把它们连接到一起,故障得以解决,13MHz启振。
<疑问>
虽然故障得以解决,但深度问题还是是没有彻底弄清楚,恳请牛人解答,同请大家共同探讨,非常感谢;具体深度问题如下:
1、PXA3XX的Boot ROM的全部功能与CODE
2、13MHz晶振的启动是需要软件进行怎样的配置?
3、软件配置后,VCTCXO_EN即输出高电平,也既是说VCTCXO_EN可当成软件配置13MHz的一个标志?
|
|