This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Omap37xx + Tps65930 关机后不定时 自动启动、重启问题

Other Parts Discussed in Thread: TPS65930

先说一下,如题,我们使用的是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 的工程师给帮忙分析一下。

  • TI的工程师今天没上班吗,顶一下

  • 用的是WinCE6么?又在我们的参考板上复现这个问题么?

  • 是wince6 ,这个问题出现不是确定性的,偶尔会出现,当时的电流大概是100mA左右,一直在重启。

    我们平台工作在Master C021模式,也就是Omap模式。

    不知道Tps65930的power-up sequence有什么特殊的要求,这些都是wince的BSP里面做好的,基本上没调整过什么,都是在InitT2PowerSequence()函数里面做好的,包括屏蔽中断,配置sleep to active,active to sleep,warmreset的sequence。

  • 我觉得你可能要查一下TPS65930的reset电路部分,感觉是TPS65930被不断重启和唤醒。

    我们的demo板印象里没这个问题的

  • 基本找到问题在什么地方了,对CFG_P1_TRANSITIONCFG_P2_TRANSITIONCFG_P3_TRANSITION,这几个寄存器的第三位STARTON_RTC配置的问题,

    默认是1,
    Indicates whether an OFF-to-ACTIVE or SLEEP-to-ACTIVE transition for P1 is affected when an RTC request occurs

    可能是我们平台不知道什么原因RTC唤醒时钟被设置了,结果导致在不确定时间,Tps65930从wait-on被唤醒到active状态,然后又在eboot执行关机命令,有可能是alarm哪些标志位没有清除掉,又被唤醒,又关机,似乎进入到一种“死循环”状态,所以Tps65930始终是在restart,串口也就一直打印xldr和eboot开始部分的log信息。


    解决方法是,暂时先屏蔽掉RTC对系统的唤醒,等后面查清问题了,再使用该功能。