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.

[参考译文] MSP430FR5.8471万:JTAG模式功耗

Guru**** 1099700 points
Other Parts Discussed in Thread: MSP430F2252
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/667654/msp430fr58471-jtag-mode-power-draw

部件号:MSP430FR5.8471万
主题中讨论的其他部件: MSP430F2252

您好,

我的客户有以下问题,您能否推荐解决方案?

我们将MSP430FR5.8471万用作最新的系统控制器
主板系列(以前我们使用的是MSP430F2252)。
我们正在尝试的一项新功能是一种高功率消耗状态
部件置于JTAG模式时发生。 我们没有这个问题
使用MSP430F2252。 我们希望有一些端口配置
不熟悉此零件上需要在零件之后进行设置的
进入JTAG模式。 您是否可以告诉我们或指出我们
至?

谢谢!

Chuchen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Chuchen,

    您能否提供有关客户问题的更多详细信息? 他们是否有相同的代码示例问题?

    此致,
    林氏六音
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,  

    我是目前正在使用MSP430FR5.8471万的实际工程师,尤其是这个问题,希望我能提供更多的背景信息。

    我们的MCU具有一组比较复杂的P1-4端口引脚连接,因此很难使用示例代码测量我们的目标功耗。 如果是这样,我会花时间在其中一个示例中正确配置这些引脚,但即便如此,您也需要我们的原理图和连接的零件引脚说明的片段。 在继续这条道路之前,我想说我非常确信我设置的PIN配置是正确的,或者至少不是此特定问题的根源。

    我已经看到了错误配置的引脚在功耗方面的外观,并且此问题的行为有所不同。 我的假设是,有些东西没有被芯片重置(断言/释放重置引脚)清除,并且与JTAG模块相关。 只有在将JTAG序列发送到PJ引脚后未完全断开MCU的所有电源时,才会出现此错误电源状态。 我相信这会导致JTAG模块即使在芯片重置后仍保持开启状态。

    我已经浏览了该MCU的用户指南,数据表和勘误表,还没有看到JTAG模块的启用位寄存器。 我真的想知道什么寄存器操作可以确保JTAG模块处于非活动状态,就像在低电压BOR重置的情况下一样。 我看了一下sysctl,SYSJMBC和PMMCTL等,但没有找到我要找的东西。 JTAG密码寄存器的软件锁定功能是否会将JTAG模块置于禁用状态?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经使用  slac536j.zip中的msp430fr59xx_lpm3_02.c示例代码确认了这种高功耗状态。 我只编辑了它以删除WDT ISR。

    #include <MSP430-h>
    
    int main(void)
    {
    WDTCTL = WDTPW | WDTTMSEL | WDTSSEL_2 | WDTIS_5;// VLOCLK, 1s中断
    // SFRIE1 |= W技工 经; //启用WDT中断
    
    //配置GPIO
    P1OUT = 0;
    P1DIR = 0xFF;
    
    P2OUT = 0;
    P2DIR = 0xFF;
    
    P3OUT = 0;
    P3DIR = 0xFF;
    
    P4OUT = 0;
    P4DIR = 0xFF;
    
    PJOUT = 0;
    PJDIR = 0xff;
    
    //禁用GPIO通电默认高阻抗模式以激活
    //先前配置的端口设置
    PM5CTL0 &=~LOCKLPPM5;
    
    //时钟系统设置
    CSCTL0_H = CSKEY >> 8; //解锁CS寄存器
    CSCTL1 = DCOFSEL_0; //将DCO设置为1 MHz
    CSCTL2 = SELM__DCOCLK | SESL__DCOCLK | LAST__VLOCLK;
    CSCTL3 = DIVA__1 | DIVM__1; //将所有分隔器设置为1
    CSCTL4 = LFXTOFF;
    CSCTL0_H = 0; //锁定CS寄存器
    
    // P1DIR |= BIT0; //打开LED
    
    __bis_sr_register (LPM3_bits | GIE);
    __no_operation(); //用于调试器
    } 

    在我通过JTAG对部件进行编程,然后断开并重新连接3V电池后,会产生额定电流消耗。 测得的电流为~0.6uA。

    在我通过JTAG (甚至只是通过JTAG序列)对部件进行编程后,将产生高电流消耗,并且从不断开电源。 测得的电流为~129uA。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Robort,

    感谢您的咨询。 我正在对此进行研究,明天将为您提供答案。
    顺便说一下,这是否是真实的用户案例? 通常,编程后应重置设备。

    此致,
    林氏六音
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Ling,感谢您的努力。

    在初始编程过程中,设备加载了一个内部3V电池,其唯一目的是保持MSP的工作状态。 因此,为了解决这一问题,我们需要要求用户在每次MSP固件更新时拆卸机柜并断开/重新连接电池。 显然,这对于现场的设备来说是极其困难的。 话虽如此,我们确实已将RST引脚配置为用于重置功能,并使用该引脚来执行POR级别重置。 遗憾的是,这不会使我们返回到额定功率状态。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Robort,

    测量电流时是否断开了调试器?
    我用您的代码在FR5969 Launchpad上进行了一些测试。 连接调试器并在CCS中自由运行时,电流为130uA。 断开调试器或硬件重置(重置引脚)后,电流为0.7uA。

    此致,
    林氏六音
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们不使用TI调试器。 我们使用自定义软件来处理所有JTAG/闪存器件的编程。 此软件增加了对在JTAG引脚上输入JTAG序列的支持,以启用JTAG模块并接受标准调试操作。 听起来这就是我们所面临的问题,尽管我们需要详细了解调试器“断开连接”时发生的情况。

    MCU上是否发生寄存器操作? JTAG操作是否需要进行? JTAG引脚本身是否需要某种特殊序列?

    我们确实执行了硬件重置(使用为重置模式配置的重置引脚),但没有结果。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Robert:

    您是否已检查此文档?

      

    此致,

    林氏六音

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我会将此信息转发给可以验证是否正在执行此操作的人员。 希望我能在正常工作时间(~6小时后)回复您。 感谢您的快速回复!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ling,我们仍在尝试修改JTAG软件。 同时,我想再次明确地问:

    是否无法从MCU内部释放JTAG控制或“断开调试器”?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否,主控无法自行释放目标设备。 如果端口J处于自由运行模式,则可以设置端口J。
    此设备可与SBW一起正常工作,仅使用测试/重置引脚,不使用端口J
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Robert:

    还有一个问题。 如何测量电流? 额外电源是否可能来自主板的其他部分?

    此致,
    林氏六音
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们正在测量通过我们的电源(在MSP430的电池连接器上注入3V)获得的电流消耗。 在LPM3模式下,我们的额定电流消耗为1uA,当使用之前提供的示例代码时,该电流降至0.6uA。 当我们看到~130uA的JTAG模式时,与任何主板引脚交互时(例如,拔除RST/VCC/GND高或低以外的所有引脚),没有电流波动,因此我不相信这是任何外部的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Robert:

    很抱歉耽误您的时间。 要回答有关从CPU端重置JTAG的可能性的问题,您可以执行的最强大的操作是生成SW BOR。 相应的位放置在PMMCTL0寄存器中。 这是PMMSWBOR。

    如果这不能解决问题,则很可能没有其他解决方案,只有使用JTAG通信。 原因基本上是JTAG/调试逻辑- CPU关系背后的系统理念。 JTAG需要能够控制器件的CPU端,而不是相反,因为这会产生其它无法解决的问题。

    此致

    彼得

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于延迟回复,我们深表歉意。 我们已确定并修复了该问题。 仔细查看上述文档 www.ti.com/.../slau320ac.pdf 和图1-12后,我们意识到我们错误地启用了BSL条目。 应用适当的输入顺序后,我们没有看到大电流消耗。

    在附带说明中,通过PMMCTL寄存器使用软件BOR没有任何效果。

    感谢大家的帮助。