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.

[参考译文] AM62D-Q1:关于通过 AM62Dx 处理器实现低功耗嵌入式系统的阐述

Guru**** 2964790 points

Other Parts Discussed in Thread: AM625, AM623, AM620-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors

器件型号: AM62D-Q1
Thread 中讨论的其他器件: AM625、 AM623、 AM620-Q1

尊敬的 TI 支持团队

我们正在开展一项汽车计划、正在探索采用 AM62D SitaraRegistered处理器 (AM62D24AVGHIANFRQ1) 拟议的低功耗模式功能之一的可能性。

我们已经分析了以下文档

https://software-dl.ti.com/processor-sdk-linux/esd/AM62DX/latest/exports/docs/linux/Foundational_Components lpm/pm_low_power_modes.html#lpm-modes Power_Management

https://software-dl.ti.com/processor-sdk-linux/esd/AM62DX/latest/exports/docs/linux/Foundational_Components / Power_Management / pm_sw_arch.html

和辅助页面、以及对 AM62D SitaraRegistered处理器技术参考手册的深入介绍

我们的系统配置如下:

  • 在 R5 唤醒内核上、FreeRTOS OS 正在运行与 AVB 相关的所有功能、并且 A2B 外设连接到它(通过 I2C 配置);
  • 在 R5 MCU 内核上、Autosar Stack 负责所有与诊断和 SOME/IP 通信相关的特性;
  • 在 A53 内核上、Linux 发行版正在运行、以实现需要大量计算的功能。

我们想就“仅 MCU“和“深度睡眠模式“之间的最佳方法提供一些建议(优缺点)、从而反过来了解哪些外设可以完全关断、哪个外设必须保持活动状态、如何处理我们的硬件 WD(由 R5 Autosar 通过 I2C 管理的外部 PMIC)、以及如何处理 eMMC、A2B、eth 等外设。主要由 eMMC 唤醒 (A53) 供电、仅由外部 PMIC 供电。

我们有几个问题:
https://software-dl.ti.com/processor-sdk-linux/esd/AM62DX/latest/exports/docs/linux/Foundational_Components linux/linux/pm_low_power_mode.html#lpm-modes 明确提及“RT(实时)Power_Management 不支持任何低功耗模式“。 您能详细介绍一下这意味着什么吗?

由于我们有一个由 R5 Autosar 通过 I2C 管理的外部 WD(外部 PMIC)、因此您建议将窗口增加到无限并将系统置于挂起至 RAM(深度睡眠模式)、还是更好地仅使用 MCU 并使 R5 唤醒和 R5 Autosar 保持启动和运行?

对于深度睡眠模式、您是否建议 R5 唤醒和 R5 自动运行进行冷启动? 需要重新配置附加的外设、因为它们的电源最终将被关闭。

最后但同样重要的是:您是否有一份应用手册、其中包含两种用例的详细说明(其他:www.ti.com/.../sprad41.pdf)?

谢谢

BR

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

    您好:

    我将进一步研究这一点、并在星期一上的一天结束时回复您。

    谢谢、

    Anshu

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

    您好:

    对延迟深表歉意。

    您能否提供有关您的用例和系统的更多详细信息? 请注意、这是一个公共论坛、因此如果需要、请通过您的 TI 代表共享信息。  

    AM62 系列器件的低功耗模式适用于广泛的市场和工业客户。 因此、对于汽车用例、您应该注意一些重要信息:

    如果您有安全要求、请告知我们。

    我们想就“仅 MCU“和“深度睡眠模式“之间的最佳方法提供一些建议(优缺点)

    深度睡眠和仅 MCU 之间的唯一区别是 MCU 内核在低功耗模式下的状态。 仅 MCU 模式旨在使 MCU 内核保持在线状态、以便其可以在 SoC 其余部分处于睡眠状态时在后台运行某个过程。 在深度睡眠模式下、没有内核可供后台应用程序运行。

    深度睡眠模式和仅 MCU 模式具有相同的唤醒源、但仅 MCU 模式允许通过 IPC 唤醒 MCU 内核。 有关唤醒源的完整列表、请参阅此处: https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/latest/exports/docs/linux/Foundational_Components / Power_Management / pm_wakeup_sources.html

    nderstand 哪些外设可以完全关闭、哪些外设必须保持活动状态、

    您能否阐明是指您的 PCB 外设还是 SoC 的外设总线(i2c、UART 等)?  

    “RT(实时)Linux 不支持任何低功耗模式。“ 您能详细介绍一下这意味着什么吗?

    RT Linux 和电源管理(包括低功耗模式)是 Linux 内核的相反功能。 对于 RT Linux、您希望确定性能够帮助您预测任务是否在给定的时间范围内完成。 电源管理能够更改时钟速度并进入低功耗模式、这消除了 RT Linux 的确定性优势。

    由于我们有一个由 R5 Autosar 通过 I2C 管理的外部 WD(外部 PMIC)、您建议将窗口增加到无限并将系统置于挂起至 RAM(深度睡眠模式)、还是更好地仅使用 MCU 并保持 R5 唤醒和 R5 Autosar 启动和运行?[/quot]

    对于深度睡眠模式和仅 MCU 模式、无需更改 PMIC 状态。 问题是、您需要在什么条件下进入低功耗状态? 在这些情况下、MCU R5F 是否需要运行?

    在深度睡眠模式下、您是否建议 R5 唤醒和 R5 autosar 冷启动? [/报价]

    对于深度睡眠模式和仅 MCU 模式、上下文会在暂停之前保存到 DDR 中。 因此、无需冷启动。

    最后但同样重要的是:您是否有应用手册、其中包含两种用例的详细说明
    [/quote]

    您提供的链接已损坏。 请确认这是同一个文档: https://www.ti.com/lit/wp/sprad41/sprad41.pdf

    本文档是为 AM62x(AM623、AM625、AM620-Q1 等)编写的。

    此致、

    Anshu

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

    非常感谢 Anshu 的答复。

    在线我有更多的问题。

    低功耗模式仅在 SPL 引导中受支持、不在 SBL 引导

    关于这一点、有什么可能有更多的细节? 我知道 图 6-31。  AM62D SitaraRegistered处理器的 DEEPSLEEP 复位处理
    《主机接口技术参考手册》

    如果您有安全要求、请告知我们。

    不、我们没有此类要求。

    您能否说明是指的是 PCB 外设还是 SoC 的外设总线(i2c、UART 等)?  [/报价]

    我指的是 PCB 上的外设。

    RT Linux 和电源管理(包括低功耗模式)是 Linux 内核的相反功能。 对于 RT Linux、您希望确定性能够帮助您预测任务是否在给定的时间范围内完成。 电源管理能够更改时钟速度并进入低功耗模式、从而消除 RT Linux 的确定性优势。

    我们计划使用 Linux RT、因为某些软件组件需要对特定线程具有实时功能(渲染等)。 这是否意味着、使用此内核补丁、我们将无法将 A53 或器件置于“深度睡眠“或“仅 MCU“模式?

    对于深度睡眠模式和仅 MCU 模式、都无需更改 PMIC 状态。 问题是、您需要在什么条件下进入低功耗状态? 在这些情况下、MCU R5F 是否需要运行?

    我们的外部 PMIC 不仅为系统供电、还充当看门狗、这意味着我们需要通过 SPI 对其进行刷新。 执行此任务的核心被接收者是 R5 MCU 代码。

    操作 1:在进入深度睡眠模式时、将看门狗窗口增加到无限大并禁用所有内核。

    解决方案 2:保持 R5 MCU 并推送 SPI、仅暂停到 RAM A53 内核

    对于深度睡眠模式和仅 MCU 模式、上下文会在暂停之前保存到 DDR 中。 因此无需冷启动。

    如果我关闭、假设一个通过 I2C 连接的 A2B 收发器、我需要从睡眠状态重新配置一次、这意味着、进入 DeepSleep 状态、我需要保存我的软件上下文、并具有重新启动功能、从睡眠状态返回时、收发器再次进行重新配置、例如:我需要执行部分的软件关断序列。

    [引述 userid=“566841“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6400400

    您提供的链接已损坏。 请确认这是同一个文档: https://www.ti.com/lit/wp/sprad41/sprad41.pdf

    [/报价]

    是的、相同的文档。

    BR

    Gianfranco

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

    您好 Gianfranco、

    [引述 userid=“705813“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6401058
    低功耗模式仅在 SPL 引导中受支持、而不在 SBL 引导中受支持

    关于这一点、有什么可能有更多的细节? 我知道 图 6-31。  AM62D SitaraRegistered 处理器的 DEEPSLEEP 复位处理
    《主机接口技术参考手册》

    [/报价]

    TRM 中的图更多是一个通用序列、但仍然适用。 关于 SPL 引导的说明是特定于软件的。 在实现低功耗模式的方式中、Linux/U-Boot 必须负责启动任何远程内核、以便在暂停序列期间、Linux 已经知道内核存在、并执行正确的 IPC 事务以正常关闭远程内核。

    在 SBL 引导中、可以独立于 A53 上的 Linux 状态启动远程内核(例如 MCU R5F)、如下所示: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62AX/latest/exports/docs/api_guide_am62ax/SBL_BOOTING_LINUX_OSPI.html

    因此、Linux 不会意识到它的存在、也不会启动 IPC 事务来缓慢关闭远程内核、这将破坏低功耗模式序列: https://docs.u-boot.org/en/latest/board/ti/am62dx_evm.html

    您可以在此处查看 SPL 的引导流程有何不同、其中 U-boot 启动后会启动“辅助内核+固件“。

    我指的是我们 PCB 上的外设。

    对于低功耗模式、SoC 主要控制自身。 如果通过 GPIO 连接了其他 PCB 元件的复位线路、则可以设置这些 GPIO 以保持其状态、或仅在进入深度睡眠/MCU 时进行切换。

    [引述 userid=“705813“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6401058
    RT Linux 和电源管理(包括低功耗模式)是 Linux 内核的相反功能。 对于 RT Linux、您希望确定性能够帮助您预测任务是否在给定的时间范围内完成。 电源管理能够更改时钟速度并进入低功耗模式、这消除了 RT Linux 的确定性优势。

    我们计划使用 Linux RT、因为某些软件组件需要对特定线程具有实时功能(渲染等)。 这是否意味着、使用此内核补丁、我们将无法将 A53 或器件置于“深度睡眠“或“仅 MCU“模式?

    [/报价]

    从编译和使用的角度来看、没有什么可以阻止同时启用 RT Linux 和电源管理功能。 但是、由于电源管理可能会影响 RT Linux 的性能、因此您将无法获得 RT Linux 的全部优势。  因此、建议选择电源管理或 RT Linux、但不能同时选择两者。

    [引述 userid=“705813“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6401058

    对于深度睡眠模式和仅 MCU 模式、无需更改 PMIC 状态。 问题是、您需要在什么条件下进入低功耗状态? 在这些情况下、MCU R5F 是否需要运行?

    我们的外部 PMIC 不仅为系统供电、还充当看门狗、这意味着我们需要通过 SPI 对其进行刷新。 执行此任务的核心被接收者是 R5 MCU 代码。

    操作 1:在进入深度睡眠模式时、将看门狗窗口增加到无限大并禁用所有内核。

    解决方案 2:保持 R5 MCU 并推送 SPI、仅暂停到 RAM A53 内核

    [/报价]

    如果您使用 TI PMIC、请告知我们器件型号、以便我们可以在内部与我们的 PMIC 专家讨论他们的想法。

    [引述 userid=“705813“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6401058
    对于深度睡眠模式和仅 MCU 模式、上下文会在暂停之前保存到 DDR 中。 因此、无需冷启动。

    如果我关闭、假设一个通过 I2C 连接的 A2B 收发器、我需要从睡眠状态重新配置一次、这意味着、进入 DeepSleep 状态、我需要保存我的软件上下文、并具有重新启动功能、从睡眠状态返回时、收发器再次进行重新配置、例如:我需要执行部分的软件关断序列。

    [/报价]

    我不是一个音频专家,所以如果我错了,请纠正我: A2B 是运行自己的软件还是它只使用通过 i2c 提供的数据? 我想看看即使 SoC 处于深度睡眠状态、它是否也可以保持开启、因此您无需重新初始化外设。 它是否会由 SoC 使用的同一 PMIC 供电?

    此致、

    Anshu

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

    您好 Gianfranco、

    请注意、我提供了 AM62A 文档的链接、但如果您有 NDA、您应该能够访问与 AM62D SDK 文档等效的文档、因为它尚未公开提供。

    此致、

    Anshu  

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

    嗨、Anshu

    从编译和使用的角度来看、没有什么能阻止同时启用 RT Linux 和电源管理功能。 但是、由于电源管理可能会影响 RT Linux 的性能、因此您将无法获得 RT Linux 的全部优势。  因此、建议选择电源管理或 RT Linux、但不能同时选择两者。

    原则上、RT 功能和睡眠功能将在单独的时间点工作、例如:一旦设备应该进入睡眠状态、我就不希望真正使用实时功能。 我们真的需要从你的方面了解,是否内核 Linux 中的实时补丁正在打破睡眠功能,反之亦然。 请在此处提供帮助。

    如果您使用的是 TI PMIC、请告知我们器件型号、以便我们可以在内部与我们的 PMIC 专家讨论他们的想法。

    我们使用 TI PMIC TPS6522430RAHRQ1(我在上一篇文章中犯了一个错误:我们通过 I2C 传达配置信息、并切换 GPIO 来实现看门狗功能)。

    我不是音频专家、所以如果我错了、请纠正我:A2B 是运行自己的软件还是只使用通过 i2c 提供的数据? 我想看看即使 SoC 处于深度睡眠状态、它是否也可以保持开启、因此您无需重新初始化外设。 它是否会由 SoC 使用的同一 PMIC 供电?

    A2B 正在运行自己的软件、但我们需要启用它 (PIN)、然后进行配置(通过 I2C)。 如果出于功耗原因、我们决定关闭为 A2B 器件供电的 9V 稳压器、则需要在从睡眠状态返回时重新发送配置。 因此、我们将探讨两种解决方案:深度睡眠(需要阐明的是如何与 PMIC 和连接到 SoC 的所有其他器件交互,我们可能会实现低功耗)或仅 MCU(主要是 Linux 停止运行,其余的全部按照一些规则启动并运行)。

    非常感谢您的建议

    BR

    Gianfranco

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

    您好 Gianfranco、

    原则上、RT 功能和休眠功能将在单独的时间点工作、例如:一旦设备应该进入睡眠状态、我就不希望真正使用实时功能。 我们真的需要从你的方面了解,是否内核 Linux 中的实时补丁正在打破睡眠功能,反之亦然。 请在此处提供帮助。

    正如我提到的,我不建议同时使用两者,但没有什么会阻止 Linux 内核拥有两者,但确定性的好处和可靠性。

    应该可以使用 RT Linux 进入低功耗模式、但我没有对其进行测试、因为这不是一个典型的用例。

    如果您确实选择两者都有、则至少应该禁用一些其他电源管理功能、例如运行时 PM、cpufreq、自动时钟门控等 理论上、这应该尽量减少时钟变化活动、这样就不会对决定产生太大影响。 但我建议在将其实施到生产代码之前对其进行测试、以确定其是否可行。  

    [报价 userid=“705813“ url=“~/support/processors-group/processors/f/processors-forum/1658558/am62d-q1-clarification-on-enabling-low-power-embedded-systems-with-am62dx-processors/6402939 ]我们使用 TI PMIC TPS6522430RAHRQ1

    让我联系硬件团队中的一些人员、我将返回给您。

    A2B 正在运行自己的软件、但我们需要启用它 (PIN)、然后进行配置(通过 I2C)。 如果出于功耗原因、我们决定关闭为 A2B 器件供电的 9V 稳压器、则需要在从睡眠状态返回时重新发送配置。 因此、我们将探讨两种解决方案:深度睡眠(需要阐明如何与 PMIC 以及我们可能置于低功耗的 SoC 上的所有其他器件进行交互)或仅 MCU(主要是 Linux 停止运行,其余所有这些都按照一些规则启动并运行)。[/报价]

    感谢您的澄清。 那么这似乎是一个延迟与功耗的问题。 系统是否有特定的电源要求和延迟要求? 如果需要更大的延迟、我会使用仅 MCU 模式、因为您可以与 MCU 域外设(I2C、GPIO 等)交互 如果更需要降低功耗、我建议改用深度睡眠模式。  

    请注意、明天是美国 TI 假日、因此请预计会延迟响应。

    此致、
    Anshu