マイコンの周辺機能を多く利用するポータブル型血圧計を例として考えてみます。図2に簡単なブロックを示します。血圧センサーのアナログ値はA-Dコンバータでデジタル値に変換します。A-Dコンバータは電池の残量チェックにも使えます。
測定終了時にアラーム音を出すのであれば、PWM(Pulse Width Modulation)を使ってブザーを鳴らします。測定した数値はLCD(液晶ディスプレイ)機能を使ってLCDに表示します。測定結果はEEPROMなどの外部メモリに記録しますが、このときのインタフェースはSPI(Serial Peripheral Interface)かI2C(Inter-Integrated Circuit)が一般的です。操作ボタンの情報は汎用I/Oや割り込み機能で取り込みます。マイコンは直接モータや電磁弁をドライブできないので外部にドライバートランジスタをつなぎ、大電流を流すことのできる汎用I/Oで制御しなくてはなりません。
測定したデータを外部へ転送する場合はRS232CやUSBの通信機能で行います。RS232C用にはUSART(Universal Synchronous Asynchronous Receiver Transmitter)を使用します。もちろんUSB機能が付いていればUSBでも可能です。その他、血圧の測定時以外に時刻を表示したいのならカレンダー機能のRTC(Real-Time Clock)を搭載したマイコンを選びましょう。マイコンはクロックに同期して動作しますので、発振回路は必須です。RTC用の32.768kHzの時計用発振回路も忘れてはいけません。
これらの結果から、周辺機能として、LCD機能、RTCとその発振回路、A-Dコンバータ、PWM、SPI(またはI2C)、大電流汎用I/O、USARTを搭載したマイコンを選択します。必ずしも、ここで述べた機能が必要ではありませんが、これらの機能がマイコンに搭載されていると、付属部品を節約できて経済的です。
表に、一般的なマイコンの周辺機能と、その用途をまとめましたので、参考にしてください。
周辺機能 | 主な用途 | |
---|---|---|
A-Dコンバータ (Analog to Digital Converter) |
任意の電圧源の電圧をデジタル値に変換する。例えば、光センサー、温度センサーなどのセンサー出力電圧を測定できる。電源電圧のチェックにも使える | |
D-Aコンバータ (Digital to Analog Converter) |
任意の電圧を出力する回路。任意の一定電圧を作ったり、逆に電圧を時間で変化させて、任意の電圧波形を作るときに使用される | |
DMA (Direct Memory Access) |
CPUを使わずに大量のデータを転送する場合に使用される。例えば、写真データや音楽データなどの転送に便利 | |
汎用I/O | 外部に信号を出力したり、外部から信号を入力したりする。例えば、LEDを駆動したり、外部デバイスに信号を送信したりする。ボタンや外部デバイスからの信号も受信する | |
タイマ | カウンタ機能 | 時間を測定する。一定周期で動作する機能や、複数のタスクの開始/終了時間を制御する。スタートボタンを押すと複数のタスクが時間差で動作する場合の時間の基準を作る |
ウオッチドッグタイマ | マイコンの暴走を監視する | |
PWM (Pulse Width Modulation) |
出力パルスのデューティー比を変化させたい時に使用する。モーター制御やスイッチングレギュレータで使われる | |
パルスカウント機能 | 入力されたパルスの周期をカウントするので、周波数カウンタとして使える | |
インプットキャプチャー | 入力されたパルスの変化のタイミングでカウンタの値を取り込む。パルスのHigh幅やLow幅の測定ができる | |
アウトプットコンペアマッチ | カウンタの値がユーザーの指定した値と一致した時に出力パルスを変化させる。任意のHigh幅/Low幅のパルスを生成することができる | |
RTC (Real-Time Clock/カレンダー機能) |
時計(日月年を含む)機能を実現するときに使用する。サマータイムやうるう年対応のものもある。また、一定周期でタスクを行うタイムベースタスクの基準周期を作ることもできる | |
I2C | I2C規格 | フィリップス社が提唱したシリアル通信の方式。MEMS(Micro Electro Mechanical Systems)センサーやEEPROMとの通信に使用される。複数のデバイスとの低速通信に向いている |
SMBus (Power Management Bus) PMBus (System Management Bus) |
電源管理用の規格をサポートする。PCのバッテリー周辺回路などで使われる | |
SPI (Serial Peripheral Interface) |
モトローラ社が提唱したシリアル通信の規格。MEMSセンサーやEEPROMとの通信に使用される。小数のデバイスとの高速通信に向いている | |
USART | 同期/非同期通信 | 一般的なシリアル通信。RS232C規格の通信によく使用される |
ISO7816インタフェース | スマート・カード・エミュレーションの規格をサポートする | |
LIN (Local Interconnect Network) |
自動車でよく使われている低コストのバス規格 | |
IrDA (Infrared Data Association) |
赤外線の光通信。TVのリモコンなどよく使用される | |
CAN (Controller Area Network) |
FA(Factory Automaton)や自動車内の情報通信に利用されている | |
CRC (Cyclic Redundancy Check) |
データ転送などに伴う誤り検出の手段 | |
暗号化処理機能 | 情報の機密性を保つために、情報を暗号化する時に使用される | |
LCD-TFT制御・駆動回路 | 絵や写真データをLCDやTFTに表示するときに使用する | |
外部メモリ制御機能 | マイコンの内蔵メモリでは容量が不足する時は、外部にメモリを接続する。その際のインタフェース制御を行う。また、マイコンにASICなどのカスタムICを接続する際にも使用する | |
Copyright © ITmedia, Inc. All Rights Reserved.