嵌入式Linux电源问题,嵌入式Linux系统的动态电源管理技术

本文将动态电源管理划分为平台挂起/恢复、设备电源管理及平台动态管理三类。重点介绍平台动态电源管理和设备电源管理的设计,包括内核模块控制模型、策略映射等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

综上所述,可以把动态电源管理分为平台挂起/恢复、设备电源管理以及平台动态管理等三类。平台挂起/恢复目标在于管理较大的、非常见的重大电源状态改变,用于减少产品设备在长时间的空闲之后,减少电源消耗。设备电源管理用于关断/恢复平台中的设备(平台挂起/恢复以及动态管理中均要用到);而平台动态管理目标在于频繁发生、更高粒度的电源状态改变范围之内的管理。系统运行的任务可以细分为普通任务和功率受监控的任务。

前者电源状态是DPM_NO_STATE,不作电源管理;后者对功率敏感,在被调度时(参见图1)可以通过DPM来设置其电源管理状态,要求运行在不同的电源级别。本文重点描述平台动态电源管理和设备电源管理两类,并将设备电源管理视为动态电源管理的组成部分。

3.2平台动态电源管理设计

在Linux架构下实现电源管理内核模块需要实现一个应用层和操作系统的接口,一个为多个硬件平台提供通用电源管理逻辑控制框架的硬件无关层,以及一个管理特定硬件电源控制接口的平台相关电源控制层。

3.2.1 内核模块控制模型

模型主要由操作点、管理类、管理策略等组成。

①用电源管理操作点对应平台硬件相关参数。例如,TIOMAPl610参考开发板有多个参数:CPU电压、DPLL频率控制(通过倍频器和分频器两个参数)、CPU频率控制、TC交通控制器、外部设备控制、DSP运行频率、DSP的MMU单元频率和LCD刷新频率。如果使用TI的DSP代码,则后四个参数为不可控,均使用默认值,如表1所列。

2010318115547697.jpg

其中,“192 MHz—1.5 V”操作点参数“1 500”表示OMAP3.2核心电压为1 500 mV;“16”表示DPLL频率控制12 MHz晶振输入16倍频;“1”表示分频为1;“1”表示OMAP3.2核心分频为1(所以它运行在192 MHz)“2”表示TC(交通控制器)分频为2(所以它运行在96 MHz).

②类:多个操作点组成一个管理类。

③策略:多个或一个类组成策略。

一般可以简化系统模型,直接将DPM策略映射到一个系统操作状态下特定的DPM操作点,如表2所列。复杂点系统可以考虑将DPM策略映射到一个多操作点的DPM管理类,再根据操作状态切换时选择管理类中满足约束的第一个操作点。

2010318115547415.jpg

表2中策略映射到四个操作点,分别对应“sleep”、 “idle”、“task-1”、“task”四种电源状态。除非用户加以改变,否则系统fork创建的任务默认运行在DPM-TASK-STATE状态,对应表2中task状态,其操作点为192 MHz-1.5 V。

通过这种结构,电源管理系统把系统创建的任务和具体的电源管理硬件单元参数连接起来,为任务间精细电源管理提供一个框架。

3.2.2内核功能实现

如图2所示,DPM软件实现可以分为应用层、内核层、硬件设备等几个部分。其中内核层又可以分为接口层,硬件无关层和内核硬件相关层(图2中虚线部分),可以分为以下几个方面来描述。

2010318115548496.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值