X2580 功耗数据
X2580可以工作在以下四种工作状态,不同工作状态和功耗如下
硬件环境:X2580_EVB_V1.0开发板
软件环境:Linux-4.4.94
正常工作模式(Normal)
在正常工作模式下,芯片内所有的模块和和时钟都在工作状态,
正常工作模式下各模块的电源和时钟状态如下
正常工作功耗:根据当前任务而定
空闲模式(Idle)
在空闲模式下,CPU core时钟停止,但是 总线控制器,内存控制器, 中断控制器等模块均正常工作
空闲模式下各模块的电源和时钟状态如下:
当系统没有任务运行时,自动进入该模式, 有内部外部中断时立即进入到Normal工作模式
空闲功耗 : ≈ 75mA@5V
退出时间 : 0ms
深度睡眠模式(FastBoot)
在深度休眠模式下,除了RTC供电和时钟正常, DDR进入自刷新模式外, 其他所有模块的供电断电和时钟停止工作,
进入深度睡眠模式(FastBoot)时, 将PLL和DDR配置,时钟现场数据等保存在RTC RAM中, DDR进入low power自刷新模式,芯片执行关机操作,RTC拉低PWRON管脚, (其他芯片内部的模块均断电,关时钟,相应的外设也会断电),
注 : 需要硬件电路保证RTC和DDR在深度休眠模式(FastBoot)下供电正常.
深度睡眠模式下各模块的电源和时钟状态如下:
进入深度休眠后模式(FastBoot)后只有RTC或WAKEUP按键(PD31)可以唤醒,其他方式均无法将芯片从深度休眠模式(FastBoot)下退出,
唤醒的流程是:当RTC定时时间到或WAKEUP按键(PD31)按下后,RTC模块拉高PWNON管脚,设备上电CPU开始执行开机流程,执行到Uboot阶段时, 根据复位状态寄存器(RSR)的值判断唤醒条件, 如果是从深度休眠模式(FastBoot)唤醒,则跳转到resume流程(即从RTC RAM中恢复PLL和DDR配置, DDR退出low power模式), 进而进行恢复外设驱动等
否则继续继续运行Uboot初始化流程(初始化时钟,DDR时序,加载kernel等...)完成正常的启动流程
FastBoot模式的休眠唤醒流程如下:
推荐进入深度休眠模式方法:
1.设置进入深度休眠模式下DDR供电正常(不同硬件电路方法不同,以下为 X2580_EVB_V1.0硬件电路设计 控制方法)
#cmd_gpio set_func pa29 output1
#
#cmd_gpio set_func pa22 output1
#cmd_gpio set_func pa22 output0
# 关闭相关应用和驱动
2.进入休眠模式
#echo mem > /sys/power/state
此时进入FastBoot模式, 串口输入无响应, 按下WAKEUP按键可唤醒设备
3.唤醒方法: RTC定时唤醒 或 WAKEUP按键(PD31)唤醒
正常进入/退出FastBoot模式的log信息如下(串口命令行参数无 quiet参数时)
休眠功耗 : < 1.5mA@5V
唤醒时间 : ≈ 200ms(最小系统,不包括外设和相关驱动)
建议流程: 主动关闭相关应用和驱动(例如Camera和FrameBuffer执行关闭流程),再执行进入休眠的操作,
当唤醒之后,再重新执行初始化等操作.
关机模式(Hibernate)
在关机模式下,除RTC供电正常外,芯片内部所有模块和外设都断电. (需硬件电路支持),
关机模式下各模块的电源和时钟状态如下:
以下为默认配置无外设场景下的开机信息
关机功耗 : ≈ 150 ~ 200uA@5V
开机时间 : ≈ 1600ms(上电 到 用户空间可执行程序)
X2580 EVB_V1.0常用场景下整机功耗数据
CPU : 1.1G
DDR: 750M 容量为 DDR3 128MByte
状态 | 整机功耗@5V |
---|---|
idle模式 | 75mA@5V |
memtester | 150mA@5V |
memtester+sensor | 153mA@5V OV9282@720P@120fps |
memtester+sensor+NPU定位 | 240mA@5V OV9282@720P@120fps |
memtester+sensor+NPU定位+IPU画框 | 266mA@5V OV9282@720P@120fps |
FastBoot模式 | 1.5mA@5V |