i.MX 8M Plus 系統模組以 DVFS 支援 CPU 頻率調控
動態電壓和頻率調整 (DVFS) 是一種精密的電源管理技術,有助於讓嵌入式系統效能與能效達到最佳化。DVFS 根據工作負載的要求動態調整處理器的電壓和頻率,因此能有效降低功耗及熱生成。這在電池供電和散熱受限的環境中格外重要,因為在此類環境中,能效和熱管理扮演關鍵角色。
DVFS 的技術原理是降低處理器的頻率,藉此直接減少功耗及熱生成。同時調整電壓,以確保處理器在多種效能狀態下保持穩定並可靠運作。這種動態調整能力提供幾個關鍵優點:
- 能效:DVFS 能顯著降低功耗,進而延長可攜式裝置的電池續航力。這對倚賴電力限制型電源的行動裝置和 IoT 裝置而言,是非常重要的特點。
- 熱管理:藉由降低熱生成,DVFS 有助於維持裝置的可靠性和效能。有效的熱管理能防止溫度過熱,否則可能導致硬體失效或效能下降。
- 效能最佳化:DVFS 視需要提供必要的運算能力並在執行要求較低的任務時節省能源,在效能和功耗之間取得平衡。此平衡能確保裝置高效率運作而不致影響電源效率。
以下介紹 i.MX 8M Plus 系統模組 (SoM) 的 DVFS 實作,強調 DVFS 的重要性、運作機制以及如何徹底善用此特點達到最佳效能與電源效率。開發人員一旦對 DVFS 有所認識並善用,將可提高嵌入式系統的能效和可靠性,使嵌入式系統在多種應用中變得更強大且穩健。
i.MX 8M Plus 系統模組概述
i.MX 8M Plus 系統模組 (SoM) (圖 1) 以 NXP i.MX 8M Plus 應用處理器為核心建構。此處理器採用執行速度最高達 1.6 GHz 的高效率四核心 ArmCortex-A53 CPU,並搭配專為即時處理任務所設計的 Arm Cortex-M7 核心。i.MX 8M Plus 傑出的特點之一是採用整合式神經處理單元 (NPU),此單元能提供 2.3 TOPS 運算能力,明顯加速機器學習推論任務的執行速度。
圖 1:iWave i.MX 8M Plus SoM。(圖片來源:iWave)
這款 SoM 提供廣泛的多媒體、連接選項和 AI 功能,滿足現代應用的各式需求。基於這些特點,舉凡工業自動化和機器人到智慧型家庭裝置與消費性電子產品的各種應用,都適用這款 SoM。
主要特點與功能:
- 處理能力:
- 運作速度高達 1.6 GHz 的四核心 Arm Cortex-A53 處理器
- 負責即時處理任務的 Cortex-M7 核心
- AI 與機器學習:
- 整合式 NPU 能提供 2.3 TOPS,提高機器學習推論速度
- 連接選項:
- 無線:
- 支援 Wi-Fi 6,達到高速無線連線
- 藍牙 5.0 有助與周邊裝置進行高效率、可靠的無線通訊
- 有線:
- 雙 CAN-FD (具備靈活數據傳輸率的控制器區域網路) 介面,有助於在工業和汽車應用中進行可靠的即時通訊
- 用於高速、確定性網路解決方案的乙太網路連接器
- 周邊裝置連接性:
- USB 3.0 和 USB 2.0 連接埠用於連接多種周邊裝置,確保連接選項靈活且可滿足許多用途
- PCIe 3.0 插槽用於支援高速數據傳輸與擴充能力
- 多媒體和顯示器:
- 雙 LVDS (低電壓差動訊號) 介面用於連接多個顯示器
. - HDMI 2.0a TX 輸出用於高解析度視訊輸出,支援 4K 解析度
- 多重 MIPI 介面:
- 2 個用於進階攝影機解決方案的 MIPI CSI (攝影機序列介面) 連接埠,達到出色的影像與視訊擷取品質
- 1 個用於進階顯示解決方案的 MIPI DSI (顯示序列介面) 連接埠,確保高效能視覺輸出
i.MX 8M Plus SoM 結合強大的處理能力、廣泛的連接選項與進階多媒體特點,是一款多用途的解決方案,能為開發人員在眾多產業中實作複雜、高效能的應用。無論是工業控制系統、智慧型家庭裝置,還是進階多媒體應用,i.MX 8M Plus SoM 都能提供滿足現今嚴苛技術要求所需的彈性與效能。
如何降低 i.MX 8M Plus 的 CPU 頻率
若要降低 i.MX 8M Plus 的 CPU 頻率,必須修改 Device Tree Source (DTS) 檔案中的操作點表格 (opp-table)。DTS 檔定義系統的硬體配置,包括可用的 CPU 操作點;CPU 操作點決定可能的 CPU 頻率及對應的電壓位準。調整這些操作點將能控制 CPU 的最大與最小運作頻率 (圖 2 和清單 1)。
圖 2:如何更改 CPU 工作頻率的流程圖。(圖片來源:iWave)
複製a53_opp_table:opp-table
{
compatible=“operating-points-v2”;
opp-shared;
opp-100000000 {
opp-hz = /bits/ 64 <100000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0x8a0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
清單 1:用於設定 CPU 工作電壓和頻率的程式碼。
這些命令設定恆定的 CPU 頻率:
- 使用最大頻率:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- 以目前頻率作為恆定頻率:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- 以下兩種命令用於將頻率調控器設為指定頻率 (若有支援)。如果不支援指定的頻率,則會使用最接近的支援頻率:
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo <frequency> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
表 1:這些項目為不同運作狀態指定其頻率-電壓組合,使系統能根據工作負載的要求動態調整效能。
結論
設計人員運用 DVFS 電源管理技術,便能將嵌入式系統的效能與能效最佳化。DVFS 根據工作負載的要求動態調整處理器的電壓和頻率,因此能有效降低功耗和熱生成,這點在電池供電和散熱受限的環境中十分重要。

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.
Visit TechForum