1 Reply Latest reply on May 5, 2020 6:52 PM by JuyoungJ_06

    Community Translation - Switching to External Clock (EXTCLK) in PSoC 4100S Plus Device in PSoC Creator 4.2 – KBA229081

    MoTa_728816

      Hi,

       

      I'd like to translate KBA229081 into Japanese.

       

      moto

       

      Original KBA: KBA229081

      Switching to External Clock (EXTCLK) in PSoC 4100S Plus Device in PSoC Creator 4.2 – KBA229081

       

      Translated by: MoTa_728816

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

      タイトル: PSoC Creator 4.2 で PSoC 4100S Plus デバイスのクロックを外部クロック (EXTCLK) に切り替える - KBA229081

       

      ヴァージョン: **


      PSoC 4100S Plus デバイスは常に IMO を使用して起動します; ExtClk は実行中のユーザーアプリケーションからでのみ有効にすることが可能です。また、デバイスは クロックが EXTCLK になった状態ではリセットから起動することが出来ません。

       

       

      EXTCLK に切り替えるためには以下の手順に従ってください:

      1. プロジェクトを PSoC Creator で開きます。
      2. プロジェクト内で、Design Wide Resources 下の Clocks タブをクリックして、さらに Edit Clock をクリックします。
      3. High Frequency Clocks タブの下で、ExtClk と IMO の両方を有効にします。
      4. IMO と ExtClk の両方の周波数を選択します。
      5. 図1 のように HFClk のソースを IMO に設定します。P6[0] は外部クロックのデフォルト入力ピンです。

       

      001-pastedImage_1.png

      図 1. クロックコンフィグレーション

       

      プログラムの実行中に CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_EXTCLK) API ファンクションを使用することによって外部クロックへ切り替えることが可能です。これは HFClk の入力を IMO  から ExtClk に切り替えます。

       

      PSoC 4100S Plus デバイスでは、下記のコードを使用して P0[6] ピンの srss.ext_clk HSIOM 接続を有効にする必要があります。

       

      #include "project.h"

      int main(void)

      {

      CY_SET_REG32((void *)(CYREG_HSIOM_PORT_SEL0), (CYVAL_HSIOM_IO0_SEL_ACT_0 << (6 * 4))); /* HSIOM_IO0_SEL_ACT_0 */

      CY_SET_REG32((void *)(CYREG_GPIO_PRT0_PC), (CY_SYS_PINS_DM_DIG_HIZ  << (6 * 3))); /* High Impedance Digital */

      /* 6 is a pin number, 3 and 4 are bitfield widths */

          CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_EXTCLK);

           for(;;)

      {

          /* Perform the desired function */

      }

      }

       

      注意:この関数をコールする前に、新しいクロックは起動されて安定している必要があります。もし SysClk の周波数がデバイスの動作中に増加する場合には、キャッシュがフラッシュからサンプルされたデータを待つのに必要なサイクル数を調整するのに適切なパラメータで CySysFlashSetWaitCycles() をコールする必要があります。もし SysClk の周波数が減少する場合には CPU パフォーマンスを向上させるために CySysFlashSetWaitCycles() をコールしてください。 CySysFlashSetWaitCycles() の詳細は PSoC 4 System Reference Guide をご参照ください。

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

       

      23-Apr-2020

      moto