Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

システムのスリープおよびウェイクアップ技術は、電源管理における重要な技術です。これにより、システムはアイドル時の電力消費を最小限に抑え、外部デバイス、チップの内部 IP、クロックを低電力状態または完全に電源オフ状態にして、バッテリ寿命を大幅に延長できます。さらに、ユーザーが必要に応じて、システムは電源、クロック、チップの内部 IP の動作状態、および外部デバイスを迅速に復元し、ユーザー エクスペリエンスが中断されないようにします。

組み込み OK113i-S 開発ボードは、フリーズとメモリの 2 つのスリープ モードをサポートします。これら 2 つのメソッドは、/sys/power/state ファイル ノードを通じて操作でき、ユーザーはファイル ノードに freeze または mem を書き込むことで、対応するスリープ状態をトリガーできます。

ハイバネーションの前に、システムはウェイクアップ ソースを構成します。システムがスリープ状態に入ると、必要に応じてキーや RTC などのウェイクアップ ソースによってシステムを起動できます。この設計により、ユーザーはニーズに応じてシステムを迅速にウェイクアップするタイミングと方法を選択でき、消費電力の最小化と迅速な回復の間のバランスを実現します。この仕組みにより、システムはスリープ状態での消費電力を大幅に削減しつつ、起動後すぐにシステムを使用できる利便性を維持することができます。

www.forlinx.net

この記事では、組み込みOK113i-S 開発ボードをスリープ モードにする方法と、RTC クロックを通じて時間指定のウェイクアップを実現する方法を紹介します。 

Forlinx の組み込み T113-i 開発ボード

01 2つのスリープモード

氷結

I/O デバイスをフリーズして低電力状態にすると、プロセッサがアイドル状態になり、他の方法と比べてウェイクアップ時間が最速になりますが、消費電力が高くなります。シリアル ポートのみを介して電力供給される OK113i-S 開発ボードでのテスト結果に基づくと、電流は 5V で約 0.112A であることがわかりました。

記憶に留めます。コンピュータは現在の動作状態やその他のデータをメモリに保存し、ハードディスクや周辺機器などのデバイスを閉じて待機状態に入ります。この時点でも、メモリはデータを維持するために電力を必要としますが、マシン全体の電力消費はほとんどありません。コンピュータがサスペンド状態から再開すると、メモリに保存されているデータを読み取り、サスペンド前の正確な状態に復元します。

これにより、システムを完全に起動する場合と比べて、回復時間が短縮されます。測定された OK113i-S 開発ボードは、シリアル ポート ラインのみが接続されている場合は 5V で電力が供給され、電流は約 0.076 A です。

1. cat /sys/power/state を実行して、OK113i-S 開発ボードでサポートされているモードを確認します。

OK113i-S 開発ボードの測定

2. echo フリーズ > /sys/power/state フリーズ モードに入ります。

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

3. echo mem > /sys/power/state mem モードに入ります。

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

02 RTC による時間指定ウェイクアップ

注: ここでは内部 RTC が必要です。外部 RTC はウェイクアップ機能をサポートしていません。これについては後で説明します。

開発ボードのカーネル構成を入力します。

root@ubuntu: /home/forlinx/work/linux/OK113i-linux-sdk# ./build.sh menuconfig

次の図のボックスに従って機能を選択します。

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

設定が完了したら、それを保存し、デバイス ツリー ファイルを変更して内部 RTC 機能を開きます。

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

保存後にコンパイルします。

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

コンパイルが成功すると、イメージにパッケージ化されます。プログラミングが完了したら、シリアル ポート端末でテストします。

テスト用のシリアル ポート ターミナルを入力します。

echo “+15”> /sys/class/rtc/rtc0/wakealarm

15秒タイマーを任意の時間を設定して使用できます。タイマーが設定されるとカウントダウンが始まり、リアルタイム クロック (RTC) が時間を追跡します。デバイスが 15 秒のタイマー ウィンドウ内に休止状態モードに入った場合、ウェイクアップはトリガーされません (ここでは内部 RTC が必要であり、外部 RTC はウェイクアップをサポートしていないことに注意してください)。

echo mem > /sys/power/state

(ここでの 2 つの命令の入力はコンパクトである必要があります。2 つの命令の間が長すぎると無効になります。)

Forlinx の組み込み T113-i 開発ボードのスリープおよびウェイクアップ動作

(内部 RTC がオープンされていない場合、デフォルトの外部 RTC ノードは rtc0 であることに注意してください。変更後、外部 RTC デバイス ノードは rtc1 に変更されます。)

ここでは、 Forlinx Embedded OK113i-S 開発ボードを使用してスリープと時間指定ウェイクアップを実装するためのすべての操作を完了しました特定の操作は制御プラットフォーム ボードによって異なる場合がありますが、全体的なアプローチは同じです。対応するプラットフォームに基づいた特定の手順については、関連ドキュメントを参照してください。この記事で紹介した方法がエンジニアのプロジェクト開発に役立つことを願っています。

元は www.forlinx.net で公開されています。

www.forlinx.net