工具与软件:
您好、亲爱的专家
我们已经知道 MCU 域中有任何支持从"深度睡眠模式"唤醒 GPIO 的 GPIO。
但 在我们的应用中、基址"引脚多路复用设置"、MCU_MCAN0和 MCU_MCAN1不属于"GPIO 模式"、我们使用 MCU_MCAN0 / MCAN1进行 CAN 总线通信。
在标题说明中、 MCU_MCAN0/MCU_MCAN1是否也支持从"深度睡眠模式"唤醒?
我 认为它应该与部分模式下的 CAN 唤醒相同。

谢谢你
Gibbs
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.
工具与软件:
您好、亲爱的专家
我们已经知道 MCU 域中有任何支持从"深度睡眠模式"唤醒 GPIO 的 GPIO。
但 在我们的应用中、基址"引脚多路复用设置"、MCU_MCAN0和 MCU_MCAN1不属于"GPIO 模式"、我们使用 MCU_MCAN0 / MCAN1进行 CAN 总线通信。
在标题说明中、 MCU_MCAN0/MCU_MCAN1是否也支持从"深度睡眠模式"唤醒?
我 认为它应该与部分模式下的 CAN 唤醒相同。

谢谢你
Gibbs
您好、Anshu
让我仔细检查一下、因为我感觉有点混乱。
(1) AM62-Q1是否支持从深度睡眠模式唤醒"Any""MCU_GPIO"?
我遵循以下提示:

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

-->遵循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 等
非常感谢
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
额外参考
您好、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