ライブラリ

よくある質問(FAQ)

PLL 設定時の注意点

Q:  PLLの設定を含むPMCTLレジスタを設定する上での注意点を教えて下さい。

A:  
1) CLKIN*PLLMの値の最大値は、INDIVの有効/無効によって以下の条件を満足している必要があります。
INDIV=0の時、CLKINとPLLMの積がfVCOの1/2を超えてはいけません。
INDIV=1の時、CLKINとPLLMの積がfVCOを超えてはいけません。
この条件にはPLLDの設定値は考慮されません。
スピードグレードが266MHz の場合、具体的に以下のような制約があります。
i. INDIV = 0 (divisor 1)の場合、CLKIN*PLLM < 400MHz
ii. INDIV = 1 (divisor 2)の場合、CLKIN*PLLM < 800MHz
例えば,CLKINが24.576MHzの場合に245.76MHzを生成するためには、以下のように設定する必要があります。
ustat3 = PLLM20|INDIV;
dm (PMCTL) = ustat3;// INDIVが有効で、かつ(CLKIN*PLLM = 491.52) が 800以下
以下の設定は間違った使い方となります。
ustat3 = PLLM20|PLLD2|DIVEN;
dm (PMCTL) = ustat3; //INDIVが無効で、かつ(CLKIN*PLLM = 491.52) が400以上

2) DIVEN bitは、PLLのバイパスモードを設定するため(PLLBPの有効/無効)PMCTLレジスタへ書き込むとき、クリアされていなければいけません。

3) DIVEN bitはPMCTLレジスタ内SDCLK ratioを設定する際、有効になっている必要があります。