MSP430G2 のクロックシステムについて

クロックシステムがどうなっているのかを把握しておくことは MCUを使う上でとても重要です。MSP430 はそれなりに自由度のある クロックシステムを持っているのでなおさらです。

全体像

全体像の詳細は MSP430x2xx Family User's Guideの Figure 5-1 を 見るのが良いと思いますが、ここでは敢えてざっくりはしょって 大雑把に説明しましょう。ポイントは以下のとおりです。

clock diagram

クロック対応表
クロック源↓MCLKSMCLKACLK
DCON/A
VLO
LFXT1

MCLK (Master clock)

Master Clock のことで、CPU コアはこれで動きます。 インストラクションセット(命令セット)表のクロック欄に書いてある数字は これです。 基本的に 速くて電気食いに直結するので、これをできるだけ停止することが 消費電力の低減に有効です。MSP430G2だと16MHz(っていろいろな ところに書いてあるけどイマイチ詳細不明。詳しくはDCOのところで後述)。 起動時はDCOにつながってます。 多くの場合、そのままで良さそうです。

SMCLK (Sub-main clock)

ペリフェラルを駆動するのに使うクロックです。まぁ、用がなければ 使わなければいいでしょう。 起動時はDCOにつながってます。 まぁ、そのままで良さそうです。

ACLK (Auxiliary clock)

ペリフェラルを駆動するのに使うクロックです。たぶん、標準的には これを遅いクロック源(VLOとか)につなげて(、Timer_A に食わせるなど して)、MCLK停止時のコアよう目覚ましなんかに使うのではないでしょうか。 起動時はLFXT1につながってます。 これを VLO につなげ直すには次のようなコードを実行すればいいです。

  BCSCTL3 |= LFXT1S_2;

クロック源(DCO, VLO, LFXT1)

MCLK, SMCLK, ACLKのクロック源は DCO, VLO, LFXT1 の 3 つ(G2ファミリ 以外にはXT2てのもあるようです。)があり、それぞれ以下のとおりです。


『マイコンを使った開発について』に戻る

Valid XHTML 1.0!