MSP430F4xxファミリーのDCO (Digital Controlled Oscillator) 発振器ブロックは、
FLL (Frequency Locked Loop) という10ビット周波数積分器を実装しています。
DCO発振器が生成したクロックをSCFQCTL[N]レジスタとSCFI0[FLLDx]レジスタにて設定した値で分周し、
リファレンス・クロック (ACLK) と比較し、周波数キャリブレーションを実行します。
fDCOCLK : DCO発振器ブロックが生成するクロック (DCOCLK) の周波数
N : SCFQCTL[N]レジスタに設定する分周数 (N)
D : SCFI0[FLLDx]レジスタで設定する分周数 (1/2/4/8)
fACLK : FLLが使用するリファレンス・クロック (ACLK) の周波数
としたとき。
FLL_CTL0[DCOPLUS] = 0 のとき、fDCOCLK = (N + 1) x fACLK
FLL_CTL0[DCOPLUS] = 1 のとき、fDCOCLK = D x (N + 1) x fACLK
となります。
なお、ステータスレジスタ SR[SCG0] = 1 とすると、FLLは停止します。
FLLが算出した10ビットデータの上位5ビット・データはSCFI1[DCOx]レジスタに自動的に格納します。
周波数キャリブレーションの微調整効果を有する下位5ビット・データは、
SCFQCTL[SCFQ_M] = 0 (変調器イネーブル) のとき、SCFI1[MODx] および SCFI0[MODx]に自動的に格納します。
出典: MSP430x4xx Family User’s Guide (SLAU056L)