cancel
Showing results for 
Search instead for 
Did you mean: 

Knowledge Base Articles

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

ChaitanyaV_61
Employee

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

Community Translated by  MoTa_728816          Version: **

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] は外部クロックのデフォルト入力ピンです。

pastedImage_7.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 をご参照ください

0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Jun 15, 2020 02:58 AM
Updated by:
 
Contributors