完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个关于 PSoC6 在 CM0+ 中用于进入休眠和深度休眠的函数的问题。 应用程序接口
Cy_SysPm_CpuEnterSleep(CY_SYSPM_WAIT_FOR_EVENT); Cy_SysPm_CpuEnterDeepSleep(CY_SYSPM_WAIT_FOR_EVENT); 这两个应用程序接口应将 CM0+ 置于 WFE 中。 根据 PSoC6 文档: " 执行 WFI 指令时,CPU 进入休眠或深度休眠状态(取决于 SCR 寄存器的 SLEEPDEEP 位),并在中断请求(优先级高于当前优先级)或调试请求时唤醒。 WFE 指令与 WFI 类似,但会在下一次中断或发送事件(SEV 指令)、外部事件或调试信号等事件发生时唤醒。" 不过,在使用 CY_SYSPM_WAIT_FOR_EVENT 测试该 API 时,我只能使用 SEV 指令唤醒 CM0+。 无论优先级如何,任何触发的中断都不能将 CPU 从睡眠状态唤醒。 深入研究 ARM 文档后,我发现在调用 Cy_SysPm_CpuEnterSleep() 之前,如果设置了系统控制寄存器中的 SEVONPEND 位,就可以使用中断将 CPU 从 WFE 唤醒。 我的问题是: - 在调用 Cy_SysPm_CpuEnterSleep() 之前手动设置该位是否是正确的使用方法? - 为什么英飞凌的文档从未在任何地方提到过这些信息? |
|
相关推荐
1个回答
|
|
在PSoC 6中,CM0+内核提供了两种低功耗模式:休眠(Sleep)和深度休眠(Deep Sleep)。这两种模式可以通过Cy_SysPm_CpuEnterSleep()和Cy_SysPm_CpuEnterDeepSleep()函数来实现。这两个函数分别将CM0+内核置于WFE(Wait For Event)和WFI(Wait For Interrupt)指令。
首先,我们来了解一下这两个函数的参数: 1. Cy_SysPm_CpuEnterSleep(CY_SYSPM_WAIT_FOR_EVENT):这个函数将CPU置于休眠状态。当使用CY_SYSPM_WAIT_FOR_EVENT作为参数时,CPU将等待一个事件(如中断、SEV指令、外部事件或调试信号)来唤醒。 2. Cy_SysPm_CpuEnterDeepSleep(CY_SYSPM_WAIT_FOR_EVENT):这个函数将CPU置于深度休眠状态。与休眠状态类似,CPU将等待一个事件来唤醒。但是,深度休眠状态下的功耗更低。 根据PSoC 6文档,WFE和WFI指令的主要区别在于唤醒条件。WFI指令在中断请求(优先级高于当前优先级)或调试请求时唤醒,而WFE指令在下一次中断或发送事件(SEV指令)、外部事件或调试信号等事件发生时唤醒。 在使用这些函数时,需要注意以下几点: 1. 在调用这些函数之前,确保已经配置了中断和事件,以便CPU可以在适当的条件下唤醒。 2. 在休眠或深度休眠状态下,CPU的时钟和电源管理将受到影响。因此,在进入这些模式之前,确保已经正确配置了时钟和电源管理。 3. 在唤醒后,可能需要重新配置某些硬件或软件资源,以确保系统正常运行。 4. 如果需要在特定条件下唤醒CPU,可以使用SEV(Send Event)指令来触发事件,从而唤醒CPU。 5. 在使用深度休眠模式时,请注意,某些外设可能无法在深度休眠状态下工作。因此,在进入深度休眠模式之前,确保已经正确配置了外设。 总之,PSoC 6的CM0+内核提供了休眠和深度休眠模式,可以通过Cy_SysPm_CpuEnterSleep()和Cy_SysPm_CpuEnterDeepSleep()函数来实现。在使用这些函数时,需要注意配置中断、事件、时钟和电源管理,以确保系统在低功耗状态下正常运行。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5051 浏览 2 评论
4060 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3566 浏览 9 评论
1194 浏览 8 评论
3482 浏览 7 评论
394浏览 2评论
233浏览 2评论
343浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5064浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
400浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 20:04 , Processed in 0.582009 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号