Community Translation - Setting Cores to Deep Sleep Mode while BLE Function is Enabled on PSoC® 6 – KBA223291

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
HiOm_1802421
Level 5
Level 5
Distributor - Marubun (Japan)
50 replies posted 50 questions asked 25 replies posted

Hi,

I tried to translate this KBA223291 into Japanese.

Setting Cores to Deep Sleep Mode while BLE Function is Enabled on PSoC® 6 – KBA223291

==========

タイトル:PSoC® 6 でBLE機能が有効な時にコアをディープスリープモードに設定する

質問:

Cy_SysPm_DeepSleep() APIによって開始されたコアがディープスリープモードの時に、BLEスタックがデュアルコアとシングルCM0+に割り当てられている場合で、Arm® Cortex®-M4 と Cortex-M0+ のパフォーマンスはどう違いますか?

回答:

プロジェクト CE212736 を例として考えます。

オリジナルの設定では、CM4とCM0+の両方にBLEスタックが割り当てられます。

Cy_SysPm_DeepSleep() APIが呼ばれた時、CM4はBLEの状態が アドバタイズ か 接続済み ならばディープスリープモードに設定され、次のBLEスタックイベントが生成されるまでウェイクアップしません。

CM4を無効にしてシングルCM0+を使うようにプロジェクトを変更した場合は、CM0+のパフォーマンスは同じAPI Cy_SysPm_DeepSleep() を呼び出した時と異なります。

CM0+はディープスリープモードに入る事も出来ますが、直ぐにウェイクアップすることは出来ません。

BLEの状態が アドバタイズ の場合、ディープスリープモードタイミングはアドバタイズインターバル周辺です。

BLEの状態が 接続済み の場合、ディープスリープモードタイミングはコネクションインターバル周辺です。(デフォルトのスレーブレイテンシは0です)

この違いは、CM0+に割り当てられたBLEサブシステム(BLESS)割り込みによるものです。

BLEサブシステム割り込みはBLEコントローラ部に割り当てられる必要があります。

BLEスタック全体がCM0+上に置かれている場合、BLESS割り込みはディープスリープから常にCM0+をウェイクアップさせます。

しかし、BLEコントローラがCM0+上に置かれていて、ホストがCM4上に置かれている場合、CM4は分離されてBLESS割り込みでウェイアップせず、次のBLEスタックイベントが生成されるまでディープスリープのまま維持されます。

==========

BR,

Omoi

1 Reply
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Omoi-san

We receive your translation, it will be published to KBA to Community.

After upload, You will receive the points as the word of KBA.

Please note that due to the current volume of works, Please bear with me for the delayed the response.

It can be delayed, but it will be surely processed.

Thanks for your contribution to CDC!

Will keep you update the status.

Thanks,

Jenna Jo

Jenna Jo