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.

MSP432P401R 进入LPM3

MSP432P401R, 用SDK 3_40 和 SDK 3_20 里面的goto_LPM3例程, 

测试的功耗不对, 我自己的一个板子, 只带了最小系统,晶振 32768 和 48M。

最小系统板用该例程,功耗在30多mA , 用红色的lanchpad 功耗竟然是127mA 。

用LxFT 的例程,进LPM0 ,功耗在 500多uA, 看着应该是没有问题的。

 现在问题就是进LPM3 的功耗不对,例程代码我一点都没有改。

另外还有一个问题, 我们自己产品的板子, 用我们自己的程序, 可以进入到LPM3.

功耗大约在20uA 以下, 当然可能会有点外围期间的功耗。

但是同样的程序, 在某些板子上LPM3 的功耗, 会在50uA 左右,相差了30uA。

经过排查, 功耗锁定在单片机里, 后来单独将该单片机做到一个最小系统板上, 

同样的程序,在正常的单片机上和这个功耗高的单片机上,还是差了15个uA 左右。 

为了排查这个问题, 我想用TI 官方的SDK 进入LPM3 来对比一下两个板子, 发现用该例程, 功耗都在30mA 左右,

看代码运行逻辑应该是对的, 按键会触发IO 动作, 进入LPM3 后, MCLK 会停止。 

但是功耗就是不对。

 

请问, 这种情况我该怎么去排查, 或者哪里可能有问题?

谢谢!

  • 使用开发板测试的话,请确保位于板子上半部分的XDS调试器的跳线断开连接,以确保通过通电不会损失任何电流。或者将开关移至“ ext debug”
  • 确认过,跳线全部断开了, 功耗还是不对, 按键会点亮和熄灭P1.0的LED灯, 监测到的功耗差3个mA 左右, 应该就是LED 开和关的功耗。 单片机的功耗这么弄就100多mA 了。
  • 我烧录的是 msp432p401_pcm_03来测量的,即使是连接了跳线,用万用表测量是398uA

    另外参考下

    e2e.ti.com/.../657260
  • 可能是我的lanchpad 有问题了吧, 我测试了其他几个例程,GPIO toggle 和 Lxft start, 两个例程 lanchpad 的功耗都在100多mA。 我用我自己的板子功耗在1mA多,以及 0.5mA多, 看着是正常的。
    我先不管lanchpad的问题了。

    现在有两个问题, 一个是我用LPM3的例程, 我自己的板子看着也进步了LPM3, 功耗在30mA 左右, 但是可以进LPM0 , 这个就很奇怪了。
    另外一个问题就是, 我们的板子,同样的程序, 都是进LPM3 , 功耗确相差了10多个uA , 而且功耗锁定在单片机里, 这个我想不明白会是哪里的问题。 而且这个问题是在每个批次的产品里会出现那么十几个。
    请问有什么思路吗, 我该怎么去排查?
  • user1600444 说:
    一个是我用LPM3的例程, 我自己的板子看着也进步了LPM3, 功耗在30mA 左右, 但是可以进LPM0 , 这个就很奇怪了。

    您是指板子无法进入LPM3? 使用TI例程也无法进入?

    user1600444 说:
    另外一个问题就是, 我们的板子,同样的程序, 都是进LPM3 , 功耗确相差了10多个uA

    是另外的板子?和您上面说的板子不同?现在是如何测量的呢?一般来说进入LPM3的功耗也就是十几个uA

    之前的MSP430,有专门的功耗测量FAQ,对MSP432基本都可以适用,您可以参考一下

    https://e2echina.ti.com/question_answer/w/faq/467.msp430 

  • 问题一: 我自己的板子, 用TI 的例程, 也是进不了LPM3, 我的板子上什么外围也没有, 只有单片机的最小系统。 但是跑LPM0 的例程,是可以的。

    问题二: 我自己的两个板子(同样只有最小系统), 跑我自己的一个程序(这个程序还有很多其他的功能), 可以进入到LPM3,两个板子进入到LPM3 之后功耗相差了十几个uA, 一个在9uA 左右, 一个在20多个uA, 我是串接电流表以及我用的智能电源,两边都可以读取到电流值。

    我们的产品(有很多其他的外围器件), 刷我们的程序(同问题二的程序),可以进入到LPM3,一般正常产品此时的功耗在20uA 左右, 但是每个批次,都会出现一些产品功耗多了十多个到二十个左右的功耗。 最终我们把功耗异常范围缩小到了单片机这边。
    所以我们搞了两个板子, 只有单片机的最小系统, 想单纯测试两个板子的LPM3功能。 结果跑TI 的例程, 无法进入到LPM3状态。
    跑我们的程序,可以进入到LPM3状态, 两个板子的功耗确实相差了十几个uA。这也就证实了功耗异常的问题,是出在单片机里,我们现在就想研究为什么会出现功耗异常。
  • 若是可以的话,可以私信一下您的工程吗?另外您现在测试的2个板子硬件上是完全相同的?
  • 硬件是完全相同的,我再尝试一下, 不行再给你发
  • 好的,您可以私信发给我
  • 哈喽, 我已经私信发你代码了, 但是没有收到你的回复呢。
  • 可能是我的lanchpad 有问题了吧, 我测试了其他几个例程,GPIO toggle 和 Lxft start, 两个例程 lanchpad 的功耗都在100多mA。 我用我自己的板子功耗在1mA多,以及 0.5mA多, 看着是正常的。

    这个可能是您测试的问题,测试launchpad的话,是需要去掉板子上的跳线的. 我测试例程的话,大约十个uA

    我们的板子,同样的程序, 都是进LPM3 , 功耗确相差了10多个uA

    我直接用您私信给我的代码配合launchpad,功耗测试结果如下

    而我在注释掉// BSP_Init();及去掉5.3的按键设置后测量结果如下

    但是并没有出现同一程序功耗相差10几个uA的情况

  • 哈喽,小姐姐, 非常感谢你的帮助。
    我复查了一下, 发现了我用TI 的demo 跑LPM3 时,功耗在30多mA 的问题了。
    是因为 P5.6 和 P5.7 我接了V3.3 和 GND 了, 打算用来做 Vref 的。
    TI 的demo 里把所有的IO 设置成输出0了, 所以造成了 3.3 v 和 GND直接接上的情况。

    我后续在TI 的demo 里修改了这两个管脚的设置, 现在我自己的板子可以正常进LPM3了。
    还是回到我最初的问题, 我有两个板子, 问题板 和 正常板, 两个板子都没有接额外的外设,只有P5.3接了一个按键。

    现在我用TI 的demo, 跑LPM3
    正常板 功耗在 0.66uA 左右, 这个和手册上是可以对应上的。
    问题板 功耗在18uA 左右, 这个多出来的功耗肯定是在单片机内部的。

    我们认为是这个单片机出了问题了, 不过只是功耗的问题, 其他功能都是正常的。
    我们就怕这种现象会对可靠性产生影响, 因为一个批次里总会出那么十几个这种现象。

    所以想问一下, 我该再怎么去查这个问题, 还有什么需要考虑的点?
  • 你好,

    建议把有问题的板子上的MSP432和没问题的板子上的MSP432互换一下,如果互换后发现增加的功耗是跟随着芯片的,那就说明确实是芯片问题。

    请问你的故障率是多少,能否附上最小系统的原理图?

  • 根据datasheet, LPM3应该在1uA左右。不管如何你的8uA的也是偏高。

    我拿launchpad实测了一下,大约1.8uA,没拔跳线帽。测试代码如下。建议你重新测试一下。8877.msp432p401x_rtc_lpm3_01.c

  • 您好, 我后来调好了程序 , 用SDK里的 go to lpm3 例程调的。

    调完之后, 我的正常的板子, 0.66uA , 我看和datasheet 应该是一致的。

    不过我的文件版本好像和你的不一样哦。

    不正常的板子, 18uA 左右。

    我们已经确认过, 现象确实是跟着单片机走的。最小系统部分的电路如下。

    我们一个批次出现了问题的概率为3% ~ 4%  左右, 我们一个批次量不大, 所以4%这个量级对我们来说就有点高了。

    所以希望排查一下, 看看是哪个地方导致的。

  • 一般功耗大,可能是因为ESD把引脚打坏的,比如在装机或运输过程中。但这个几个uA的问题很难通过ATE测试发现,能否联系负责你们的TI sales,寄几片给我们来测试一下。

  • 好的, 非常感谢。
    我这边再测试一下IO 的功能, 另外联系一下销售, 寄几片过去。