一.? ?概述
本篇章將介紹恩智浦原廠所提供一套電源管理套件,能夠透過軟體遠端操作的方式,進行電壓、電流等量測。能夠幫助用戶快速取得晶片中各腳位的電源狀態 !! 非常便利 !! 但此套件需要搭配特定的電源量測晶片 “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】 !!
參考來源