一.? ?概述
本篇章將介紹恩智浦原廠所提供一套電源管理套件,能夠透過軟體遠端操作的方式,進行電壓、電流等量測。能夠幫助用戶快速取得晶片中各腳位的電源狀態 !! 非常便利 !! 但此套件需要搭配特定的電源量測晶片 “PAC1934” 才能運行,故僅支援特定型號的晶片,如下所示。
BCU?套件支援的特定晶片與 EVM?型號示意圖
?
其中,在這系列所提供的電源管理套件,可以細分成 Board Remote Control Utilities (BCU) 與 Power Measurement tool (PMT) 兩個套件,前者提供主要的遠端操作技術,後者則是將 BCU 整合 GUI,使得介面變得更強大。故此章節將從 BCU 使用介紹 ( Linux ) 來分享操作。
?大大通精彩博文???【ATU Book-i.MX8系列】博文索引
Power Measurement系列博文-文章架構示意圖
??
二.??Board Remote Control Utilities (BCU)
BCU?是專門設計用於遠端控制開發板的一套軟體,提供 on / off 按鍵操作、設定 boot 模式、控制 GPIO 以及電源檢測等等項目。
?環境操作????i.MX8M PLUS?EVK , BSP L5.15.71
?
1.? BCU?測試項目與功能
?
?
2.? BCU?安裝方式?( Linux )
?$ sudo snap install --devmode bcu-nxp; sudo snap alias bcu-nxp bcu
?
3.? BCU 使用方式 ( Linux )
下列將於 Ubuntu 18.04 演練 BCU 的使用方式,請開啟終端機與開發板執行下列指令。
官方網站 :?https://github.com/NXPmicro/bcu
? ? ? ? ? ? ? ?https://github.com/NXPmicro/bcu/releases
(1)?檢測?FTDI?通道?:
$ sudo bcu lsftdi
?
?
(2)?檢測當前支援的開發板?:
$ sudo bcu lsboard
?
?
(3)?檢測當前支援的?Boot?模式?:
$ sudo bcu lsbootmode -board=imx8mpevkpwra1
?
?
(4)?設置?boot?模式?:
$ sudo bcu set_boot_mode [BOOTMODE_NAME] -board=imx8mpevkpwra1
?
?
(5)?重置?:
$ sudo bcu reset [BOOTMODE_NAME] -board=imx8mpevkpwra1
?
?
(6)?檢測當前支援的?GPIO?腳位?:
$ sudo bcu lsgpio -board=imx8mpevkpwra1
?
?
(7)?設置?GPIO?腳位?:
?範例 : 設置 on / off 腳位為 0 並保持三秒鐘。
$ sudo bcu set_gpio [GPIO_NAME] 0 -hold=3000 -board=imx8mpevkpwra1
?
?
(8)?取得?GPIO?等級狀態?:
$ sudo bcu get_level [GPIO_NAME] -board=imx8mpevkpwra1
?
?
(9)?讀取?EEPROM?配置?:
$ sudo bcu eeprom -r -board=imx8mpevkpwra1
?
?
(10) 設置 EEPROM 配置 :
$ sudo bcu eeprom -w -board=imx8mpevkpwra1 -brev=A1 -srev=A1 -sn=1
?
其中? 選項 [-brev] 為修正 EVK的版本資訊。
選項 [-srev] 為修正 SoC的版本資訊。
選項 [-sn] 為修正 Board Serial Number 的版本資訊。
配置資訊可參考下方表格 :
?
(11)?使用?Power Measurement?監控電源狀態?:
$ sudo bcu monitor -board=imx8mpevkpwra1
?
若添加選項 [-hz] 可調整更新率。
????? 選項 [-nodisplay] 停止顯示畫面。
????? 選項 [-dump] 下載至 CSV 檔案。
利用 Hot-key 進行以下操作 :
? ? ? 輸入 1 : Reset Avg 重置平均值
? ? ? 輸入 2 : Reset MaxMin 重置最大最小值
? ? ? 輸入 3 : Reset Avg and MaxMin 重置平均值、最大與最小值
? ? ? 輸入 4 : Switch Show mA/auto/uA ?切換電流顯示方式
? ? ? 輸入 5 : Reset Board 重置開發板
? ? ? 輸入 6 : Resume the Board 還原開發板設定
?
(12)?使用?Power Measurement?監控電源狀態,並儲存於?csv ?:
$ sudo bcu monitor -board=imx8mpevkpwra1 -rms -dump=cpu-idle-default
?
?
三.? 結語
如上篇所述,使用 BCU 能夠實現遠端電源量測,大幅度降低開發者在測量晶片電壓時,所造成的不便。反之,亦可利用軟體監控的方式隨時監控晶片的電源狀態。除此之外,BCU 亦能遠端操作 GPIO 的電位狀態以及 Boot 與 EEPROM 的配置,使用者可以透過遠端方式進行管理。本系列介紹 Widnows 與 Linux 的操作方式,然而原廠也有提供 masOS 的用法,作者因受限於缺乏硬體故無法實際演示,若有興趣的讀者請查閱原廠文件。下一篇,將與各位介紹 “Power Measurement tool 使用介紹” 的操作方式。敬請期待 !!
?
四.??參考文件
[1] 官方文件 - Board Remote Control Utilities (BCU) Release Notes
[2]?官方文件 - BCU 原始代碼
[3]?官方文件 - i.MX 8M Plus Power Consumption Measurement
如有任何相關 Power Measurement?進階技術問題,歡迎至博文底下留言提問?!!
接下來還會分享更多技術文章 !!敬請期待 【ATU Book-i.MX8系列 – Power Measurement】 !!
參考來源