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.

[参考译文] AM62P-Q1:AM62P:希望了解有关"仅 DEEPSLEEP/MCU"模式的更多详细信息

Guru**** 2466550 points
Other Parts Discussed in Thread: AM62P, SK-AM62P-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1449471/am62p-q1-am62p-hope-to-get-more-details-for-deepsleep-mcu-only-mode

器件型号:AM62P-Q1
主题中讨论的其他器件:AM62PSK-AM62P-LP

工具与软件:

您好、TI:

我在 SDK10.0的版本说明中发现了一个关于 DEEPSLEEP 的新功能。

对于仅 MCU 模式、我有一些问题。

仅 MCU 模式下 SoC 的电流消耗是多少?

仅 MCU 模式下外围器件的电源状态是什么?

从仅 MCU 模式引导到主域启动需要多长时间?

此致

Chunfu

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

    尊敬的 Chunfu:

    [报价 userid="495650" url="~/support/processors-group/processors/f/processors-forum/1449471/am62p-q1-am62p-hope-to-get-more-details-for-deepsleep-mcu-only-mode "]仅 MCU 模式下 SoC 的电流消耗是什么?

    请参阅 Linux SDK 10.0测量: https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/10_00_07_04/exports/docs/devices/AM62PX/linux/SDK.html#low-power-performance Linux_Performance_Guide

    这些测量是在 AM62P TI EVM (SK-AM62P-LP)上运行的。 MCU 不会运行任何内容、因此仅 MCU 模式下的功耗将取决于内核上运行的应用。 IO 电源轨(DVDD_1V8/3V3和 VDDA_1V8)取决于系统。

    从仅 MCU 模式引导到主域启动需要多长时间?

    您能解释一下这意味着什么吗? 您是否在问从唤醒事件到 Linux 恢复的时间?

    此致、

    Anshu

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

     Anshu、您好!

    感谢您的 答复。

    您能解释一下这意味着什么吗? 您是否在问从唤醒事件到 Linux 恢复的时间?[/QUOT]

    是的、我想知道从唤醒事件到 Linux 在仅 MCU 模式下恢复的时间。

    此致

    Chunfu

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

    尊敬的 Chunfu:

    我将进行测量、并在明天一天结束时回复结果。

    此致、

    Anshu

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

    尊敬的 Chunfu:

    将器件暂停到仅 MCU 模式需要80ms。 器件处于仅 MCU 模式并触发唤醒事件后、需要159ms 才能恢复到 Linux。

    请注意、这些测量使用默认的 Linux SDK 进行、若要进一步优化、可以禁用未使用的驱动程序。 打印内核消息往往会增加延迟。

    此致、

    Anshu

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

     Anshu、您好!

    我们要测量深度睡眠模式和仅 MCU 模式的功耗、因此我想知道:

    1.如何强制 SoC 进入深度睡眠模式还是仅 MCU 模式?

    2.如何配置 MCU R5F 作为通用处理器或安全处理器工作? 正如我从 TRM 中了解到的、 安全运行时不支持深度睡眠模式。

    3.如何确认 SoC 是处于 深度睡眠模式还是仅 MCU 模式?

    4.如何为深度睡眠模式或仅 MCU 模式配置唤醒事件?

    此致

    Chunfu

     

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

    尊敬的 Chunfu:

    请参考用于低功耗模式的 Linux SDK 文档: https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/10_00_07_04/exports/docs/linux/Foundational_Components / Power_Management / pm_low_power_modes.html

    1. 如何强制 SoC 进入深度睡眠模式或仅 MCU 模式?[/QUOT]

    上面的链接中记录了这一信息。

    2. 如何配置 MCU R5F 以使其用作通用处理器或安全处理器? 正如我从 TRM 了解到的、 安全运行时不支持深度睡眠模式。[/QUOT]

    请为此商品创建单独的 E2E 主题、以便其他工程师提供帮助。

    3. 如何确认 SoC 是处于 深度睡眠模式还是仅 MCU 模式?[/QUOT]

    在 TI EVM 上、有一个 LPM_PMIC_EN 信号连接到测试点以对此进行测试。 您还可以参考 SYSFW 日志来跟踪 TISCI 消息事务: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1323581/faq-processor-sdk-am62x-a-p-how-can-we-debug-deep-sleep-on-am62x-am62a-am62p-using-sysfw-trace?tisearch=e2e-sitesearch&keymatch=deep%20sleep%20debug#


    4. 如何将唤醒事件配置为深度睡眠模式或仅 MCU 模式?[/QUOT]

    这在器件树中完成、并在上面的 SDK 链接中记录。

    谢谢!

    Anshu

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

    尊敬的  Anshu:

    阅读完链接内容后、我有以下问题:

    1.您能  详细解释一下系统挂起的软件架构中提到的"设备约束"吗? 我想知道可能的选项及其含义、可以设置哪些进程、是否可以在 Linux 的用户空间中设置以及如何设置。

    2. mem/disk/freeze 的 rtcwake 命令-m 选项的含义是什么,它们的区别是什么?

    3.是  /sys/power/state?中的 mem/disk/freeze 选项

    此致、

    Chunfu

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

    Chunfu、您好!

    1. 您能否  更详细地解释系统挂起的软件架构中提到的"设备约束"?

    TISCI 用户指南: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/lpm.html#tisci-msg-lpm-set-device-constraint 中介绍了器件限制

    https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/pm/lpm.html#tisci-msg-lpm-set-latency-constraint

     mem/disk/freeze of rtcwake 命令的-m 选项有何含义、以及它们的区别? [报价]

    我将从软件开发团队那里获得有关这方面的澄清说明。 请您在下周早些时候提供回复。

    谢谢!

    Anshu

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

    尊敬的 Chunfu:

    rtcwake 和/sys/power/state 编写代码时、 仅存储器 受 Linux SDK 支持。 Linux SDK 不支持磁盘和冻结。 它们可能起作用、但 TI 无法保证行为正常、也无法为 E2E 论坛上的这些项目提供支持。

    有关通用 Linux 电源状态的更多信息、请参阅此处: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/Documentation/admin-guide/pm/sleep-states.rst?h=ti-linux-6.6.y


    此致、

    Anshu

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

     Anshu、您好!

    我们测量了 EVM  一侧的功耗、仅 MCU 模式为1.440W、深度睡眠模式为0.314W、这两个功耗都大于上面提供的基准。

    我想知道:

    1.默认情况下在深度睡眠模式下, 这4个 唤醒源的控制器是否会关闭 (实时时钟、主 I/O 菊花链、USB 唤醒、WKUP UART)? 如果这些控制器中的任何一个 默认未关闭、我可以手动关闭它吗?

    2.可以   通过禁用一些未使用的功能来进一步降低深度睡眠模式的功耗吗?

    此致、

    Chunfu

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

     wihi Chunfu、

    请说明您是如何在低功耗模式下测量功耗的。


    1. 默认情况下、在 DEEP SLEEP 模式下、 这4个 唤醒源的控制器是否会关闭 (实时时钟、主 I/O 菊花链、USB 唤醒、WKUP UART)? 如果这些控制器中的任何一个 在默认情况下未关闭、我可以手动关闭它吗?[/QUOT]

    不可以、它们不会 关闭、但如果关闭它们、就不会节省大量功耗。


    2. 我可以   通过禁用一些未使用的功能来进一步降低深度睡眠模式的功耗吗?[/QUOT]

    禁用未使用的功能(如驱动程序)只会更改暂停和恢复时的延迟、而不会改变功耗。 您可以将未使用的 IO 置于复位状态以降低 IO 功耗。

    此致、

    Anshu

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

     Anshu、您好!

    这里是我测量功耗的方法。 如果有任何步骤不正确、请乐意指出。

    我使用的 SDK 版本是09.02.01.10、使用默认映像、没有任何变化。

    在测试期间、仅连接了 EVM 板的 FTDI Micro-USB 和 Power Only USB-C。 我的电源能够显示实时电压和电流。

    进入 DEEP SLEEP 模式的命令为

    echo 250 > /sys/devices/system/cpu/cpu0/power/pm_qos_resume_latency_us
    devmem2 0x43018080 w 0x15
    echo mem > /sys/power/state

    在这些命令之后、我可以从 MCU 看到此打印内容: [IPC RPMSG echo]关闭所有驱动程序并转到 WFI...!!

    进入 仅 MCU 模式的命令为

    echo 100 > /sys/devices/system/cpu/cpu0/power/pm_qos_resume_latency_us
    echo enabled > /sys/bus/platform/devices/79000000.r5f/power/wakeup
    devmem2 0x43018080 w 0x15
    echo mem > /sys/power/state

    在这些命令之后、我可以从 MCU 看到此内容:[IPC RPMSG ECHO]在该终端上按正弦键、从仅 MCU 模式恢复内核

     

    2.您能详细介绍一下如何 将未使用的 IO 置于复位状态吗?

    3、如何准确 测量恢复时间?

    此致、

    Chunfu

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

    尊敬的 Chunfu:

    根据收集的数据、可能会测量整个电路板(而不仅仅是 AM62P SoC)的功率。 这将导致大于预期的功耗。

    2. 您能否详细介绍如何 将未使用的 IO 置于复位状态?

    此时变化不大(1-2mW)、因此我们现在跳过这一步。


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

     Anshu、您好!

    非常感谢您对功耗的回答、但我对唤醒延迟还有一些疑问。

    1.我测量了仅 MCU 模式的唤醒延迟、大约为317ms、远高于您提供的链接中显示的133.9ms。 我的测量 环境是相同的。 主要原因可能是什么?

    2.是否有方法可以测量 MCU R5从深度睡眠模式的唤醒延迟?

    3.从深度睡眠模式中唤醒 SoC 时遇到问题。 WKUP UART 和 USB 唤醒方法似乎默认处于禁用状态。  您能否提供用于启用 WKUP UART 或 USB 唤醒方法的详细参考?

    此致、

    Chunfu

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

    尊敬的 Chunfu:

    1. 我测量了仅 MCU 模式的唤醒延迟、大约为317ms、远高于您提供的链接中显示的133.9ms。 我的测量 环境是相同的。 主要原因可能是什么?

    我需要进一步了解这一点。 请等待一段时间、以便对此项目作出答复。 请注意、默认的 Linux SDK 旨在启用大多数功能(以及各自的驱动程序)、因此默认情况下不会优化恢复延迟。

    2. 是否可以通过某种方法测量 MCU R5从深度睡眠模式的唤醒延迟?[/QUOT]

    目前没有现成的数据、但您可以尝试通过一个简单的测试、仅测量深度睡眠和 MCU 之间的延迟。 理论上、此差值的大多数将是 MCU 及其外设。

    您能为我提供启用 WKUP UART 或 USB 唤醒方法的详细参考吗?

    有关启用唤醒源的信息、请参阅 Linux SDK 文档: https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/10_00_07_04/exports/docs/linux/Foundational_Components / Power_Management / pm_wakeup_sources.html

    此致、

    Anshu

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

    尊敬的  Anshu:

    我已经阅读了 "唤醒源"部分、并在提出第三个问题之前进行了尝试。 我无法通过在 WKUP UART 终端上按任意键或者插入或拔下 USB 设备来将 SoC 从深度睡眠模式唤醒。 帮助我解决问题。

    此致、

    Chunfu

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

    尊敬的 Chunfu:

    这是在 TI EVM 还是定制硬件上完成的?

    您能否提供暂挂日志?

    此致、

    Anshu

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

    尊敬的  Anshu:

    该测试在 TI EVM 板上完成。

    附件是来自 Main/WKUP/MCU UART 的日志。

    此致、

    Anshu

    e2e.ti.com/.../main_5F00_uart_5F00_log.txte2e.ti.com/.../wkup_5F00_uart_5F00_log.txte2e.ti.com/.../mcu_5F00_uart_5F00_log.txt

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

    尊敬的 Chunfu:

    首先、让我们尝试使用 RTC 唤醒、确保它能够正常地暂停和恢复。 而不是"echo mem (回显存储器/sys/power/state)"、请使用"

    rtcwake -s 10 -m mem' 


    如果此操作不起作用(意味着它不会暂停、然后在大约10秒后恢复)、这意味着在暂停期间出现问题。 您可以参阅此 E2E 常见问题解答以进行进一步调试: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1323581/faq-processor-sdk-am62x-a-p-how-can-we-debug-deep-sleep-on-am62x-am62a-am62p-using-sysfw-trace

    此致!
    Anshu

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

    尊敬的  Anshu:

    很抱歉迟到了。

    我尝试了 rtcwake 命令、系统在大约10秒内无法恢复。

    按照您的指南、我得到了日志。 请帮我检查并解决问题。

    此致、

    Chunfu

    e2e.ti.com/.../deepsleep_5F00_parsed_5F00_log.txt

     

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

    尊敬的 Chunfu:

    从日志中看到、看上去像是最后一个 A53进入了 WFI。 是否对 Linux 进行了任何其他软件更改?

    谢谢!

    Anshu

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

    尊敬的  Anshu:

    Linux 内核映像是从干净的 SDK 构建的、我只 根据您的指南修改了 ti_sci_cmd_set_io_isolation ()函数。

    1.您是否发现日志中有任何问题?

    2.如何进一步调试从深度睡眠模式中唤醒失败的原因?

    3、您是否试图在您的身边重现问题? 我认为可以通过使用 SDK 的默认图像轻松复制。

    此致、

    Chunfu

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

    尊敬的 Chunfu:

    我使用了 AM62P 默认 Linux 映像、但没有看到这个问题。

    如常见问题解答中所述、"ti_sci_cmd_set_io_isolation"的更改会影响唤醒功能。 尝试将其删除。



    此致、

    Anshu

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

    尊敬的  Anshu:

    非常感谢。 我在这边再次尝试、我最终 发现导致失败的是命令"devmem2 0x43018080 w 0x15"。 我现在可以不使用此命令唤醒内核并测量恢复时间。

    1.您能解释为什么命令"devmem2 0x43018080 w 0x15"导致失败吗?

    2.我已经测量了仅 MCU 和深度睡眠模式的唤醒延迟、这些延迟超过 300ms、并且远高于您提供的链接中显示的133.9ms。 主要原因可能是什么?

    此致、

    Chunfu

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

    尊敬的 Chunfu:


    您能解释为什么命令"devmem2 0x43018080 w 0x15"导致失败吗?

    这看起来 DM 固件会屏蔽 PMIC_LPM_EN 信号、而不是将信号从高电平更改为低电平。 这会导致 PMIC 认为 SoC 处于不同的状态。

    这本书的时长超过 300ms 并且远高于您提供的链接中显示的133.9ms。 主要原因可能是什么?

    默认的 Linux SDK 不会优化唤醒延迟。 此外、内核生成的每个 printk 语句都会增加延迟。

    此致、

    Anshu