Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

CYPD3177: Sleep と Deep Sleep モード - KBA236276

CYPD3177: Sleep と Deep Sleep モード - KBA236276

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Translated by: NXTY_Tatebayasi

Original KBA: CYPD3177: Sleep and Deep Sleep mode - KBA236276


システムがDeep Sleep モードに移行するとき、すべてのペリフェラルがアイドル状態でないとDeep Sleep モードに遷移できません。

そのため、通常、イベント/ファクタ/外部信号はそのシステムをDeep Sleep に移行させる要因にはなりません。

代わりに、イベント/ファクタはデバイスをDeep Sleep からwake 動作させます。

デバイスがwakeしたあと、そのデバイスはDeep Sleep に移行する前にリクエストを処理する必要があります。

処理にかかる時間はタスクに依存します。

タスクがデタッチ/アタッチイベントであれば、Deep Sleep に移行するまでに多くのタスクがあります。

USBがアクティブな場合は、Deep Sleep モードに入ることができません。

CYPD3177は固定ファームウェアの部品です。

Deep Sleep モードへ変更/移行に使用できるAPIはありません。

ですが、CCG3PAではこのAPIが実装されています。

CCG3PA のサンプル・ファームウェアでは、main.c の while ループ内で system_sleep() 関数が常に呼び出され、アプリケーション層、HPI、DPM モジュールがすべて Sleep モードにあるかどうかをこの関数でチェックします。

注意:CCGは上記すべてがアイドルの時のみSleep モードになります。PDステートマシンもアイドルの場合、Deep Sleep モードに入ります。

app.cのsystem_sleep()関数で実装されています。

CCG3のDeep Sleep は、ファームウェアの SYS_DEEPSLEEP_ENABLE を使用して有効/無効を切り替えることができます。

0 件の賞賛
139 件の閲覧回数