跳转至

Tina功耗管理框架概述

2 Tina 功耗管理框架概述

2.1 功能介绍

tina 功耗管理系统主要由休眠唤醒(standby、autosleep、runtime pm), 调频调压(cpufreq、devfreq、dvfs ),开关核(cpu hotplug),cpuidle 等子系

统组成。主要用于对系统功耗进行管理和控制,平衡设备功耗和性能。

一般我们可将其分为两类,即静态功耗管理和动态功耗管理。

Tina_Linux_Power_Management_Development_Guide-image-20230104145122259

图2-1: 功耗管理系统分类

一般地,可以动态调整或实时改变系统状态而达到节能目的技术,称为动态功耗管理,例如调频调压,idle, hotplug, runtime-pm 等;

相对地,我们把单纯地将系统置为某一种状态,而不实时调整的低功耗技术,称为静态功耗管理,例如休眠唤醒相关技术等。

由于在tina 系统中,动态功耗技术一般来说默认配置好了,基本不需要客户修改, 另外如调频,温控等模块会在Linux 模块开发指南目录下,由模块相关的文档说

明。因此本文主要介绍静态功耗管理技术,即休眠唤醒框架。

2.2 相关术语

表2-1: 术语表

术语 解释
CPUS 全志平台上,专用于低功耗管理的协处理器单元。
CPUX 主处理器单元,主要为客户应用提供算力的ARM/RISC-V 核心。
WFI ARM 体系中一种指令,可将CPUX 置于低功耗状态,直到有中断发生
而退出该状态。详细请参考ARM 手册,例如
《DDI0487A_d_armv8_arm.pdf》。
NormalStandby、
SuperStandby
Allwinner 内部术语,系统进入一种低功耗状态,暂停运行,以获取更低
的功耗表现,区别是CPUX 是否掉电。前者CPUX 不掉电,系统唤醒直
接借助于CPUX 的WFI 指令完成。后者CPUX 掉电,系统唤醒需借助
其他硬件模块实现,如CPUS。
Arm Trusted
Firmware
ARMv8-A 安全世界软件的一种实现,包含标准接口:PSCI、TBRR、
SMCCC 等。在本文中,将其软硬件实现,统称为ATF。
OP-TEE 一种安全操作系统方案,具有单独的SDK 环境,以二进制文件的形式集
成在tina 中,在本文中,统称为OP-TEE。
SCP、ARISC 即CPUS 的SDK 环境。最初CPUS 固件以闭源方式集成在tina 环境
中,文件名为scp.bin,故称SCP。现已在tina 中提供开源代码包,目
录名为arisc,故又称为ARISC。
BMU 电池管理芯片,提供电池升压,充电管理等功能,同时可外接电源键,用
于开机,休眠,唤醒等。
PMU 电源管理芯片,有多个可调的DC-DC, LDO 通道,提供电源管理功能,
同时可外接电源键,用于开机,休眠,唤醒等。

2.3 唤醒源支持列表

PowerKey LRADC RTC WIFI(GPIO) BT UART USB 插拔MAD
R328 N Y N Y Y
R329 Yˆ1 Y Y Y Yˆ2 Y
D1-H N Y Y Y
V853 Y Y Y Y

注:Y: 支持;N: 不支持;--: 未明确

ˆ1: 仅带PMU 的方案支持;

ˆ2: 仅suart 支持;