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.

[参考译文] LP-MSPM0L1306:禁用 SWDIO 在 STANDBY 模式下生成过流

Guru**** 2399305 points
Other Parts Discussed in Thread: MSPM0L1306, LP-MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1370450/lp-mspm0l1306-swdio-disable-generates-over-current-in-standby-mode

器件型号:LP-MSPM0L1306
主题中讨论的其他器件:MSPM0L1306

工具与软件:

您好!

我需要使用 MSPM0L1306的 PA19和 PA20引脚、以便禁用"在 SWD 引脚上启用调试"选项。

第一步、我将此引脚默认配置为已清除 GPIO 输出。

编程后、移除微控制器和 ET 调试探针之间的连接跳线。

一切似乎都运行良好、但当处理器进入 STANDBY0模式时、我注意到电流消耗过大(激活 SWDIO 时、电流消耗大于1mA 而不是4µA)。

我尝试了不同的配置(引脚配置为 GPIOinput、IOMUX 清除...) 但没有任何变化。

我还尝试通过软件禁用对 SWD 引脚的调试、但保持不变。

是否还有其他措施可以使 SWD 引脚功能禁用而不是具有此电流消耗?  

感谢您的帮助

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

    您必须 正确地将微控制器置于待机模式。 这通常涉及设置适当的功率控制寄存器。  

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

    您好!

    您可以共享代码吗? 我将自行检查

    此致、

    佐伊

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Zain Nasir:
    感谢您的答复。  
    无论是否禁用 SWDIO、进入 STANDBY 模式是否有区别?  
    因为在取消启用此函数之前、我的应用程序正确进入了待机模式。
    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zoey:

    感谢您关注我的问题。

    以下是一个非常基本的代码示例、该示例通过禁用 syscfg 文件中 SWDIO 引脚的调试功能来显示这种过大的电流消耗。

    我将通过在引脚 J101.5和 J101.6之间插入电流表来测量 LP-MSPM0L1306电路板上的电流。

    已加载程序(未在调试)、并 移除 XDS110-SDWIO 调试探针与微控制器之间 ET 引脚中的跳线。

    系统  每隔3秒在 STANBYMODE0 (LED1熄灭)和 RUN (LED1亮起)之间切换一次。  

    当 启用 SWDIO 函数时、 4µA 和6.47mA 之间会发生测量性电流切换。

    当 SWDIO 函数被禁用时、测量的 电流在 1.08mA 和6.72mA 之间切换。

    希望这可以帮助您找到问题所在。

    此致、

    让-保罗·洛佩斯

    e2e.ti.com/.../ForumTI.zip

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

    您好!

    我看到启用或禁用 SWD 时出现了相同的现象。

    我只移除了所有跳线 J101。 使用功率监控器查看电流。

    结果如下:

    我认为奇怪的结果可能在于测试硬件环境。

    此致、

    佐伊

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

    尊敬的 Zoey:

    感谢您的关注。

    很抱歉、我不明白您的答案。

    您是否在启用和未启用 SDWIO 功能来比较这两种模式的情况下重新编译了代码?

    我的测试硬件环境非常简单:按照第2.6章中《MSPM0L1306 LaunchPad 开发套件用户指南》的规定、使用 LP-MSPM0L1306电路板和电流表进行连接。

    我会停用卡上集成的所有功能、例如 LED (区分开/关模式的 LED1除外)、热敏电阻...
    由于我已经设置了针对低功耗自动将未使用的引脚配置为已清除输出的选项、我看不到硬件环境如何解释启用或不启用 SWDIO 引脚时每个 CPU 的电流消耗差异。

    此致、

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

    您好!

    是的、我只是 在启用和不启用 SDWIO 功能来比较这两种模式的情况下重新编译了代码。

    我 还  编写了一个新的测试代码来检查电流。 请访问 e2e.ti.com/.../E2E_5F00_SWDdisable.zip

    B.R.

    佐伊

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

    您好!

    我终于找到了问题是什么:

    为了避免过多的电流消耗、我必须在编程后进行一个 POR。
    编程后似乎会执行较低的复位级别、某些调试功能保持活动状态。

    感谢您的帮助。

    此致、

    让-保罗·洛佩斯