TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TMS570LC4357:进入/退出 TMS570LC4357 MCU 低功耗模式的建议软件流程

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1430182/tms570lc4357-suggested-software-flow-to-enter-exit-the-low-power-mode-of-tms570lc4357-mcu

器件型号:TMS570LC4357
Thread 中讨论的其他器件:TMS570LS0714

工具与软件:

您好!

阅读 TMS570LC43x TRM 的章节、第2.4.3.1节:

并使 API "void" systemPowerDown (UINT32模式)"可用:

/* sourceId:system_sourceId_007 */
/* DesignId:system_DesignId_007 */
/*要求:HL_CONNQ_SYSTEM_SR8 */
空洞 systemPowerDown (UINT32模式)

/*用户代码 begin (23)*/
/*用户代码结束*/

/*禁用时钟源*/
systemREG1->CSDISSET = MODE & 0x000000FFU;

/*禁用时钟域*/
systemREG1->CDDIS =(MODE >> 8U)& 0x00000FFFU;

/*空闲 CPU */
/*SAFETYMCUSW 88 S MR:2.1. "需要使用 C 语言进行汇编"*/
gotoCPUIdle_();

/*用户代码 begin (24)*/
/*用户代码结束*/

}

我们尚不清楚如何准确地进入和退出 MCU 的低功耗模式(睡眠):

  1. 什么是 是正确的 调用 systemPowerDown 函数?
  2. 不是任何额外的 用户代码 中添加了所需的配置文件、以匹配上面显示的 TMS570LC43x 第2.4.3.1节?

请提供建议。 谢谢你。

John

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

    尊敬的 John:

    我们有一个低功耗模式示例:

    e2e.ti.com/.../TMS570LS0714PZ_5F00_LPMs_5F00_Wakeup.zip

    在这里、他们给出了代码以进入和退出不同的低功耗模式、如睡眠、打盹和 SNOOZE 等

    请参考代码并了解流程、如果这样做对您没有帮助、我将尝试就此提供进一步的帮助。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您提供示例代码、它用于 TMS570LS0714 我看着她的背影。

    在示例代码中、我还看到函数" systemPowerDown '(在...\source\system.c 中)。 您能否告诉我调用此函数时要使用的正确输入参数? 单独调用这个函数、可以进入/退出的低功耗(睡眠)模式是正确的 TMS570LC43 发射源?

    请提供建议。 谢谢你。

    John

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

    尊敬的 John:

    模式输入传递到  systemPowerDown 将决定我们要实现的模式类型。

    例如、如果您验证我的共享代码中的打盹模式例程、

    这里我们将关闭除主振荡器以外的所有时钟源、为此、我们要 向 CSDISSET 寄存器写入0xFE。

    同样、我们将关闭除 RTICLK 之外的所有时钟域、为此、我们向 CDDISSET 寄存器写入0xFFBF。

    如果我们要使用实现相同的模式  systemPowerDown  API、那么我们应该调用如下所示的函数:

    systemPowerDown (0xFFBEF);

    同样、

    使用实现睡眠模式  systemPowerDown  API、那么我们应该按如下方式调用该函数

    systemPowerDown (0xFFFFFF);

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您的反馈。 它也看起来就像执行"systemPowerDown (0xFBFEF);"和"systemPowerDown (0xFFFFF);"就足够了(即 5个十六进制数字 )进入 TMS570LC43x 的打盹模式和睡眠模式。

    谢谢、再次强调、我将研究一下您发送的示例代码。

    John