検索
Special

第18回 MSP430™ LaunchPadの入出力機能を拡張する、マイコンのクロックの種類と使い分け宮崎 仁のマイコン基礎の基礎

PC用表示
Share
Tweet
LINE
Hatena
PR

 前回に引き続き、テキサス・インスツルメンツ(TI)のMSP430™ LaunchPadバリュー・ライン開発キットを用いて、実際のマイコンのハードウェア、ソフトウェアの開発方法を体験しながら学びます。前回は、マイコンの省電力モードへの移行と復帰について説明しました。その中で、メインクロック(MCLK)は停止するがサブクロック(SMCLK、ACLK)は停止しない省電力モードがあると説明しました。MSP430に限らず、最近のマイコンは複数のクロックを目的に応じて使い分けるようになっています。今回は、クロックの種類と使い分けを説明します。

周波数や精度が異なるクロックが必要な場合

 まず、システムではCPUクロックの他に、周波数が異なるクロックが必要な場合があります。代表的なのは、時計用のクロックや通信用のクロックです。

 クロックの周波数を1/2、1/4、1/8、…、1/2n、…と下げていくのは、簡単な分周回路を使ってできます。また、タイマ/カウンタを用いれば、任意の1/Nを作るのも簡単です。また、最近のマイコンでは、クロックの周波数を2n倍やN倍に上げることができるPLL回路を内蔵するものも多くなってきました。

図 異なる周波数のクロックを作る例


(a) 1/2n分周回路
周波数を1/2にする回路はフリップフロップ1個で簡単に作れる。多段の直列接続で1/2nが得られる。

(b) タイマ/カウンタ
Nカウントのタイマ/カウンタを繰返し動作させれば、1/Nの周波数が得られる。

(c) PLL(Phase Locked Loop)
発振器出力の1/NをPLLで入力クロックと一致させれば、結果として入力クロックのN倍が得られる。

 UART(パソコンのシリアルポートと同じ調歩同期式通信)やSPI、I2Cといった低速のシリアル通信では、通信用のクロックはあまり高い精度が必要ないので、CPUクロックから簡単に生成できます。マイコン内蔵の通信機能を使う場合、通信モード設定レジスタで通信速度を設定すれば、必要なクロックを内部で生成してくれることが多いでしょう。

 通信用クロックでも、USBになると、48MHzで許容誤差±0.05%(±500ppm)というような高精度のクロックが必要になってきます。水晶振動子を使ってUSBに合わせた周波数と精度のCPUクロックを生成するか、高精度の外部USBクロックを供給します。

 時計の場合は、長期間にわたって遅れや進みを生じないように水晶振動子を使うことが多いでしょう。簡単な分周でちょうど1秒(1Hz)を作れる、32.768kHzの水晶振動子が安価に入手できます。

省電力モードとクロック

 省電力モードを持つマイコンでは、一般に

  1. CPU回路の動作(命令実行)を停止する
  2. 動作していないCPU回路へのクロック供給を停止する
  3. 必要のない周辺回路の動作を停止する
  4. 動作していない周辺回路へのクロック供給を停止する
  5. 誰も使用していないクロックは発振器を停止する

などの方法で、システムの消費電力を削減していきます。CMOS LSIはL→H、H→Lのスイッチング時に大きな電力を消費するので、回路の動作停止やクロック供給停止は省電力の効果が大きいのです。

 MSP430の場合、CPUに供給するためのメインクロック(MCLK)、周辺回路に供給するためのサブクロック(SMCLK)と補助クロック(ACLK)に分けて整理してあります。周辺回路用が2つあるのは、1つずつ段階的に停止できるようにするためです。

 また、内蔵クロック源として、DCO(デジタル制御高速発振器)、VLO(低速発振器)、LFXT1(低速水晶発振器)の3つがあります。

 DCOは高速クロック用発振器で、省電力のために発振停止/再開の制御ができます。発振停止状態から1μs以下で高速にウェイクアップできます。MCLKとSMCLKはDCOをクロック源として選べます。

 VCOは低消費電力で低速の発振器です。LFXT1は、時計用の水晶振動子を使用できる低速で高精度の発振器です。MCLK、SMCLK、ACLKは、いずれもVCOとLFTX1をクロック源として選べます。

 MSP430は、3つのクロックと3つの発振器をうまく組み合わせて段階的に省電力できるように、Active(動作)モードとLPM0〜LPM4の5段階の省電力モードを持っています。

モード MCLK SMCLK ACLK DCO VLO LFTX1
Active
LPM0
LPM1
LPM2
LPM3
LPM4
表 MSP430の省電力モードとクロック供給/停止

 Activeモードでは、すべてのクロックが供給され、CPUも動作しています。

 LPM0では、CPUが動作停止し、MCLKの供給も停止します。しかし、それ以外のクロックはすべて供給され、DCOも発振を継続しています。

 LPM1では、MCLKの停止に加えて、DCOも発振停止します。SMCLKは供給を継続しますが、この場合はDCOをクロック源に選べません。

 LPM2では、MCLKとSMCLKは供給を停止し、DCOも発振停止します。

 LPM3では、MCLKとSMCLKは供給を停止し、DCOは完全に動作停止します。

 LPM4では、MCLK、SMCLKに加えてACLKも供給を停止します。すべてのクロックは停止して、ポートI/OとRAMデータの保持だけを行います。

 例えば、CPUの動作中だけタイマを使い、CPUの停止中はタイマも停止するなら、タイマにはMCLKを供給します。

 CPUの停止中もタイマを動作させておきたい場合、タイマにはSMCLKを供給して、省電力モードはLPM0かLPM1にします。ただし、LPM1の場合はDCOも停止するので、SMCLKのクロック源にDCOを用いる場合はLPM0にします。

 さらに、省電力モード中も時計だけは動作させておきたいなら、時計にはACLKを供給します。ACLKのクロック源はVLOでもLFTX1でも良いのですが、精度を上げるには水晶振動子を使ってLFTX1で発振させます。


図 MSP430のクロック供給の例

※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。

MSP430™ LaunchPadバリュー・ライン開発キットはこちらから購入できます。
TIのマイコン製品の詳細はこちら



提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2014年3月31日

Copyright © ITmedia, Inc. All Rights Reserved.

設計に役立つヒント集

宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:
第24回 割り込みっていろいろあるのですか?どんな種類があるか教えてください。

今回は、外部割り込み、内部割り込み、ソフトウェア割り込みについて詳しく解説しています
全文を読む


電源IC選択のヒント集
電源IC 使用時の注意点をわかりやすく説明しているほか、使用時に発生する可能性のあるさまざまなトラブルとその対処法についても紹介しています。ぜひご利用ください。ダウンロードには myTI アカウントが必要です。
Part 1をダウンロード
Part 2をダウンロード


アナログ回路設計式一覧ポケット・ガイド
日本語版 PDF

英語版で高い評価を受けてきたポケット・ガイドの日本語版が完成しました。基板レベルやシステム・レベルの回路設計でよく使われるアナログ設計式を紹介しています。ダウンロードには myTI アカウントが必要です。
ダウンロード



facebook & twitter

製品情報、セミナーや展示会などのイベント情報をお知らせしています。

ページトップに戻る