2 Replies Latest reply on May 20, 2020 12:34 AM by MoTa_728816

    Community Translation - Wake Up PSoC 6 MCU Device from Hibernate Mode Using Free Running WDT - KBA228293

    MoTa_728816

      Hi,

       

      I'd like to translate KBA228293 into Japanese.

       

      Please confirm to my work.

       

      moto

       

      Original KBA: KBA228293

      Wake Up PSoC 6 MCU Device from Hibernate Mode Using Free Running WDT - KBA228293

        • 1. Re: Community Translation - Wake Up PSoC 6 MCU Device from Hibernate Mode Using Free Running WDT - KBA228293
          AikoO_51

          Hi moto-san,

           

          I confirmed the KBA.

          Please work to do.

           

          Thanks.

          AIko

          • 2. Re: Community Translation - Wake Up PSoC 6 MCU Device from Hibernate Mode Using Free Running WDT - KBA228293
            MoTa_728816

            Original KBA: KBA229293

            Wake Up PSoC 6 MCU Device from Hibernate Mode Using Free Running WDT - KBA228293

             

            Translated by: MoTa_728816

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

            タイトル:PSoC 6 デバイスをフリーランニング WDT を使用してハイバネート モードからウェイクアップする - KBA228293

             

            ヴァージョン:**

             

            質問:

            フリーランニング WDT を使用して PSoC(R) 6 デバイスをハイバネート モードからウェイクアップさせるのにはどうしたら良いですか?

             

            回答:

            PSoC 6 は複数のウォッチドッグを持っています - 一つのフリーランニング ウォッチドッグ タイマ (WDT) と1つ以上の マルチカウンタ ウォッチドッグ タイマ (MCWDT) です。

             

            デバイスをハイバネート モードからウェイクアップすることができるのはフリーランニン WDT だけです。

             

            図 1 は PSoC Creator(tm) 4.2 プロジェクトの回路図です

             

            図 1: Creator 4.2 プロジェクト回路図

            001-pastedImage_4.png

             

            WDT ISR を使用して PSoC 6 デバイスをハイバネートモードからウェイクアップするために下記の手順を行ってください:

             

            1. PSoC 6 デバイスがハイバネートモードに入る前に、WDT 割込みの設定、初期化、WDT の有効化を行います。

            /* WDT 割込みの設定  */

            Cy_SysInt_Init(&WDTIsr_cfg, WDTIsr);

            NVIC_EnableIRQ(srss_interrupt_IRQn);

            /* WDT を初期化して有効にする */

            /*WDT の割込み周期は WDT_IGNOREBITS の設定によって変化します */

            Cy_WDT_SetIgnoreBits(WDT_IGNOREBITS);

            Cy_WDT_UnmaskInterrupt();

            Cy_WDT_Enable();

             

            2. ハイバネートからのウェイクアップ信号を設定します。

            Cy_SysPm_SetHibWakeupSource(MyLPComp_WakeUpSrc);

            * \param MyLPComp_WakeUpSrc

            * CY_SYSPM_LPCOMP0_LOW  : LPComp CH0 出力ローによるウェイクアップソース

            * CY_SYSPM_LPCOMP0_HIGH : LPComp CH0 出力ハイによるウェイクアップソース

            * CY_SYSPM_LPCOMP1_LOW  : LPComp CH1 出力ローによるウェイクアップソース

            * CY_SYSPM_LPCOMP1_HIGH : LPComp CH1 出力ハイによるウェイクアップソース

            * CY_SYSPM_HIBALARM     : RTC アラームによるウェイクアップソース

            * CY_SYSPM_HIBWDT       : watchdog によるウェイクアップソース

            * CY_SYSPM_HIBPIN0_LOW  : Pin0 入力ローによるウェイクアップソース

            * CY_SYSPM_HIBPIN0_HIGH : Pin0 入力ハイによるウェイクアップソース

            * CY_SYSPM_HIBPIN1_LOW  : Pin1 入力ローによるウェイクアップソース

            * CY_SYSPM_HIBPIN1_HIGH : Pin1 入力ハイによるウェイクアップソース

             

            3. ハイバネートモードへ飛び込むために Cy_SysPm_Hibernate() API を使用します。

             

            4. CY8CKIT-062-BLE を使用して添付のプロジェクトをテストします。

             

            添付のプロジェクトは緑LED(P1.1) を一秒間点灯後ハイバネートモードからウェイクアップする前に消灯します。WDT 割込みが発生すると、直ちにシステムをウェイクアップしてデバイスのリセットが発生します。

             

            参考資料:

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

            20-May-2020

            moto