0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何优化使用双核PSoC 6的多种功耗模式方面

星星科技指导员 来源:嵌入式计算设计 作者:Nick Cravotta 2022-06-08 10:07 次阅读

低功耗运行仍然是各行各业应用的关键驱动力。随着睡眠模式的加入,电源管理突然从单纯的硬件问题转变为软件开发人员必须考虑的问题。

电源模式最简单的应用是,当系统空闲时,您将其置于睡眠状态。然而,当今的 MCU 提供了多种低功耗模式,使低功耗设计更加复杂。现在,开发人员需要考虑多核、高频信号处理的复杂独立性,以及如何可靠地满足系统的所有实时期限。

我请 Cypress Semiconductor 的系统工程师 Greg Verge 分享了他在如何优化使用双核 PSoC 6 的多种功耗模式方面的经验。除了 Active(例如 LP 或 Low Power)和 Sleep(例如 ULP 或超低功耗)模式,这款 Cortex M0 + Cortex M4 SoC 支持深度睡眠和休眠模式。开发人员还可以选择降低核心电压以节省电力。

每种电源模式都会点亮 SoC 的不同部分(参见表 1)。Active 为整个芯片供电,而 Hibernate 仅驱动维持 RAM实时时钟和 I/O 引脚配置所需的最低要求。模式节省的电量越多,SoC 可以做的越少,唤醒回活动模式所需的时间就越长。

睡眠模式仍然是您的空闲循环。CPU 时钟停止,但可以通过来自其他内核的中断或请求快速恢复到活动模式。外围设备可以保持活动状态,CPU“立即”从中断的地方执行代码。

深度睡眠很像睡眠,但更多的芯片被关闭并且唤醒时间更长。使用睡眠或深度睡眠的决定取决于系统需要唤醒多快以及系统关闭时哪些外设需要处于活动状态。高频时钟不通电,因此您会丢失一些通信链路 (UART),同时能够保留其他通信链路(SPI 和 I2C)。您还会丢失 ADC,因为它们需要 MHz 时钟。你的 PWM 也会消失,所以当 LED 熄灭时不要担心。

事情开始变得复杂的地方是多核。低功耗模式会影响 CPU 和系统。让一个 CPU 进入深度睡眠不会自动关闭系统资源,因为其他 CPU 可能正在使用它们。因此,只有两个 CPU 都处于深度睡眠状态时,您才能获得完全的低功耗优势。如果您的内核在尝试深度睡眠时不同步,这可能会严重影响您的整体电源效率。

休眠模式

休眠模式将系统置于其最低功耗状态。Hibernate 是一种承诺,因为您不能简单地恢复执行;系统需要重置。当您只需要一点智能来唤醒系统时,休眠在非常长的睡眠期间很有用。这对于实现电源关闭/开启功能或操作低频传感器很有用。

休眠模式还支持保留 RAM 以保存有限的状态信息。例如,您可以存储以前的传感器读数。当您重置系统时,它会检查传感器并将当前值与之前的值进行比较。如果它们在阈值范围内,则不会触发任何事件,系统将返回休眠模式。实现了最大功率效率。

仅仅因为你已经设法让 CPU 进入正确的低功耗模式并不意味着你正在高效运行。在深度睡眠和休眠中,I/O 引脚的泄漏会主导功耗。考虑一个用于偏置电阻的引脚。除了确保使用尽可能高的电阻外,引脚还需要适当地保持高或低,以最大限度地减少功耗(即泄漏)。

休眠模式维护 I/O 引脚的配置,以便您可以将所有引脚保持在最低功耗状态。例如,将电阻器直接连接到电源是一种常见的做法。如果您改为将电阻器连接到 GPIO,而不是电阻器不断消耗功率,您现在可以打开和关闭电阻器。如果您没有意识到这一点,您可能会假设系统在引脚实际绘制 1 ma 时以低 7 µA 的电流运行。从这个角度来看,效率降低了 143 倍,将 10 年的使用寿命缩短到 25 天。

影响低功耗运行的另外两个主要因素是降低核心电压和选择稳压器。例如,PSoC 6 可以为其内核提供 1.1 V 或 0.9 V 的电压。您无法以 0.9V 快速为内核提供时钟,但如果您只是检查温度传感器,那么 50 MHz 仍然要高得多处理超出您的需要。

稳压器的选择(集成 LDO 或高效开关模式降压转换器)允许您以功率效率换取成本。使用降压转换器可为您提供 90% 的效率,但代价是外部电感器

随着芯片制造商不断改进低功耗运行,我们的嵌入式系统将能够事半功倍。请记住,随着更多选项的出现,更多的方法可以消除您优化系统的所有辛勤工作,只需简单地误解系统实际在做什么。

poYBAGKgBHmALY_LAADTGAYbVEI468.png

表 1:不同的功耗操作模式使开发人员能够优化运行时功耗,但您仍然需要小心。此处显示的是 Cypress Semiconductor 的双核 PSoC 6 的模式、电流和唤醒时间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电阻器
    +关注

    关注

    19

    文章

    3554

    浏览量

    61283
  • 稳压器
    +关注

    关注

    24

    文章

    4066

    浏览量

    91937
  • PSoC
    +关注

    关注

    12

    文章

    167

    浏览量

    91095
收藏 人收藏

    评论

    相关推荐

    富昌电子推荐英飞凌PSoC™ 4000T 微控制器,开启突破性低功耗触控解决方案

    (Future Electronics)现为各类低功耗触控应用,提供具有出色信噪比、防水性能和多模式感应功能的PSoC™ 4000T 系列产品,并限时提供免费开发板申请服务。   PSoC
    发表于 04-11 14:51 90次阅读

    使用pSoC6247MCU使用IPC方式M0和M4进行数据传递,ipc双向数据死机的原因?怎么解决?

    我在使用pSoC6247MCU使用IPC方式M0和M4进行数据传递。 我发现如果两个同时传递数据,如果双向都很频繁的时候,有概率丢数据,还有概率引起看门狗复位。 如果改成单项传
    发表于 02-21 07:27

    请问Psoc6 deepsleep最低功耗如何实现?

    使用CE219521参考例程测试Psoc 6 DEEPSLEEp模式下的消耗电流,实测电流在20uA左右 (PCB板上只焊接了MCU和LDO相关器件) 但是规格书上讲: 实测电流和标称电流有些
    发表于 02-21 06:50

    PSoC6的WDT在Hibernate模式是否可以工作?

    大家好!我在这个帖子PSoC 6 Watchdog 看到介绍WDT在Hibernate模式下是可以工作的,但是这里却,却没提到 我把CE220607的deep sleep 模式改为
    发表于 02-21 06:47

    CY8C6347BZI-BLD53调用SMIF组件在休眠模式功耗较高怎么解决?

    客户将PSOC6 BLE Prototyping Kit 上的ES版本的芯片 替换为正式版 在调用PSOC6 的SMIF 组件之后 发现在休眠模式下 有800uA的静态电流消耗, 即使Disable 之后也并没有 减少, 请问在
    发表于 02-21 06:31

    PSoC架构中都可以访问全部外设吗?

    你好!如标题:PSoC 架构中两个内核对芯片的全部外设都有直接访问能力嘛?如果都可以直接访问,那IPC模块的主要应用场景是哪些呢?
    发表于 02-02 11:44

    使用PSOC6单片机CM4,用JLINK下载完程序后,拔掉JLINK程序不能运行的原因?

    使用PSOC6单片机CM4,用JLINK下载完程序后,拔掉JLINK,断电,然后上电芯片程序不能运行,把JLINK插上后,芯片程序能够正常运行,请问是工程哪个地方设置不对吗?
    发表于 02-01 08:09

    PSOC DMA有缓冲功能吗?

    由于需要传输大型音频文件并逐段读取数据,目前使用单缓冲进行数据传输会在每个片段之间产生噪声。 我能想到的是使用类似于 STM32 MCU DMA 的缓冲机制。 PSOC DMA有缓冲功能吗? 或者还有其他方法可以解决这个噪音
    发表于 01-25 07:49

    如何使用Picoscope 2204A测量PSoC6 BLE Pioneer Board上提供的电压?

    电路板上的压降以获得 PSoC 6 MCU 的功耗。 我认为 PSoC 6 MCU 在超低功耗
    发表于 01-19 07:14

    STM32U575/585功耗优化

    DMIPS 性能,同时保持极低的动态功耗。STM32U575/585 器件嵌入了大量智能高性能外设,具有多种先进的超低功耗模拟功能。借助于 LPBAM(低功耗后台自主
    发表于 09-07 06:39

    【英飞凌PSoC 6 RTT开发板试用】+开箱测试

    【英飞凌PSoC 6 RTT开发板试用】+开箱测试 硬件资源介绍 Psoc6-evaluationkit-062S2 是 RT-Thread 联合英飞凌推出的一款集成32位
    发表于 06-05 01:06

    【英飞凌PSoC 6 RTT开发板试用】以搭积木方式实现简单的互联型家庭网关

    CPU (浮点和存储器保护单元),100-MHz Cortex M0+ CPU,带单周期乘法和MPU,可以充分发挥 PSoC6 芯片性能。 二、工程配置 基于RT-Studio创建
    发表于 05-31 22:19

    【英飞凌PSoC 6 RTT开发板试用】

    首先感谢发烧友、RT-Thread和英飞凌! 一、开箱 Psoc6-evaluationkit-062S2 是 RT-Thread 联合英飞凌推出的一款集成32位CPU子系统( ARM
    发表于 05-30 20:47

    请问之间如何通信?

    请问之间如何通信? 怎么处理核对外设资源出现竞争的问题?
    发表于 05-26 06:37

    在IMXRT1175控制器中使用时,CAN外设在cm7中无法正常工作怎么解决?

    时,CAN 在通电后工作。而且 CAN 在通电后在的 cm4 中工作正常,但在“通电”后它在 cm7 模式下不工作。请提供此问题的解
    发表于 04-21 07:12