i.MX 8M Plusシステムオンモジュール、CPU周波数に対するDVFSをサポート

動的電圧周波数スケーリング(DVFS)は、組み込みシステムの性能とエネルギー効率の最適化に不可欠である、高度な電源管理技術です。DVFSでは、処理負荷の重さに応じてプロセッサの電圧と周波数を動的に調整することで、消費電力と発熱を効果的に抑制します。エネルギー効率と熱管理が重要である、バッテリ駆動環境や熱的制約のある環境では、このような抑制が特に重要です。

この技術はプロセッサの周波数を低下させることによって機能し、電力の使用と発熱を直接的に抑制します。同時に、電圧の調整によってプロセッサが安定した状態に維持され、パフォーマンスの状態が変化しても確実に動作します。このような動的な調整には、主な利点がいくつかあります。

  1. エネルギー効率:DVFSは消費電力を大幅に削減するため、ポータブルデバイスのバッテリが長持ちします。そのため、限られた電源に依存するモバイルデバイスやIoTデバイスでは、DVFSは必要不可欠な機能となっています。
  2. 熱管理:DVFSは、発熱を抑制することによってデバイスの信頼性と性能の維持に貢献します。効果的な熱管理によって、ハードウェアの故障や性能低下の原因となる過熱を防止できます。
  3. パフォーマンスの最適化: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.6GHzで動作する強力なクアッドコアArm Cortex-A53 CPUを搭載し、リアルタイム処理タスク用に設計されたArm Cortex-M7コアによって強化されています。i.MX 8M Plusの際立った特長の1つは統合されたニューラルプロセッシングユニット(NPU)です。このNPUは毎秒2.3兆回の演算(TOPS)が可能であり、機械学習の推論タスクを大幅に高速化します。

図1:iWave i.MX 8M Plus SoM(画像提供:iWave)

このSoMは、マルチメディア、コネクティビティ、AIのための多様な機能を備えており、最新のアプリケーションの広範なニーズに対応するように設計されています。また、このような特長があることから、産業用オートメーションやロボティクスからスマートホームデバイスや民生用電子機器に至るまで、幅広いアプリケーションに適しています。

主な特長と機能:

  • 処理能力:
    • 最大1.6GHzで動作するクワッドコアArm Cortex-A53プロセッサ
    • リアルタイム処理タスク用のCortex-M7コア
  • AIと機械学習:
    • 機械学習の推論を高速化するための2.3TOPSを実現する統合NPU
  • コネクティビティのオプション:
    • 無線:
      • 高速な無線コネクティビティのためのWi-Fi 6をサポート
      • 周辺機器との堅牢かつ効率的な無線通信を実現するBluetooth 5.0
    • 有線:
      • デュアルCAN-FD(Controller Area Network with Flexible Data-Rate)インターフェースにより、産業用と車載用のアプリケーションで信頼性の高いリアルタイム通信を実現
      • 高速で決定論的なネットワーキングソリューション用のEthernetコネクタ
  • 周辺機器とのコネクティビティ:
    • USB 3.0とUSB 2.0ポートによってさまざまな周辺機器を接続でき、柔軟かつ広範なコネクティビティオプションを利用可能
    • 高速データ転送と拡張オプションのためのPCIe 3.0スロット
  • マルチメディアとディスプレイ:
    • 複数のディスプレイを接続するためのデュアルLVDS(低電圧差動信号)インターフェース.
    • 高解像度ビデオ出力のためのHDMI 2.0a TX出力(4K解像度対応)
    • 複数のMIPIインターフェース:
      • 高度なカメラソリューション用のMIPI CSI(カメラシリアルインターフェース)ポートx 2を備えており、高画質の画像とビデオキャプチャを実現
      • MIPI DSI(ディスプレイシリアルインターフェース)ポートx 1が高度なディスプレイソリューションに対応し、高性能なビジュアル出力を保証

i.MX 8M Plus SoMは、強力な処理能力、広範なコネクティビティオプション、高度なマルチメディア機能を兼ね備えているため、各種の産業で洗練された高性能アプリケーションの実装を目指す開発者にとって汎用性の高いソリューションです。i.MX 8M Plus SoMは、産業制御システム、スマートホームデバイス、高度なマルチメディアのどのアプリケーションにおいても、現在の厳しい技術要件を満たすのに必要な柔軟性と性能を実現します。

i.MX 8M PlusがCPU周波数を下げる方法

i.MX 8M PlusでCPU周波数を下げるには、デバイスツリーソース(DTS)ファイルの動作点テーブル(oppテーブル)を変更する必要があります。DTSファイルは、使用可能な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

  • 以下の2つのコマンドは、スケーリングガバナーを、指定された周波数に設定します(その周波数がサポートされている場合)。当該の周波数がサポートされていない場合は、最も近いサポートされている周波数が使用されます。

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

echo <frequency> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

表1:各種の動作状態に対する周波数と電圧のペアを指定して、システムが処理負荷の重さに応じて動的に性能を調整できるようにするための項目

まとめ

DVFSの電源管理技術を使用することによって、設計者は組み込みシステムの性能とエネルギー効率を最適化できます。DVFSは、ワークロードの要求に応じてプロセッサの電圧と周波数を動的に調整することで、消費電力と発熱を効果的に抑制します。これは、バッテリ駆動環境や熱的制約のある環境では極めて重要です。

著者について

Image of Tawfeeq Ahmad

Tawfeeq Ahmadは、iWave Systems Technologies Pvt.Ltd.でプロダクトマーケティングを担当しています。電子機器への情熱とマーケティングやセールスへの関心を持つTawfeeqは、iWaveの幅広い組み込みの専門知識を活用して、世界中の組織が製品開発のサイクルを短縮し、効率化を図る支援をすることを目指しています。エレクトロニクスおよび通信の学士号とマーケティングのMBAを持つTawfeeqは、iWave Systemsを製品エンジニアリング組織の世界的なリーダーにすることを目指しています。

More posts by Tawfeeq Ahmad(タウフィーク・アハマド)
 TechForum

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

Visit TechForum