先说一下,如题,我们使用的是wince平台,看到BSP中开机机制是这样的,Tps65930在接上电源上电以后它就自动给Core,MPU,等几个提供电压,然后Omap37xx就去读取nand flash里面的MLO 文件,也就是xldr,后面程序走到eboot以后等待用户按下PWRON键3S钟再往下运行,直到系统运行起来,否则就给Tps65930发送I2c关机命令,就关机了,此时电流消耗是0mA,现象是一上电就自动打印一条xldr和eboot的串口Log信息在等用户继续按按键才能开机。
好,现在有两个问题是这样的,一个是有时候使用SD卡烧写完了以后不能自动停下来,又开始第二次烧写,一直循环下去,除非你看到烧写完成串口Log信息以后赶快拔掉电源。第二个问题是每次系统开机以后,再次关机,就是发送I2C命令关机以后,或者强制按PWRON键8秒钟时间强制关机,此时电流为0mA,测量Core,MPU等几个电压,都是0V,说明确实关住了,但是不断开电源的话,在不确定的时间,系统就开始自动开机了,一走到eboot,又关掉,然后又自动启动,又走到eboot,又关掉,反反复复,貌似进入来死循环一样,如果此时长按开机键还是能开机的,开机后就都正常了,但是再次关机,又是不确定的时间出现这种问题,很困扰。
是什么导致Tps65930在已经wait-on状态,也就是关机状态,只有32k时钟是运行的,而且已经尝试断开了Omap和TPs之间的Sys_nreswarm引脚的连接,都不行。
硬件设计的参考原理图是TI官方的一个参考设计,电容电阻大小选取都是按照上面来的,请问这是硬件设计问题呢,还是软件对Tps65930哪里配置出了问题,麻烦TI 的工程师给帮忙分析一下。