連載
» 2013年11月20日 11時00分 UPDATE

マイコン入門!! 必携用語集(9):マイコンが港で行う仕事とは? 「入出力ポート」 (1/3)

マイコンが行う仕事の中で、最も簡単な仕事は、「端子から0/1の信号を出すこと」と、「端子に入力された0/1の信号を読み取ること」です。非常に簡単な動作ですが、非常に重要な動作です。どんな高機能なマイコンでも、必ず使われている機能であり、今回はこの機能を行う「入出力ポート」を説明します。

[菅井 賢,STマイクロエレクトロニクス]
120_tt131121ST000.jpg

「マイコン入門!! 必携用語集」連載一覧

 端子から0/1の信号を出力し、端子に入力された0/1の信号を読み取る機能を行う部分は、一般的に「入出力ポート」と呼ばれています。入力(Input)のI、出力(Output)のOを使って「IOポート」(I/Oポート)と記述して、“アイオーポート”と呼ぶ場合も多いようです。STマイクロエレクトロニクスのSTM32やSTM8では、多目的に多方面で使用できると言う意味で「汎用」を付けて、「汎用IO」(General Purpose Input Output)と呼んだり、英文表記の頭文字を取って「GPIO」と呼んでいます。

 “ポート”(Port)は読んで字のごとく、“港”のことです。港から荷物を出したり、入れたりするので、マイコンでもポートという言葉が使われています。マイコンの場合の荷物は、0または1のデータになります。

GPIOの役割

 図1にGPIOの最も簡単な使い方の例を示します。

ST131120ST001.jpg 【図1】GPIOの役割

 押しボタンスイッチが押されていない時は、ポート2へは0(GNDレベル)が入力されますが、押しボタンを押すと1(電源レベル)に切り替わります。一方、ポート1は通常は1を出力しておくとLEDは点灯せず、0を出力するとLEDは点灯するようになっています。この2つの動作をマイコンのプログラムで連動させると、押しボタンを押せばLEDが点灯し、離すと消灯する回路が作れます。

 実際は、押しボタンスイッチは制御回路の入力信号。LEDはモータのドライバICなどにつながれて使われています。

GPIOの構成

 では実際にGPIOの構成がどうなっているか見てみましょう。構成は各社のマイコンで異なっていますので、詳細は各マニュアルを見なければなりません。ここでは、STマイクロエレクトロニクスのSTM32のGPIOをベースにして説明します。

 図2にGPIOの構成図を示します。

ST131120ST002.jpg 【図2】GPIOの構成 (クリックで拡大)

 上半分が入力回路、下半分が出力回路です。右側にGPIOピンがあって、ここからデータが入ったり、出たりします。ピンのすぐ近くには、ノイズやサージ電圧を電源(またはGND)に逃がすための保護ダイオードが付いています。また、プルアップ/ダウン抵抗が付いていて、外付け抵抗を削減できるようになっています。このプルアップ/ダウン抵抗はソフトウェアで接続したり、切り離したりできます。入力データはCMOS回路で一度受け、その後内部回路に伝わります。このCMOS回路を入力バッファと呼びます。この図ではCMOSインバータを使っています。

 マイコン内部から来た出力データは出力バッファによって出力されます。このバッファはCMOSインバータの構成ですが、マイコン外部の回路をドライブするので、ドライブ能力の高いCMOSが使われます。

 GPIOの構成で「NMOSオープンドレイン」と呼ばれる構成があります。NMOSのドレインが開放状態、すなわちPMOSがNMOSにつながっていない構成です。

 図2の出力バッファでPMOSがなく、NMOSだけで構成される場合を「NMOSオープンドレイン」と呼びます。図2の右側に参考図として記述してあります。このままでは1( Highレベル)が出力されませんので、外付けプルアップ抵抗が必要になります。NMOSオープンドレインは、I2Cなどの通信用端子に使われています。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.