PSoC 4 / PRoC BLE WCO 用外部発振器 - KBA200299 - Community Translated (JA)

Version 3

    Community Translated by  MoTa_728816          Version: **

     

    質問:

    PSoC 4 / PRoC BLE の時計クリスタル発振器 (WCO) に外部発振器を使用できますか

     

    回答:

    はい、WCO に外部発振器を使用することは可能です

     

    ードウェアで以降の設定を行ってください

     1. 外部のクロックソースを XTAL32O ピンに接続します

     2. XTAL32I ピンは浮かせておいてください。もし浮かせておくことが望ましくない場合には XTAL32I パッドとグランドの間に最低でも 500kΩ のインピーダンスを持たせてください。(*1)

     3. 振れ幅が最小で 0V から 1.0V, 又は最大で 0V から 1.6 V の外部クロックソースを与えてください

     4. クロックのデューティサイクルは 20% から 80% のものにしてください。

     

    (*1) 原文では 500kW でしたが、500kΩに修正しました。

     

    外部クロックを使用する場合、ファームウェア

     1. デザインワイドリソース .cydwr ファイルの Configure System Clock ウィンドウの Low Frequency Clocks タブで WCO を無効にして、LFCLK ILO を選択してください

     2. WCO を有効にする前に BLE_BLESS_WCO_CONFIG レジスタの EXT_INPUT_EN (bit 2)ビットを '1' にセットしてください。

     3. CySysClkWcoStart(); API をコールして WCO を開始してください。

     4. CySysClkSetLfclkSource(CY_SYS_CLK_LFCLK_SRC_WCO); API をコールして LFCLK のソースとして WCO を選択してください

     5. CySysClkIloStop(); API をコールして、ILO を停止してください。

     

    以下は WCO に外部クロックソースを使用するサンプルコードです

     

    int main()

    {

     /* 外部クロックを有効にする */

     CY_SYS_CLK_WCO_CONFIG_REG |= CY_SYS_CLK_WCO_EXT_INPUT_EN;

     

     /* WCO を開始 */

     CySysClkWcoStart();

     

     /* WCO をクロックソースとして選択 */

     CySysClkSetLfclkSource(CY_SYS_CLK_LFCLK_SRC_WCO);

     

     /* ILO を停止 */

     CySysClkIloStop();

     

     CyGlobalIntEnable;

     

     /* BLEスタックの初期化 */

     CyBle_Start(EventCallback);

     

     for(;;)

     {

      CyBle_ProcessEvents();

     }

    }