2 Replies Latest reply on Nov 7, 2020 1:28 AM by NoTa_4591161

    Community Translation - Reducing the Deep-Sleep Current for PSoC® 4 Devices – KBA90930

    MoTa_728816

      Hi,

       

      I'd like to translate KBA90930 into Japanese.

       

      moto

       

      Original KBA: KBA90930

      Reducing the Deep-Sleep Current for PSoC® 4 Devices – KBA90930

       

      Translated by: MoTa_728816

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

      タイトル: PSoC® 4 デバイスのディープスリープ時の電流を減らす - KBA90930

       

      ヴァージョン: *A

       

      質問:

      PSoC 4 デバイスのディープスリープ時の電流消費を少なくするのにはどうしたら良いでしょうか?

       

      回答:

      CY8CKIT-042 を使用して測定したところ PSoC 4 はディープスリープ時に 1.5 mA 程度を消費します。これは下図のように Project_name.cydwr タブ下の system で Debug Select オプションを “SWD” と選択した場合の挙動です。

       

      001-pastedImage_0.png

       

      PSoC 4 プロジェクトで、Debug Select オプションで “SWD”  が選択されている場合、SWD ピンのドライブモードは Strong drive に設定されます。これがディープスリープ時でも消費電力が高い理由です。ディープスリープ時の消費電力を抑えるためには、手動で PSoC 4  デバイスの SWD ピン、すなわち P3[2] と P3[3] ピンをディープスリープに入る前に、Analog Hi-Z モードに設定する必要があります。デバイスがディープスリープから復帰した時点でこれらピンのドライブモードを元の設定に戻すことが出来ます。この手法はディープスリープ時にもデバッグが必要な場合に要求されます。もし、そうでない場合には一番容易なのは Debug Select オプションを SWD から GPIO にすることです。

       

      SWD ピンのドライブモードを Analog Hi-Z に変更するのには、0x40040308 にある PRT3_PC レジスタのビット [6:11] に 0 を書き込みます。PRT3_PC レジスタのこれらのビットに 0 を書き込むと SWD ピンのドライブモードを Analog Hi-Z に変更します。 PRT3_PC レジスタに関する詳細は PSoC 4 Registers TRM  8.1.3 項の PRT3_PC レジスタの説明をご参照ください。下記はディープスリープに入る前に SWD ピンを Hi-Z に設定して、ディープスリープからの復帰後に元に設定に戻すコードスニペットです:

       

          x= CY_GET_REG32(0x40040308u);

          CY_SET_REG32(0x40040308u, 0x00);

          CySysPmDeepSleep();

          CY_SET_REG32(0x40040308u, x);

       

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

       

      27-Apr-2020

      moto