Community Translation - Wake Up PSoC 6 MCU Device from Deep Sleep Through EZI2C Slave Address Match – KBA227480

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

cross mob
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I'd like to translate KBA227480 into Japanese.

moto

Original KBA: KBA227480

Wake Up PSoC 6 MCU Device from Deep Sleep Through EZI2C Slave Address Match – KBA227480

Translated by: MoTa_728816

=============================

タイトル: PSoC 6 MCU デバイスを EZI2C スレーブアドレスマッチでディープスリープから復帰する - KBA227480

SCB_EZI2C_PDL コンポーネントはスレーブアドレスマッチでデバイスをディープスリープからウェイクアップ(復帰)させることが可能です。この機能を有効にするためには Enable Wakeup from Deep Sleep Mode パラメータを有効にしてください。図1 は PSoC Creator 4.2 のコンフィグレーション設定です。図 2は ModusToolbox 2.1 のデバイスコンフィグレータ設定です。

図 1. PSoC Creator 4.2 コンフィグレーション設定

001-pastedImage_4.png

図 2. ModusToolbox デバイスコンフィグレータ設定

ModusToolbox_2_1_Device_Configurator_2_1.JPG

注意:内蔵されている SCB の内ディープスリープに対応しているものは1つだけです。 PSoC 6 データシートの Pinouts section: Multiple alternate function table をご参照ください、SCB のディープスリープ機能は DS (ディープスリープ) カラムに記載されています。

ディープスリープに入る前に、 下記の手順で cy_syspm ドライバを使用して ディープスリープコールバック関数を登録してください。

1. 下記のデータフィールドをもつ cy_stc_syspm_callback_params_t ストラクチャリファレンスを定義してください。

  • void* cy_stc_syspm_callback_params_t::baseBase → ハードウェアインスタンスのアドレス、 APIベースアドレスにドライバ名が一致するもの。

  • void* cy_stc_syspm_callback_params_t::context → コールバックがコンテクストを必要とする場合、ハンドラ関数へのコンテクスト。もしくは、この項目は NULL と定義される。

2. 下記のデータフィールドをもつ cy_stc_syspm_callback_t ストラクチャリファレンスを定義してください。

  • Cy_SysPmCallback cy_stc_syspm_callback_t::callback → コールバックハンドラ関数 (Cy_SCB_EZI2C_DeepSleepCallback)

  • cy_en_syspm_callback_type_t cy_stc_syspm_callback_t::type → Deep Sleep enum コールバックタイプ (Cy_SYSPM_DEEPSLEEP)

  • uint32_t cy_stc_syspm_callback_t::skipMod →  コールバック実行中にスキップされるモードのマスク

  • cy_stc_syspm_callback_params_t* cy_stc_syspm_callback_t::callbackParams → cy_stc_syspm_callback_params_t のアドレス;コールバックはこれらの引数を使用して実行されます。

  • struct cy_stc_syspm_callback* cy_stc_syspm_callback_t::prevItm 一つ前の項目。この項目は NULL と定義されます。

  • struct cy_stc_syspm_callback* cy_stc_syspm_callback_t::nextItm → 一つ後の項目。この項目は NULL と定義されます。

3. Cy_SysPm_RegisterCallback (cy_stc_syspm_callback_t * handler) を使用してコールバックを登録します。

4. ディープスリープに入るのに Cy_SysPm_CpuEnterDeepSleep (CY_SYSPM_WAIT_FOR_INTERRUPT) を使用します。PSoC 6 は EZI2C のアドレスマッチが発生するとウェイクアップ (復帰) します。

ストラクチャと API の詳細については PDL のドキュメントを参照してください。

コードスニペット:

cy_stc_syspm_callback_params_t Cy_SCB_EZI2C_DeepSleepCallback_param =

   {

        sEzI2C_HW,

        NULL

   };

cy_stc_syspm_callback_t Cy_SCB_EZI2C_DeepSleepCallback_elements =

   {

&Cy_SCB_EZI2C_DeepSleepCallback,

       CY_SYSPM_DEEPSLEEP,

       0U,

&Cy_SCB_EZI2C_DeepSleepCallback_param,

       NULL,

       NULL

   };

int main(void)

{

   if (true != Cy_SysPm_RegisterCallback(&Cy_SCB_EZI2C_DeepSleepCallback_elements))

       {

        /* エラー処理を記述する */

       }

   if (CY_SYSPM_SUCCESS != Cy_SysPm_CpuEnterDeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT))

       {       

        /* エラー処理を記述する */

       }

}

=============================

13-Apr-2020

moto

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Tanaka-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.

Due to the current volume of works, Please bear with me for the delayed the response,

Thanks for your contribution to CDC!

Will keep you update the status.

Thanks,

Jenna Jo

Jenna Jo
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

PSoC 6 MCU デバイスを EZI2C スレーブアドレスマッチでディープスリープから復帰する - KBA227480- Community Translated (JA)

Dear, Tanaka-san

Your translation has been released.

Sorry for the delayed response.

You will receive the point as a token of appreciation.

Thank you for your continuous contribution to Community !

Regards,

Jenna Jo

Jenna Jo
0 Likes