公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

我正在使用 CYT2B95。

我在主动模式下使用 ECO 作为 FLL/PLL 参考时钟。

 

从 DeepSleep 模式过渡到活动模式时,IMO 和 ECO 时钟在唤醒过程中是如何运行的?

问题 1) 在 DeepSleep-Act > ive 过渡期间,IMO 是通过硬件操作启用的,这是正确的吗?

问题 2) 当使用 ECO 作为 FLL/PLL 参考时钟时,它在 DeepSleep-Act > ive Wake up 过程中被用作 IMO-> FLL/PLL-C > ore 时钟,当 ECO 变得稳定时,它会用作 ECO-FLL/PLL-Core 时钟。> > 这是正确的吗? 这个过程是硬件操作的吗? (用户不必使用软件吗?)

问题 3) 禁用 IMO 并在主动模式下使用 ECO 时,在 DeepSleep-Act > ive Wake 启动过程中通过硬件操作启用 IMO,然后使用 ECO 作为 FLL/PLL 参考时钟并在 ECO 稳定后禁用 IMO,这是正确的吗? 这是硬件操作吗?

 

你可以在 AN220222 文档的图 5 中看到这一点。

[唤醒后,设备会恢复到
进入 DeepSleep 模式时的 配置 。
如果使用任何 FLL/PLL 作为操作时钟,将 ECO
作为其参考时钟, 则可以在
ECO 稳定后 恢复 此时钟配置 。
CPU 退出低功耗模式并中断。]

m_s_v_0-1699597156618.png

 

谢谢&最好的问候

m_s_v

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/TRAVEO-T2G/How-do-IMO-and-ECO-clock-operate-in-the-wake-up-process-when-transitioning-from/td-p/638653

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @m_s_v

 

问题 1) 在 DeepSleep-Act > ive 过渡期间,IMO 是通过硬件操作启用的,这是正确的吗?

是的,在唤醒过渡期间,IMO 将由硬件启用。 请参考表 17-4。 相同信息的唤醒顺序,另附在下面:

Randriad_0-1699863912981.png

 

2。当使用 ECO 作为 FLL/PLL 参考时钟时,它会在 DeepSleep-Act > ive Wake up 过程中用作 IMO-> FLL/PLL-C > ore 时钟,当 ECO 变得稳定时,它会用作 ECO-FLL/PLL-> Core 时钟。>这是正确的吗?这个过程是硬件操作的吗?(用户不必使用软件吗?)

不,这种过渡必须由固件处理。 有关如何处理这种过渡的示例,请参阅 SDL 中提供的 DeepSleep 示例,请注意这种过渡是在 cy_sysclk_DeepSleepCallback () 中处理的。 在那里,利用超时等待 ECO 稳定,然后将每个 FLL 或 PLL 源(如果是信号源)改回 ECO,然后再过渡到 DeepSleep。

Randriad_1-1699864432681.png

 

问题 3) 禁用 IMO 并在主动模式下使用 ECO 时,在 DeepSleep-Act > ive Wake 启动过程中通过硬件操作启用 IMO,然后使用 ECO 作为 FLL/PLL 参考时钟并在 ECO 稳定后禁用 IMO,这是正确的吗? 这是硬件操作吗?

不,更改 FLL/PLL 源由固件处理。 另外,不应禁用 IMO。 请参阅以下 CLK_IMO_CONFIG.ENABLE 寄存器描述:

Randriad_2-1699864576138.png

 

我希望这会有所帮助。

最诚挚的问候。

在原帖中查看解决方案

0 点赞
5 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @m_s_v

 

问题 1) 在 DeepSleep-Act > ive 过渡期间,IMO 是通过硬件操作启用的,这是正确的吗?

是的,在唤醒过渡期间,IMO 将由硬件启用。 请参考表 17-4。 相同信息的唤醒顺序,另附在下面:

Randriad_0-1699863912981.png

 

2。当使用 ECO 作为 FLL/PLL 参考时钟时,它会在 DeepSleep-Act > ive Wake up 过程中用作 IMO-> FLL/PLL-C > ore 时钟,当 ECO 变得稳定时,它会用作 ECO-FLL/PLL-> Core 时钟。>这是正确的吗?这个过程是硬件操作的吗?(用户不必使用软件吗?)

不,这种过渡必须由固件处理。 有关如何处理这种过渡的示例,请参阅 SDL 中提供的 DeepSleep 示例,请注意这种过渡是在 cy_sysclk_DeepSleepCallback () 中处理的。 在那里,利用超时等待 ECO 稳定,然后将每个 FLL 或 PLL 源(如果是信号源)改回 ECO,然后再过渡到 DeepSleep。

Randriad_1-1699864432681.png

 

问题 3) 禁用 IMO 并在主动模式下使用 ECO 时,在 DeepSleep-Act > ive Wake 启动过程中通过硬件操作启用 IMO,然后使用 ECO 作为 FLL/PLL 参考时钟并在 ECO 稳定后禁用 IMO,这是正确的吗? 这是硬件操作吗?

不,更改 FLL/PLL 源由固件处理。 另外,不应禁用 IMO。 请参阅以下 CLK_IMO_CONFIG.ENABLE 寄存器描述:

Randriad_2-1699864576138.png

 

我希望这会有所帮助。

最诚挚的问候。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Randriad 

我知道从 Deepsleep 醒来到 Active 之后,固件需要处理从 IMO 到 ECO 的过渡。

谢谢你的回答。

 

我还有几个问题。

问题 1:如果固件中没有处理从 IMO 到 ECO 的过渡,IMO 会作为 FLL/PLL 参考时钟运行吗? (我在主动模式下使用 ECO 作为 FLL/PLL 参考时钟。)

问题 2:从 DeepSleep-A > ctive 中醒来后,我检查了 FLL/PLL 参考时钟寄存器,发现它设置为 ECO。 这是否运行 IMO 而不是 ECO?(未处理 IMO 到 ECO 的过渡固件)

 

最诚挚的问候,

m_s_v

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @m_s_v

问题 1:如果固件中没有处理从 IMO 到 ECO 的过渡,IMO 会作为 FLL/PLL 参考时钟运行吗?(我在主动模式下使用 ECO 作为 FLL/PLL 参考时钟。)
是的,这是正确的。

问题 2:从 DeepSleep-A > ctive 中醒来后,我检查了 FLL/PLL 参考时钟寄存器,发现它设置为 ECO。这是否运行 IMO 而不是 ECO?(未处理 IMO 到 ECO 的过渡固件)
如果固件中未处理 IMO 到 ECO FLL/PLL 的源过渡,那么,IMO 仍应是 FLL 和 PLL 的来源。
在 SDL 示例中,这是通过将功率转换回调设置为以下方式来完成的:cy_stc_syspm_callback_params_t myParams;cy_stc_syspm_callback
_t myCallback =;cy_syspm_registerCallback (myCallback);

{
     &Cy_SysClk_DeepSleepCallback, // this function will FLL/ PLL source will be changed if necessary
     CY_SYSPM_DEEPSLEEP,
     CY_SYSPM_CHECK_FAIL,
     &myParams,
     NULL,
     NULL
}
&


请确保您的应用程序执行的操作与上面的 SDL 示例以及 cy_sysclk_ DeepSleepCallback () 中过渡处理的实现类似。

我希望这会有所帮助。
最诚挚的问候。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @Randriad 

就像在答案中一样,我计划以与我的应用程序中cy_sysclk_DeepSleepCallback () 的过渡处理实现相同的方式应用它。

我还有其他问题。 (我想准确地理解内容。)

我使用 PLL(160MHz)到 ECO(16MHz)作为 CM4 和 CM0P 时钟。 (CM4 = 160MHz,CM0P = 80MHz)

PLL 的设置如下。

m_s_v_0-1699944473014.png

"如果固件中没有处理 IMO 到 ECO FLL/PLL 的信号源转换,那么,IMO 应该仍然是 FLL 和 PLL 的来源。"

看上面的答案,如果用户不处理过渡,它就会连接到IMO-> PLL-> CM4/CM0P。
而且,由于锁相环设置值保持不变,我认为当通过 IMO-PL > L-> CM4/CM0P 连接时,核心时钟将更改为 cm4=80MHz 和 cm0p=40MHz。
1。IMO-> PLL-> CM4/CM0P (cm4=80MHz,cm0p=40MHz) 2.
ECO-> PLL-> CM4/CM0P (cm4=160MHz,cm0p=80MHz)

但是,当我对其进行测试时,我确认从 DeepSleep 中醒来后,即使固件不处理 IMO-ECO Transition,它也能以 > ECO-P > LL-> CM4/CM0P 运行。

问:在激活状态下,PLL 参考时钟设置为 ECO 进入深度睡眠,
如果唤醒后固件不处理 IMO-> ECO 转换,则以 IMO-> PLL-> CM4/CM0P 运行是否正确?你能再检查一次吗?(我确认它以 ECO-> PLL-> CM4/CM0P 的形式运行 )

 

 

最&诚挚的问候,

m_s_v

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @m_s_v

感谢您提供更多信息。
我已经在我目前用于 tviibh8m 设备的评估板上确认了这一点,如果软件不处理更改时钟源的过渡,则它将保留最后的配置。

你能否确认在从 Active 模式转换到 DeepSleep 模式之前,你已经成功地将时钟源从 ECO 更改为 IMO?

最诚挚的问候。

0 点赞