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

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

3天内不再提示

使用嵌入式Linux的动态电源管理策略

星星科技指导员 来源:嵌入式计算设计 作者:Troy Kitch 2022-06-22 11:07 次阅读

设备制造商正面临挑战,因为消费者要求其设备具有完整的功能,而移动设备正变得越来越复杂和功能丰富。除了完整的功能外,消费者还希望获得持久电池寿命的便利。不幸的是,对于设备制造商来说,这两个设计目标只能以相互为代价来实现。当开发人员被拉向这两个不同的方向时,可以做些什么来减轻他们的痛苦?

当设计团队试图将两者都提供给要求苛刻的消费者时,性能与节能的二分法可能会令人抓狂。满足这些要求意味着不断突破性能的界限,同时从其构建中挤出每一点电池寿命。幸运的是,设计团队拥有触手可及的资源,使他们能够做到这一点。以下讨论提供了有关设备制造商如何通过嵌入式 Linux 的动态电源管理功能最大限度地节省手持设备的功耗的见解。

电源管理案例

电源管理是一个系统范围的设计目标,需要硬件、内核和用户空间应用程序的协调与合作。通过在 CPU 处于活动状态以及处于非活动状态时提供节能选项,Linux 为工程师提供了多种工具,使他们能够在设计构建中最大限度地节能。

但为什么电源管理如此重要?首先,电源管理功能是消费者的首要任务。无论设备的最终用途如何,无论是语音、视频、音乐还是 Web 访问,最终用户都希望他们的移动设备具有持久的电池寿命。因为电源管理对于想要在市场上获胜的制造商来说是必不可少的,所以他们必须将长电池寿命作为首要功能。工程师实现这些期望的能力可以在赢得市场和成为失败者之间产生差异。

制定一个可靠的电源管理策略以最大限度地节省功耗是设计过程早期的关键步骤。这个想法是以对最终用户透明的方式来计划节能。鉴于节能方法总是以性能或功能换取能源,因此必须制定明确的战略。一些成功的设计工程师这样做的方法是在处理器不忙时缩减性能,或者在不使用外设时将其置于待机模式。

全球视野

在制定电源管理策略时,重要的是要全面了解功耗,以节省时间并尽可能节省电能。关注系统中所有的耗电大户,而不是对已经提供足够回报的算法进行复杂的优化,从而获得更好的努力回报。

例如,想想普通移动设备的主要功耗来源。细分表明,片上系统 (SoC) 只是整个战略的一个组成部分。完整的功率图包括其他大量能源消耗,包括背光、DC-DC 转换器功率放大器等。

CPU 是嵌入式系统中功耗的主要来源,必须仔细调节其功耗以实现激进的电源管理目标,例如延长电池寿命。CPUfreq 和 CPUidle 是 Linux 内核中的系统,它们通过称为动态电源管理(DPM) 的技术来管理 CPU 电源使用情况。

DPM 的前提是系统在运行期间会遇到不均匀的工作负载。因此,DPM 包含一组技术,通过选择性地关闭系统组件或在它们不是完全必要或满负荷需要时降低它们的性能来实现节能计算。CPUfreq 通过动态调整 CPU 的电压和频率以响应系统不断变化的性能要求,为节能设计提供了框架。CPUidle 控制当 CPU 无工作时进入哪个低功耗空闲状态。

制定计划:先 DPM,然后再深入

动态电源管理可以在设计过程中的两个关键点实现:CPU 处于活动状态和 CPU 处于非活动状态。

· 当 CPU 处于活动状态时:这可以使用称为负载缩放的技术来实现。在执行代码时动态调整处理器的电压/频率可以节省大量电力。使用称为调速器的插件控制算法,可以根据包括工作负载在内的任意数量的指标调整电压/频率。

· 当 CPU 处于非活动状态时:这可以通过另一种称为空闲缩放的技术来完成。空闲缩放涉及在系统空闲时进入处理器的低功耗状态之一,然后在有指令执行时返回到活动状态(由 CPUfreq 控制)。

为了获得最大效果,两种技术可以一起使用。可以想象,当同时应用空闲和负载扩展策略时,节能的潜力是巨大的。这两种策略都被证明是有效的;他们是真正的主力。

更深奥的策略会产生增量改进。这些通常不值得付出努力。当将称为应用程序扩展的策略应用于执行 MPEG-4 播放的嵌入式系统时,仅比负载扩展策略额外节省 4% 的功率。

应用程序缩放需要修改播放应用程序以实现一种称为提前工作的技术。解码完帧后,前处理算法立即开始在较低的操作点解码下一帧。它继续向前工作,在更节能的操作点解码未来的帧,直到它注意到它有错过最后期限的危险,此时它会将系统限制到更高的性能水平以迎头赶上。这种复杂的优化仅在负载缩放策略上实现了很小的功率节省。商业 Linux 解决方案为空闲和负载缩放技术提供了开箱即用的支持,这使设计人员能够自由地研究和降低系统其他部分的功耗。

提前规划电源

对电源管理的需求不会消失。相反,它正在成为移动设备设计中越来越重要的特征。采用强大的电源管理策略构建的设计团队可以利用 Linux 的功能来提供消费者所需的节能,而不必在性能方面做出不可接受的牺牲。

在设计过程的早期制定节能策略,从全局角度了解功耗,并在 CPU 处于活动状态和空闲状态时利用节能效果仅仅是开始。存在关于电源管理这一重要主题的其他注意事项和策略,因此请务必为即将开展的项目进一步研究这项技术。

审核编辑:郭婷

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

    关注

    112

    文章

    6013

    浏览量

    141102
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206537
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206733
收藏 人收藏

    评论

    相关推荐

    嵌入式人工智能的就业方向有哪些?

    的发展方向有很多,门槛高低不一样。下面给大家列举一些相应岗位所需具备的技能: 一:嵌入式Linux,C语言开发工程师,Linux软件开发工程师 LinuxC语言开发 LinuxC语言开发进阶
    发表于 02-26 10:17

    嵌入式软件开发应该掌握哪些知识?

    知识点学习 熟悉 Linux 的基本使用对于嵌入式软件开发至关重要。包括文件系统的管理、用户权限的控制、软件包管理等。嵌入式开发人员需要能够
    发表于 02-19 11:23

    嵌入式自学好书推荐

    单片机能为嵌入式系统的开发奠定良好基础。推荐书籍:《新型单片机开关电源的设计与应用》。 4.Linux基础:熟悉Linux源码和架构对嵌入式
    发表于 01-11 15:13

    基于嵌入式Linux的数字相框设计

    电子发烧友网站提供《基于嵌入式Linux的数字相框设计.pdf》资料免费下载
    发表于 10-23 09:45 0次下载
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的数字相框设计

    基于嵌入式Linux系统的电源管理软件

    电子发烧友网站提供《基于嵌入式Linux系统的电源管理软件.pdf》资料免费下载
    发表于 10-12 10:33 0次下载
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统的<b class='flag-5'>电源</b><b class='flag-5'>管理</b>软件

    什么是嵌入式Linux

    什么是嵌入式Linux? 对于很多电气、电信、通信专业的同学来说,对口专业就业方向主要有软、硬件两个方向。无论是对于学生还是就业而言,软硬件的开发学习,嵌入式物联网在近年来无疑是一个摆在面前
    发表于 10-11 13:47

    嵌入式Linux系统的动态电源管理技术解决方案

    电子发烧友网站提供《嵌入式Linux系统的动态电源管理技术解决方案.pdf》资料免费下载
    发表于 10-09 15:54 1次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统的<b class='flag-5'>动态</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>技术解决方案

    嵌入式Linux开发教程

    嵌入式Linux开发教程(下册)
    发表于 09-27 07:11

    嵌入式Linux_Android的学习路线图

    嵌入式Linux_Android学习路线图
    发表于 09-27 06:09

    嵌入式Linux应用开发的完全手册

    嵌入式Linux嵌入式领域发展迅速、需求旺盛,但是嵌入式Linux 的入门很难。初学者多是自己琢磨,效率不高。学习过程中碰到的问题千奇百怪
    发表于 09-25 07:12

    基于树莓派的嵌入式Linux开发教学

    树莓派对于全球嵌入式 Linux 开发及教育已经并将继续带来广泛的影响,及早将之引入我国主流的嵌入式开发与教学环境中或将是有益的。尽管传统的 “ARM 开发板硬件设计 +Linux
    发表于 09-21 07:09

    嵌入式Linux命令总结

    嵌入式Linux命令总结
    发表于 09-19 16:30 277次阅读

    嵌入式新手应该怎么学?

    东西也不用一定要记忆,因为在实际中很少用到; 2、嵌入式最核心的操作系统,所以操作系统原理也应该是要有所了解的,比如时间片、任务调动等等; 3、Linux基本命令的使用(vi编辑器必须会用,因为在终端改
    发表于 09-08 10:22

    嵌入式Linux入门(二、Linux文件系统、文件类型及权限管理

    嵌入式 Linux入 门第二课, linux 文件系统、文件类型及权限管理。 ...... 矜辰所致
    的头像 发表于 06-20 11:44 1595次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>入门(二、<b class='flag-5'>Linux</b>文件系统、文件类型及权限<b class='flag-5'>管理</b>)

    嵌入式学习路线你知道吗?

    嵌入式学习路线你知道吗? 1打好嵌入式软件编程的基础 这一阶段重点打好嵌入式软件编程的基础,包括学习Linux系统的基本应用,Linux的常
    发表于 06-14 16:00