关于 PSoC4000S POWER_DRILL2GO 位。 /#NOF

公告

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

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

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,英飞凌。

 

我有一个关于 PSOC4000 的寄存器 TRM 的问题。

本文档对下图 POWER_DRILL2GO 进行了说明。

https://www.infineon.com/dgdl/Infineon-PSoC_4000S_FAMILY_PSoC(R)_4_REGISTERS_TECHNICAL_REFERENCE_MAN...

 

YuMa_1534086_0-1706587984121.png

 

除了 CPU 的主动模式外,用户是否可以读取其他模式?

由于 CPU 在访问寄存器读取 POWER_DRILL2GO时应该处于活动状态,因此我认为无法检查它是否处于活动模式以外的模式。

 

最诚挚的问候。

YuMa

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/td-p/685539

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

@YuMa_1534086

一旦MCU进入睡眠或深度睡眠模式,读取寄存器(此处为 POWER_DRILL2GO 寄存器)的访问将受到限制。 由于 MCU 将处于保留状态。在睡眠模式下, Cortex®-M0 CPU 进入睡眠模式,其时钟被禁用。在深度睡眠模式下,CPU、SRAM 和高速逻辑处于保留状态。 包括 HFCLK 和 SYSCLK 在内的高频时钟已禁用。

这两种情况都是如此,因为没有时钟源电源,MCU 处于非活动状态,无法访问寄存器进行读取。 TRM 解释了不同的状态,但进入睡眠和深度睡眠模式完全由 MCU 内部介导。 只有在 MCU 从任何中断中醒来后,才能正确读取寄存器内容,如下所示:

LeoMathews_0-1706618480619.png

由于 CPU 处于非活动状态,因此无法读取显示调试期间状态的 PWR_CONTROL 寄存器。 但是你可以利用共享代码示例来确定 MCU 的当前状态,无论它处于睡眠模式还是深度睡眠模式。

谢谢和问候,
Leo

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/686132

在原帖中查看解决方案

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

@YuMa_1534086

你是对的。 访问寄存器以读取 POWER_DRILL2GO时,CPU 应处于活动状态。 因此,当MCU进入睡眠或深度睡眠模式时,调试时无法从 POWER_DRILL2GO 寄存器中读取模式。 当执行跳转到睡眠或深度睡眠函数调用时,模式状态将保持活动状态(先前状态)。

LeoMathews_0-1706595028122.png


您可以参考代码示例 PSoC4 POWER_DRILL2GO 模式 来了解当前的操作模式。 在此代码示例中,您可以通过在操作模式之间切换来观察 UART 终端中的 POWER_DRILL2GO 模式。

谢谢和问候,
Leo

 




smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/685669

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

Leo-san。

 

感谢您的支持。

 

PSoC™ Creator版本有相同的代码示例吗?

 

最诚挚的问候。

YuMa

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/685787

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

@YuMa_1534086

您可以从此处在 PSoC™ Creator 中找到类似的代码示例
https://www.infineon.com/dgdl/Infineon-Code_Examples_PC41-ApplicationNotes-v09_00-EN.zip?fileId=8ac7...

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/686114

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

Leo-san。

 

抱歉,我还有其他问题。

 

POWER_DRILL2GO 位不能从外部读取,但是当睡眠模式或深度睡眠模式时,这些位是否会在内部发生变化?

POWER_DRILL2GO位是否在内部从 0x1(Active) 更改为 0x2(Sleep) 或 0x3(Deep Sleep)?

 

TRM 解释用户无法读取的 POWER_DRILL2GO 的睡眠状态或深度睡眠状态是否有任何原因?

 

最诚挚的问候。

YuMa

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/685792

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

@YuMa_1534086

一旦MCU进入睡眠或深度睡眠模式,读取寄存器(此处为 POWER_DRILL2GO 寄存器)的访问将受到限制。 由于 MCU 将处于保留状态。在睡眠模式下, Cortex®-M0 CPU 进入睡眠模式,其时钟被禁用。在深度睡眠模式下,CPU、SRAM 和高速逻辑处于保留状态。 包括 HFCLK 和 SYSCLK 在内的高频时钟已禁用。

这两种情况都是如此,因为没有时钟源电源,MCU 处于非活动状态,无法访问寄存器进行读取。 TRM 解释了不同的状态,但进入睡眠和深度睡眠模式完全由 MCU 内部介导。 只有在 MCU 从任何中断中醒来后,才能正确读取寄存器内容,如下所示:

LeoMathews_0-1706618480619.png

由于 CPU 处于非活动状态,因此无法读取显示调试期间状态的 PWR_CONTROL 寄存器。 但是你可以利用共享代码示例来确定 MCU 的当前状态,无论它处于睡眠模式还是深度睡眠模式。

谢谢和问候,
Leo

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/686132

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

Leo-san。

 

> > > 但是你可以利用共享代码示例来确定 MCU 的当前状态,无论它处于睡眠模式还是深度睡眠模式。

我对这段代码在进入睡眠模式或深度睡眠模式之前使用UART通知外部下一个CPU模式的理解是否正确?

 

最诚挚的问候。

YuMa

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/686574

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

@YuMa_1534086

是的,共享代码在进入睡眠或深度睡眠模式之前使用 UART 通知下一个 CPU 模式。 MCU 在遇到外部中断后会唤醒。

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/686909

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

Leo-san。

 

感谢您的支持。

我明白。

 

最诚挚的问候。

YuMa

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/688940

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好@YuMa_1534086

线程由于长时间不活动而被锁定, CAN 通过打开一个引用锁定线程的新线程来继续讨论该主题。 不活跃话题中的持续讨论可能大多是在社区用户无人参与的情况下进行的。

谢谢和问候,
Leo

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Regarding-PSoC4000S-POWER-MODE-bits-NOF/m-p/700951

0 点赞