深度解析与求助:PXA3XX的Boot ROM的全部功能与CODE

henyhui   2009-12-11 10:41 楼主
公司用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的一个标志?

回复评论 (9)

不错总结,支持加精,
高手一出,风格很不一样。
点赞  2009-12-11 12:28
pxa3xx是什么内核的,求教的说
点赞  2009-12-11 12:33
引用: 引用 2 楼 amorous 的回复:
pxa3xx是什么内核的,求教的说


Xscale架构,说到底就是基于ARM11的架构。

High-performance processor:
? XScale? microarchitecture with Intel? Wireless MMX? 2 media enhancement technology
? 7-8 stage pipeline
? 32 Kbytes instruction cache
? 32 Kbytes data cache
? 2 Kbytes “mini” data cache
? Extensive data buffering

Up to 768 Kbytes of internal SRAM for high speed code or data storage preserved during low-power states Rich serial peripheral set:
? AC ’97 audio port
? USB v. 2.0 client controller
? USB v. 1.1 client controller
? Up to 3 USB v. 1.1 host controller
? USB on-the-go controller
? Three high-speed UARTs with hardware flow control
? SIR and Consumer IR infrared communications ports
Hardware debug features — IEEE JTAG interface with boundary scan
Hardware performance-monitoring features with on-chip trace buffer
Real-time clock
Operating-system timers
LCD controller
Quick Capture Interface Controller
Low power:
? Dynamic voltage management support
? Less than 500 mW typical internal power dissipation
? Core supply voltage may be reduced to 0.95 V
? Five low-power modes

High-performance memory controller:
? Mobile DDR SDRAM interface
? EMPI and Data Flash interface
? Up to four static chip selects
? Companion-chip interface

Mini-LCD controller
Two Universal Subscriber Identity
Module (USIM) interface
Flexible clocking:
? CPU clock from 104 to 806 MHz
? Flexible memory clock ratios
? Frequency change capability
? Functional clock gating

Additional peripherals for system connectivity:
? SD/SDIO/MMC Controller (with SPI mode support)
? Four SSP controllers
? Two I2C controllers (one targeted for PMIC control)
? Four pulse-width modulators (PWMs)
? Keypad interface with both direct and matrix keys, rotary encoder support
? Most peripheral pins double as GPIOs
点赞  2009-12-11 12:51
13Mhz起振好像和Code没有关系吧,后先是32.765起整个芯片有时钟基础了然后会输出Power 与 SysEN让PMU送电的,3.3 1.8 1.4都进去之后系统才能开始运行code。
你们板子用的那个PMU?
点赞  2009-12-11 15:49
引用: 引用 4 楼 trek 的回复:
13Mhz起振好像和Code没有关系吧,后先是32.765起整个芯片有时钟基础了然后会输出Power 与 SysEN让PMU送电的,3.3 1.8 1.4都进去之后系统才能开始运行code。
你们板子用的那个PMU?


我们当初也是和上楼一样认为; 只要13MHz的参考电源VCC_MVT给出,13MHz就应该启振。但后来发现不是啦
我们的上电时序完整符合PXA3XX的Power Up Reset Timing,结果所有都对,就是13Mhz没有。
只是Power Up Reset Timing没有对时钟的时序。

PMU是NS的LP3972;
另外32.768是RTC对应的VCC_BATT上电就有;而且一直有。
并且SYS_EN、VCC_MVT、VCC_SYSEN、PWR_EN、PWR_SCL、PWR_SDA、nRESET_OUT等电源与信号都已按照相关时序,正确给出。

3.3 1.8是PXA3XX系列的SYS_EN给出后,LP3972就会输出3.3 1.8 给PXA3XX,而1.4是PWR_EN给出后,LP3972才给PXA3XX供给的。
点赞  2009-12-11 16:05
13M的应该是程序可控的。深度睡眠后这个晶振是关闭的,只有那个时钟的好像32K的晶振在工作。

你的故障原因初步分析是,bootrom配置13M晶振,但在配置之前它检查配置片内RAM,当RAM没有供电时,bootrom无法继续执行,也就不能进行13M晶振的配置。32K的那个晶振应该是上电就工作的。
点赞  2009-12-11 21:13
顶楼主  楼主的硬件功力好强 降龙十八掌啊
点赞  2009-12-12 11:35
对ARM不甚了解,留名,以后再看。。
点赞  2010-1-6 20:26
我也留个记号,以后再说
点赞  2010-5-22 16:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复