マイコン内部の抽象的な2進数の世界は、入出力ポートで電気信号に変換されます。さらに、現実世界でマイコンを活用していくためには、入出力ポートとさまざまな物理現象の仲立ちをするものたちが必要です。今回は、それらについて紹介していきます。
入出力機能のいろいろ
現実世界の現象をマイコンに取り込んだり、マイコンの中の情報を用いて現実世界を動かすための入出力機能は、
- 外部からマイコンを操作するための操作入力:例えばキーボード、スイッチ
- マイコン内部の情報を外部に表示するための表示出力:例えば液晶ディスプレイ、LEDランプ
- 外部に大容量の情報を保存するための外部記憶:例えばハードディスク
- 外界の機器と情報をやり取りするための通信/インターフェイス:例えばUSB、LAN
- 物理現象を自動的に取り入れるためのセンサ入力:例えばサーミスタ、加速度センサ
- 物理現象を自動的に変化させるための駆動出力:例えばモータ、ヒータ
のように、さまざまな種類があります。
これらの入出力機能は、やり取りするデータの種類や量、転送速度などに応じて、ビット入出力、パラレル入出力、シリアル入出力などの入出力ポートに接続されます。また、マイコン自体にUSBなどの通信機能が備わっている場合は、それを利用する場合もあります。さらに、センサ入力や駆動出力では、アナログ入出力(A/D、D/A)やカウンタ/タイマ入出力なども利用されます。
操作や表示を行うキーボード、マウス、ディスプレイなど
マイコンや、マイコンを内蔵した機器を人間が操作するためには、操作のための入力手段が必要です。また、マイコンが計算した結果などを人間に見えるように表示するためには、表示のための出力手段が必要です。
マイコン内蔵機器では、単に結果を表示するだけでなく、次の操作を指示するメッセージを表示することによって、操作入力とメッセージ表示を繰り返しながら動作する対話型インターフェイスも広く用いられています。
最も簡単な操作入力としては、押しボタンスイッチやDIPスイッチなどの情報入力用のスイッチがあります。一般には、マイコンのビット入力ポートに直接接続してデータを読み込みます。さらに、テンキーやフルキーボードなどさまざまなキーボードがあり、キーをマトリクス状に接続して列ごとまたは行ごとにスキャン(走査)することによって入出力ポートのピン数を節約できます。
PCのキーボードやマウスでは、入出力装置の側にマイコンを内蔵して、USBなどの通信ポート経由でマイコンにデータを受け渡す方式が用いられています。また、タッチパネルインターフェイスをもつマイコンもあります。
最も簡単な表示出力としては、LEDランプや7セグメントLED(LED数字表示器)などがあります。一般には、マイコンのビット出力ポートに直接接続してデータを表示します。さらに、低消費電力でテキストやグラフィックを表示できる各種の液晶ディスプレイがあり、ディスプレイに対応する専用出力を装備したマイコンもあります。
型名 | 動作周波数 | I/O | シリアル | USB | CAP Touch(注) | LCDドライバ | シリーズ |
---|---|---|---|---|---|---|---|
MSP430F6779 | 25MHz | 90 | 6 | - | - | 〜320セグメント | 6シリーズ |
MSP430F6659 | 20MHz | 74 | 6 | 1 | - | 〜160セグメント | 6シリーズ |
MSP430F5525 | 25MHz | 63 | 4 | 1 | - | - | 5シリーズ |
MSP430F412 | 8MHz | 48 | 4 | - | - | 〜96セグメント | 4シリーズ |
MSP430G2553 | 16MHz | 24 | 2 | - | ○ | - | バリューライン |
外部記憶と通信、インターフェイス
マイコンの主記憶は、プログラムの1ステップごとに命令/データの読み出し/書き込みを行うため、1バイト単位で細かくアドレスが付けられており、高速にアクセスできる半導体メモリが使用されています。そのため、容量あたりのコストが高く、システムに搭載できるメモリ容量には限度があります。
一方、大容量で低コストの記憶媒体が必要なシステムでは、ハードディスクなどの外部記憶装置が使用されています。外部記憶装置は、主に磁気ディスク(ハードディスクなど)や光学ディスク(CD-ROM、DVD-ROM)などの安価な記憶媒体を用いて、まとまった量のデータを一括して読み出し/書き込みすることで大容量を実現しています。最近では、フラッシュメモリのようにブロック単位で読み出し/書き込みを行う安価な半導体メモリもあり、SSDなどの外部記憶も広く用いられるようになりました。
このような外部記憶装置は、マイコンから見ると入出力装置の一つとして位置付けられます。USBなどの通信ポートで接続したり、PCの場合はSATAなどの外部記憶装置用インターフェイスも作られています。
各種の周辺装置やボード上のLSIと接続するためにさまざまなインターフェイス規格が作られており、マイコンにも規格に対応した入出力ポートが備えられています。入出力ポートのピン数を節約するために、シリアル入出力が多く用いられています。ほとんどのマイコンはUART(RS232C)などのシリアルポートを備えており、最近はUSBを備えたものもあります。ボード上のLSIとの通信には、I2CやSPIなどが用いられます。
さらに、マイコンのテストや開発ツール(エミュレータ)の接続用として、JTAGポートを備えるマイコンも多くなっています。
センサとアクチュエータ
明るさ、温度、力、速度、加速度などさまざまな物理量をマイコンに取り込むには、物理量を電気量に変換するセンサが用いられます。センサには直接ディジタル値を出力するものもありますが、多くのセンサはアナログ的な電圧値や抵抗値を出力します。この場合は、マイコンのA/D入力ポートなどを用いて、アナログ電圧をディジタル値に変換して取り込むことが必要です。
A/D入力ポートをもつマイコンは数多くありますが、さらに電圧増幅用のOPアンプを内蔵したマイコンを使用すれば、センサから出力される電圧が小さくても、適切なレベルのディジタル値に簡単に変換できるので便利です。
型名 | 動作周波数 | I/O | A/D | D/A | OPアンプ | LCDドライバ | シリーズ |
---|---|---|---|---|---|---|---|
MSP430F6433 | 20MHz | 74 | 12ビット16ch | - | - | 〜160セグメント | 6シリーズ |
MSP430F6775 | 25MHz | 90 | 24ビット7ch,10ビット8ch | 8 | - | 〜320セグメント | 6シリーズ |
MSP430F4270 | 8MHz | 32 | 16ビット | 1 | - | 〜56セグメント | 4シリーズ |
MSP430FG4270 | 8MHz | 32 | 16ビット | - | 2 | 〜56セグメント | 4シリーズ |
MSP430G2955 | 16MHz | 32 | 10ビット12ch | - | - | - | バリューライン |
マイコンの計算値を用いてモータ、ヒータ、ランプなどを駆動することによって、外界の力や運動、温度、明るさなどをきめ細かく制御することができます。この場合、ディジタルの計算値をアナログの駆動電圧や駆動電流に変換する必要があります。また、実際に負荷を駆動するには、パワーアンプなどの駆動回路を外付けして電力を増幅する必要があります。
D/A出力ポートを用いると、ディジタル値に比例したアナログ電圧を簡単に出力できますが、中間的なアナログ電圧を用いると外付けの駆動回路の消費電力が大きくなってしまいます。最近では、消費電力が少ないスイッチング方式の駆動回路を使用できるPWM制御が一般に用いられています。PWM制御は、スイッチのオン時間とオフ時間の比(デューティサイクル)を変化させることによって、駆動出力の平均電力を連続的に制御する方式です。マイコンの場合、汎用のカウンタ/タイマ出力を用いてもPWM制御を容易に実現できますし、専用のPWM出力ポートをもつマイコンもあります。
※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。
TIのマイコン製品の詳細はこちら
宮崎 仁のマイコン基礎の基礎 第7回 「入出力のしくみ」は、6/25(火)の公開を予定しています。
提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2014年3月31日
Copyright © ITmedia, Inc. All Rights Reserved.