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 的模式、电流和唤醒时间。

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

    关注

    21

    文章

    3779

    浏览量

    62112
  • 稳压器
    +关注

    关注

    24

    文章

    4223

    浏览量

    93759
  • PSoC
    +关注

    关注

    12

    文章

    170

    浏览量

    91891
收藏 人收藏

    评论

    相关推荐

    如何优化单片机项目的功耗

    功耗低的单片机是优化功耗的第一步。不同的单片机在工作模式下有不同的功耗表现,包括活动模式、睡眠
    的头像 发表于 11-01 14:16 288次阅读

    cpu和单核cpu的区别

    CPU与单核CPU在多个方面存在显著差异,这些差异主要体现在处理能力、性能、运行效率、功耗以及适用场景等方面。 一、概念与结构
    的头像 发表于 09-24 16:17 2739次阅读

    dsp和单核dsp的区别

    DSP(Digital Signal Processor,数字信号处理器)与单核DSP在多个方面存在显著差异,这些差异主要体现在处理能力、任务分配、资源利用以及适用场景等方面。 一
    的头像 发表于 09-24 16:14 758次阅读

    如何在PSoC64中使用CPU?

    有没有人能够在 PSoC64 中使用 CPU? 要在 PSoC64 上运行应用程序,必须使用正确的安全和配置文件。 在同时使用 ARM0+ 和 ARM4 处理器的应用程序中,它们的位置在哪里? 我
    发表于 09-23 08:16

    FPGA的IP软使用技巧

    FPGA的IP软使用技巧主要包括以下几个方面: 理解IP软的概念和特性 : IP软是指用硬件描述语言(如VHDL或Verilog)描述的功能块,但并不涉及具体的电路实现细节。它通
    发表于 05-27 16:13

    PSoC6 BLE PIONEER KIT演示固件无法烧录的原因?

    DPIDR 0x6ba02477 错误:[psoc6.cpu.cm4] 故障后清除锁定 [psoc6.cpu.cm4] 由于调试请求而停止,当前
    发表于 05-24 06:07

    使用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

    stm32f030K4t6功耗设置

    行低功耗设置。 首先,我们需要了解STM32F030K4T6微控制器的低功耗模式。该微控制器具有多种
    的头像 发表于 01-04 10:41 1204次阅读