一. 概述
本篇章将介绍恩智浦原厂所提供一套电源管理套件,能够透过软体远端操作的方式,进行电压、电流等量测。能够帮助用户快速取得芯片中各脚位的电源状态 !! 非常便利 !! 但此套件需要搭配特定的电源量测芯片 “PAC1934” 才能运行,故仅支援特定型号的芯片,如下所示。
BCU 套件支援的特定芯片与 EVM 型号示意图
其中,在这系列所提供的电源管理套件,可以细分成 Board Remote Control Utilities (BCU) 与 Power Measurement tool (PMT) 两个套件,前者提供主要的远端操作技术,后者则是将 BCU 整合 GUI,使得界面变得更强大。然而,后续章节将会介绍几种“使用场景”,读者仅需要依照各应用场景的步骤操作,并使用 BCU 或 PMT 来测量电压即可。在每一个场景中,将会提供原厂的标准电压数据,请测量完数据后,进行比对。故此章节将从 实际应用 - 软体验证(一) 来分享操作。
大大通精彩博文 【ATU Book-i.MX8系列】博文索引
Power Measurement 系列博文-文章架构示意图
二. Power Measurement Tool (PMT)
Power Measurements 顾名思义就是电源量测,此章节将结合 BCU 或 PMT 两个软体,来测量各样的应用分析的电源数据,比如说使用 NPU / GPU 使用的耗电量测、双镜头的耗电量测等等。
环境操作 i.MX8M PLUS EVK , BSP L5.15.71
1. 测量方式
开发板搭载 PAC1934 的电源量测芯片,结合既有的电阻元件资讯,即可透过 BCU 与 PMT 工具来量测各个节点之间的电压、电流、功率等等。其中能检测的节点,如下 PMIC 所量测的各节点电压之示意图 所示。
图文来源 : i.MX 8M Plus Power Consumption Measurement
(1) 各电压节点名词解释 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
(2) 各电压节点,在不同模式的电源状态 :
共 Nominal mode / Overdrive mode / Super Overdrive mode 三种模式。
图文来源 : i.MX 8M Plus Power Consumption Measurement
(3) 测量项目 :
◆ CPU ( ARM ) 电压、电流。
◆ DRAM、LPDDR4 电压、电流。
◆ System 电压、电流。
◆ SoC 电压、电流。
◆ SD Card 电压、电流。
◆ LVDS、HDMI 电压、电流。
◆ USB、PCI、MIPI 电压、电流。
2. 使用场景
以下实验请连接萤幕与网路进行操作,设定完成场景后,请使用 BCU 或 PMT 测量电源。
因测量电压、电流数据繁多,将不易于图形呈现,故以 csv 档案呈现,还请读者自行比对数据,谢谢。
(1) Suspend mode :
睡眠模式 (suspend mode)
操作方式 :
$ echo mem > /sys/power/state
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
(2) Systems idle mode
待机模式( IDLE_DEFAULT )
操作方式 :
$ bash setup_default.sh
#!/bin/bash
systemctl stop weston.service
echo 1 > /sys/class/graphics/fb0/blank
partitions=`lsblk |awk '$1 !~/-/{print $1}' |grep 'blk\|sd'`
for partition in $partitions; do
echo 512 > /sys/block/$partition/queue/read_ahead_kb
done
ifconfig eth0 down
ifconfig eth1 down
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
待机模式-低功耗( IDLE_LOW_BUS )
操作方式 :
$ bash DDRC_25MHz_setup.sh
#!/bin/bash
systemctl stop weston.service
echo 1 > /sys/class/graphics/fb0/blank
cpufreq-set -g powersave
rmmod qca9377
#echo 8 > /proc/sys/kernel/printk;
ifconfig eth0 down
ifconfig eth1 down
echo 1 > /sys/devices/platform/busfreq/enable
echo auto > /sys/bus/platform/devices/32f10100.usb/38100000.usb/power/control
echo auto > /sys/bus/platform/devices/32f10108.usb/38200000.usb/power/control
sleep 5
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
(3) Audio Playback
声音播放 ( Audio Playback )
操作方式 :
$ bash setup.sh
#!/bin/bash
systemctl stop weston.service
cpufreq-set -g performance
echo 1 > /sys/class/graphics/fb0/blank
partitions=`lsblk |awk '$1 !~/-/{print $1}' |grep 'blk\|sd'`
for partition in $partitions; do
echo 512 > /sys/block/$partition/queue/read_ahead_kb
done
ifconfig eth0 down
ifconfig eth1 down
$ bash gplay_audio.sh
audio_file='Mpeg1L3_44kHz_128kbps_s_Ed_Rush_Sabotage_mplayer.mp3'
gplay-1.0 $audio_file
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
声音播放 -低功耗 ( Audio Playback - LOW_BUS )
在声音播放时的场景且处于待机模式(LOW_BUS) 下,时脉与锁相回路设置,如下表格 :
操作方式 :
$ bash DDRC_25MHz_setup.sh
#!/bin/bash
systemctl stop weston.service
echo 1 > /sys/class/graphics/fb0/blank
cpufreq-set -g powersave
rmmod qca9377
#echo 8 > /proc/sys/kernel/printk;
ifconfig eth0 down
ifconfig eth1 down
echo 1 > /sys/devices/platform/busfreq/enable
echo auto > /sys/bus/platform/devices/32f10100.usb/38100000.usb/power/control
echo auto > /sys/bus/platform/devices/32f10108.usb/38200000.usb/power/control
sleep 5
$ bash gplay_audio.sh
#!/bin/bash
audio_file='Mpeg1L3_44kHz_128kbps_s_Ed_Rush_Sabotage_mplayer.mp3'
gplay-1.0 $audio_file
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
(4) Core benchmark
Core Dhrystone
Dhrystone 是衡量处理器的运行能力的一个标准程序,须下载原始代码并于开发板中,并在该路线下达 make 指令编译出 gcc_dry2 即可应用。
操作方式 :
$ bash setup.sh
#!/bin/bash
systemctl stop weston.service
cpufreq-set -g performance
echo 1 > /sys/class/graphics/fb0/blank
partitions=`lsblk |awk '$1 !~/-/{print $1}' |grep 'blk\|sd'`
for partition in $partitions; do
echo 512 > /sys/block/$partition/queue/read_ahead_kb
done
ifconfig eth0 down
ifconfig eth1 down
$ bash dhrystone_loop.sh
while [ "1" == "1" ]
do
sudo taskset -c 0 dhrystone/src/gcc_dry2 &
sudo taskset -c 1 . dhrystone/src/gcc_dry2 &
sudo taskset -c 2 . dhrystone/src/gcc_dry2 &
sudo taskset -c 3 . dhrystone/src/gcc_dry2
done
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
Core Whetstone
Whetstone 是衡量处理器的运行能力的一个标准程序,须下载原始代码并于开发板中,并在该路线下达 make 指令编译出 whet 即可应用。
操作方式 :
$ bash setup.sh
#!/bin/bash
systemctl stop weston.service
cpufreq-set -g performance
echo 1 > /sys/class/graphics/fb0/blank
partitions=`lsblk |awk '$1 !~/-/{print $1}' |grep 'blk\|sd'`
for partition in $partitions; do
echo 512 > /sys/block/$partition/queue/read_ahead_kb
done
ifconfig eth0 down
ifconfig eth1 down
$ bash whetstone_loop.sh
while [ "1" == "1" ]
do
sudo taskset -c 0 ./DhryAndWhetstones/whet &
sudo taskset -c 1 ./DhryAndWhetstones/whet &
sudo taskset -c 2 ./DhryAndWhetstones/whet &
sudo taskset -c 3 ./DhryAndWhetstones/whet
done
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
(5) GPU
GPU_GLmark
GLmark 是以 OpenGL 为基准来评估 GPU 的工具,故搭配此工具来测试。
操作方式 :
$ bash setup_video.sh
#!/bin/bash
export WL_EGL_SWAP_INTERVAL=0
cpufreq-set -g performance
partitions=`lsblk |awk '$1 !~/-/{print $1}' |grep 'blk2boot\|sd'`
for partition in $partitions; do
echo 512 > /sys/block/$partition/queue/read_ahead_kb
done
ifconfig eth0 down
ifconfig eth1 down
echo 1 > /sys/class/graphics/fb0/blank
echo 0 > /sys/class/graphics/fb0/blank
$ bash gpu_glmark.sh
while true;do
glmark2-es2-wayland --fullscreen
done
测量数据 :
图文来源 : i.MX 8M Plus Power Consumption Measurement
测试结果 : 请查阅
三. 结语
该章节复刻了原厂所提供的应用场景,读者仅须要输入相应的指令操作即可复现。并可以搭配 BCU 或 PMT 工具的结果来比对当前电压电流数据与原厂提供的标准数据是否相符。举例在 Suspend mode 的场景下,ARM 核心的电压约 0.001 V 与 DRAM 的电压为 1.11 V ,在 PMT 的测量下皆有呈现相应的电压 (请打开 csv 进行比对)。透过这几各场景即可呈现 BCU 与 PMT 的实用性,这里因为篇幅的关系,将本章节拆分为两个部分。下一篇,将与各位介绍另外几种应用场景 “实际应用 - 软体验证(二)”。 敬请期待 !!
四. 参考文件
[1] 官方文件 - Board Remote Control Utilities (BCU) Release Notes
[2] 官方文件 - BCU 原始代码
[3] 官方文件 - i.MX 8M Plus Power Consumption Measurement
[4] 官方文件 - i.MX 8M Plus Power Measurement Board User's Guide
[5] 官方文件 - i.MX 8M Plus Power Consumption Measurement
[6] 官方文件 – PMT 原始代码
如有任何相关 Power Measurement 进阶技术问题,欢迎至博文底下留言提问 !!
接下来还会分享更多技术文章 !!敬请期待 【ATU Book-i.MX8系列 – Power Measurement】 !!
评论