时间:20160912
一、电源时序排查
1、保证正确的上电时序,一般都会在CPU数据手册中提到。通常不会规定具体的上电先后时间的要求,多数情况下会要求前一个电平上升到90%满幅度之后才可以有下一个电平的开始上升。对于使用TPS65910作为电源管理单元的时候,上电时序会自动完成控制,只要正确的配置PMU的BOOT模式,具体配置要求为:BOOT1=1,BOOT0=0; 所以排查时序,你需要做的事情就是检查CPU与PMU之间的连接是否正确。
2、确保来自PMIC的所有电源轨的电平值都是正确的。检查所有电源轨的稳定电平值,MPU端电源轨电平值不稳定的情况很可能是由于没有正确连接VDDS_MPU_MON而导致的,参考相关EVM设计确认VDDS_MPU_MON是正确连接的,再次需要确认下VDDS_SRAM_CORE_BG 以及VDDS_SRAM_MPU_BB 是否正确连接到1.8V的电压源。
3、检查某些内部LDO输出的电压是否正确(注意这些电压都是内部LDO输出的,相应端口不需要再外接电压源,也不能被用作某些电路的供电电源)。通常这类电源叫做CAP_XXX,如果以下列出的项目电平值不正确,说明内部的某些电源轨配置不正确:
1)CAP_VDD_SRAM_CORE = 1.2V
2)CAP_VDD_SRAM_MPU = 1.2V
3)CAP_VBB_MPU = 1.1V
4)CAP_VDD_RTC = 1.1V (注意:如果RTC_KALDO_ENn管脚配置为低电平,那么CAP_VDD_RTC管脚为内部LDO输出1.1V;如果 RTC_KALDO_ENn管脚配置为高电平,那么CAP_VDD_RTC管脚为电源输入脚,需要外接1.1V的电压源,具体可参考:AM335x Schematic Checklist - RTC Section )
4、系统时钟检查)(19.2, 24, 25, 26 MHz)。
1)如果使用外部振荡器,保证震荡频率落在相应的频域内。
2)如果外接晶体(使用AM3352内部振荡器),务必在 XTALIN 脚有相应频率的正弦波信号, XTALOUT 脚正弦波允许小微的失真。
3)直接连接晶体到AM3352的 XTALIN 和 XTALOUT 之间,确保使用正确的电容取值。
5、检查上电复位信号PORZ。复位信号必须一致保持低电平在整个上电时序过程中,并且等到电源以及时钟频率都稳定后才可以拉高。
二、测试系统是否alive
1、如果有预留Debug串口(UART0),连接串口设备到PC端的串口调试工具,上电会发现串口有不断地打印“CCCC.......”,如果看到如上现象说明ROM已经运行并且正在尝试加载UBOOT。
当然前提是在BOOT启动配置包含串口启动这一项,系统上电后会按照BOOT启动配置进行加载,按照优先级逐个尝试,当前设备无法成功加载的话会自动转到下一级设备尝试启动。如主板BOOT配置如下,则优先级为NAND--NANDI2C--MMC0--UART0,
2、如果BOOT配置了UART0,而上电后看不到串口打印“CCC....”,考虑串口通信有问题。
1)用示波器探头测试UART_TX信号线上是否有信号波形,如果有波形数据而在PC端看不到数据考虑如下几点:是否串口参数设置问题,是否串口芯片有问题,是否串口线有问题
2)串口芯片问题检查技巧(以SP3232为例):
SP3232这类串口芯片原理就不再赘述,简单测试几个点就可以确定芯片是否正常。如下SP3232连接图,
①检查电源VCC是否正常
②测试pin1与pin3 pin4与pin5间电容两端是否有充放电波形,有充放电波形说明功能正常
③测试V+端电压是否为+5.5V, V-端电压是否为-5.5V
以上三项简单测试即可以判断串口芯片是否正常工作。
3、利用CLKOUT1 CLKOUT2输出验证内部系统时钟是否正常。
1)设置 SYSBOOT[5] = 1,会输出系统时钟到CLKOUT1,如果能在CLKOUT1测试到系统时钟信号,则表明内部系统时钟跑起来了。
三、SD卡插入检测不正常问题。
1、采用Micro SD卡进行系统启动,发现BOOT加载失败,测试MMC0与CPU的CLK信号正常。
2、测试SD卡Detect脚电平,未插入SD卡电平上拉为3.3V;插入SD卡,电平没有按照预设的结果电平被拉低,而是仍然保持3.1V的高电平,Deteect检测错误。
3、排查原因,发现是接地的问题。
1)Micro SD卡插入检测原理:Micro SD卡座的第9脚为检测脚,未插入SD卡时电平被上拉到3.3V高电平,插入SD卡时,第9脚弹片被挤压与卡座外壳接触,卡座外壳是接地设计的,所以会将Detect脚电平拉低,从而检测到有卡插入。
2)电路设计问题:系统地与保护地隔离设计,导致出现浮地现象出现,从而造成检测错误。