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.

[参考译文] AM620-Q1:是否支持 MCU_MCAN0/MCU_MCAN1可以从 Deep Sleep mode&quot 唤醒

Guru**** 2465890 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1463930/am620-q1-do-mcu_mcan0-mcu_mcan1-support-can-wakeup-from-deep-sleep-mode

器件型号:AM620-Q1

工具与软件:

您好、亲爱的专家

我们已经知道 MCU 域中有任何支持从"深度睡眠模式"唤醒 GPIO 的 GPIO。

但 在我们的应用中、基址"引脚多路复用设置"、MCU_MCAN0和 MCU_MCAN1不属于"GPIO 模式"、我们使用  MCU_MCAN0 / MCAN1进行 CAN 总线通信。

在标题说明中、 MCU_MCAN0/MCU_MCAN1是否支持从"深度睡眠模式"唤醒

我 认为它应该与部分模式下的 CAN 唤醒相同。

谢谢你

Gibbs

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

    嗨、Gibbs、

    我已将您的主题已重新分配给正确的人员、请稍候再响应。

    此致、

    Vaibhav

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

    您好、 Vaibhav

    我可以提供任何反馈吗?

    谢谢你。

    Gibbs

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

    嗨、Gibbs、

    MCU_MCAN 位于 MCU 电源域上、在深度睡眠期间关闭。 这意味着 MCU_MCAN 不能用于深度睡眠唤醒、因为这些引脚未通电。

    此致、

    Anshu

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

    您好、Anshu

    让我仔细检查一下、因为我感觉有点混乱。

    (1) AM62-Q1是否支持从深度睡眠模式唤醒"Any""MCU_GPIO"?

    我遵循以下提示:  

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/Foundational_Components / Power_Management / pm_low_power_modes.html

    -->按照3.3.5.2、进入深度睡眠模式成功

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/10_00_00/exports/docs/linux/Foundational_Components / Power_Management /pm_wakup_source.html#pm-wakup-sources

    -->遵循3.3.6.2。 MCU GPIO、我使用 MCU_GPIO (MCU_GPIO_04和 MCU_GPIO_03 )作为触发源、并成功退出深度睡眠模式

    根据这些测试、我"认为"任何 GPIO 都属于支持深度睡眠模式唤醒的"MCU 域"、不是吗?

    (2)如果项目1的答案是"是"、基本上我认为这些引脚也支持从深度睡眠模式唤醒 GPIO 触发? 不是吗?

    * MCU_GPIO0_19 (输入)

    * MCU_GPIO0_20  (输入)

    * MCU_GPIO0_23  (输入)

    * MCU_GPIO0_12  (输入)

    * MCU_GPIO0_11 (输入)

    * MCU_GPIO0_14 (输入)

    * MCU_GPIO0_13 (输入)

    * MCU_GPIO0_16 (输入)

    * MCU_GPIO0_15 (输入)

    (3)名词、LPM (低功耗模式)是深度睡眠模式、对吗?

    (4)如果我们要使用 CAN 总线唤醒、 唯一的选择是部分 I/O 吗? 如果答案是肯定的、如何操作?

    因为我看不到任何支持 CAN pinmux 设置的 WKUP 域引脚。

    非常感谢

    Gibbs

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

    嗨、Gibbs、

    我来澄清一点。

    MCU 外设有两个不同的电源域:VDDSHV_MCU 和 VDDSHV_CANUART。 在 DEEP SLEEP 和仅 MCU 模式期间、VDDSHV_MCU 外设将开启、VDDSHV_CANUART 将关闭。 在部分 I/O 模式期间、VDDSHV_MCU 外设将关闭、VDDSHV_CANUART 将开启。

    MCU_MCAN0/1位于 VDDSHV_CANUART 电源域上、该电源域在深度睡眠和仅 MCU 模式下关闭、因此它们不能用作唤醒源。 VDDSHV_CANUART 电源域上的任何其他 MCU_GPIO 都将无法用作深度睡眠和仅 MCU 模式的唤醒源。

    因此、只有 VDDSHV_MCU 电源域中的 MCU_GPIO 可用作深度睡眠和仅 MCU 模式的唤醒源。

    每个外设的电源在 AM62x 数据表中列出: https://www.ti.com/lit/gpn/am625

    (1) AM62-Q1是否支持"any""MCU_GPIO"从深度睡眠模式唤醒?

    不会 全部 MCU_GPIO 可用作唤醒源。

    如果我们想要使用 CAN 总线唤醒、 唯一选择的是部分 I/O 吗? 如果答案是"是"、如何操作?

    是的、如果 MCAN 是所需的唤醒源、则将使用部分 I/O。 Linux SDK 中也记录了这部分内容: software-dl.ti.com/.../pm_low_power_modes.html


    此致、

    Anshu

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

    您好、Anshu

    感谢您的详细解释、在发布有关 GPIO 唤醒的此主题之前、我想我可能有一些错误的概念。

    顺便说一下、最后几个问题。

    跟你提到之前:  

    问题1:  

    >> 不  全部  MCU_GPIO 可用作唤醒源。

    我如何知道哪些 MCU GPIO 支持从深度睡眠模式唤醒?

    我想只有 GPIO 属于 支持 MCU GPIO 从"深度睡眠模式"唤醒的 VDDSHV_MCU 电源域、不是吗?

    问题2.  

    "主域"中的所有 GPIO 是否也支持从深度睡眠状态唤醒触发?

    因为点击此链接、"主 I/O 菊花链"也支持主域 GPIO 唤醒、不仅包括主域 UART 等

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components / Power_Management / pm_wakeup_sources.html

    非常感谢

    Gibbs

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

    嗨、Gibbs、

    认为只有 支持 MCU GPIO 从"深度睡眠模式"唤醒的 GPIO 属于 VDDSHV_MCU 电源域的 GPIO 不是吗?

    是的、这是正确的。


    "主域"中的所有 GPIO 是否也支持从深度睡眠模式唤醒触发?

    并非每个主域 GPIO 都位于 I/O 唤醒菊花链上以允许唤醒。 请参阅 TRM: https://www.ti.com/lit/pdf/spruiv7中的第6.2.4.11节"I/O 电源管理和菊花链"

    有一个不在 I/O 唤醒菊花链上的信号列表。 其中一些信号可以作为 GPIO、但不能用作唤醒源。

    此致、

    Anshu

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

    您好、Anshu

    谢谢您的回复、

    "对不起,我不小心弄丢了。"

    客户反馈。

    如果我们谈论"I/O 电源域"、"VDDSHV_CANUART"应该始终具有来自外部 PMIC 或 LDO 的电源、即使是在深度睡眠模式下的 AM62也是如此。

    基于先前的讨论:

    >> MCU 外设有两个不同的电源域:VDDSHV_MCU 和 VDDSHV_CANUART。 在深度睡眠和仅 MCU 模式期间、>>VDDSHV_MCU 外设将开启、VDDSHV_CANUART 将关闭。 在部分 I/O 模式期间、VDDSHV_MCU 外设将关闭、且>>VDDSHV_CANUART 将开启

    问题1:  

    我认为 AM62应该关闭 "VDDSHV_CANUART"的"芯片内部"I/O 电源域、即使外部 PMIC/LDO 仍然供电。

    但我很想知道、我们的设计为什么尝试切断  VDDSHV_CANUART 的芯片内部 I/O 电源域?

    问题2:  

    客户在 TRM 中混淆了此规格。

    我想" 1.8V/3.3V I/O 轨 "意味着 仅限 VDDSHV_MCU、不是吗?

    问题3:

    客户使用这些 GPIO (MCU_GPIO0_13、MCU_GPIO0_14、MCU_GPIO0_13、MCU_GPIO0_15、MCU_GPIO0_13、 MCU_GPIO0_16、MCU_GPIO0_12、MCU_GPIO0_11)作为深度睡眠模式下的唤醒触发源、但这些 GPIO 属于  VDDSHV_CANUART、我们是否还需要进行其他调整?

    非常感谢。

    Gibbs

    额外参考

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1460673/am620-q1-how-to-know-which-gpio-support-partial-i-o-wake-up/5604376?tisearch=e2e-sitesearch&keymatch=VDDSHV_CANUART#5604376

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

    您好、Anshu

    我们在等您的回复、因为我们在深度睡眠模式下存在 GPIO 唤醒失败问题。

    基于"问题3"、如果软件无法正常工作、客户需要尽快修改其原理图。

    客户的项目没有 部分 I/O 模式。

    *任何 MCU_GPIOx 都属于  VDDSHV_MCU 电源域、支持深度睡眠模式唤醒触发

    *任何 MCU_GPIOx 都属于 VDDSHV_CANUART 电源域、 不支持  从深度睡眠模式唤醒触发

    *任何 GPIO 都属于 VDDSHV_CANUART 电源域、"仅"支持 部分 I/O 模式唤醒。

    谢谢

    Gibbs

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

    嗨、Gibbs、

    [报价 userid="533255" url="~/support/processors-group/processors/f/processors-forum/1463930/am620-q1-do-mcu_mcan0-mcu_mcan1-support-can-wakeup-from-deep-sleep-mode/5639330 #5639330"]我们的设计为什么尝试切断  VDDSHV_CANUART 的芯片内部 I/O 电源域?

    域会单独分开并单独打开/关闭、以保持较低的功耗。 启用的 I/O 越多、SoC 的功耗就越高。 通过保持这些电源域的区别、可以降低功耗。

    我认为" 1.8V/3.3V I/O 轨 "表示 仅 VDDSHV_MCU、不是?[/QUOT]

    这意味着所有1.8V 和3.3V I/O、仅包括主域和 MCU。 我同意表中没有说明这一点。


    [报价 userid="533255" url="~/support/processors-group/processors/f/processors-forum/1463930/am620-q1-do-mcu_mcan0-mcu_mcan1-support-can-wakeup-from-deep-sleep-mode/5639330 #5639330"]客户使用这些 GPIO (MCU_GPIO0_13、MCU_GPIO0_14、MCU_GPIO0_13、MCU_GPIO0_15、MCU_GPIO0_13、 MCU_GPIO0_16、MCU_GPIO0_12、MCU_GPIO0_11)用作深度睡眠模式下的唤醒触发源、但这些 GPIO 属于  VDDSHV_CANUART、我们还有其他办法吗?[/QUOT]

    唯一的选择是在不同的电源域上使用 GPIO。 低功耗模式无法自定义(从硬件和软件的角度)以保持特定的电源域开启/关闭。

    [报价 userid="533255" url="~/support/processors-group/processors/f/processors-forum/1463930/am620-q1-do-mcu_mcan0-mcu_mcan1-support-can-wakeup-from-deep-sleep-mode/5648433 #5648433"]

    以下是我的测试结果。

    我想您可能需要仔细检查

    [报价]

    您能解释一下测试是什么吗?

    此代码的含义是什么?

    在 Linux 器件树中、"GPIO 密钥"节点允许 Linux 将 GPIO 解释为中断。 然后在内核级别、在 I/O 菊花链过程完成后、会将中断视为可能的唤醒源。

    Linux 事件代码为143、旨在帮助用户了解其用于唤醒器件。 将 Linux 事件代码定义为143并不意味着它将成为一个唤醒源。

    此致、

    Anshu

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

    您好、Anshu

    我感到非常困惑、因为我发现 "MCU GPIO"属于 VDDSHV_CANUART、它也支持从深度睡眠模式唤醒 GPIO 触发。

    这 与您之前提到的内容有冲突。

    例如、

    我们让 AM62进入"深度睡眠模式"、但也可以通过 MCU_GPIO0_13和 MCU_GPIO0_14将其唤醒 。

    MCU_GPIO0_13和 MCU_GPIO0_14  属于 VDDSHV_CANUART 电源域。

    我共享 AM62_LP_EVM 的相关 DTS 设置

    我想知道有什么问题吗?

    谢谢你。  

    Gibbs

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

    嗨、Gibbs、

    我们尚未在最终测试这一点、因此我们尚未确认这一点。 如果该解决方案满足要求、则继续执行。

    谢谢!

    Anshu