マイクロコントローラ(MCU)とは?
マイコンの入出力ポートについて

マイコンの入出力ポートについて

マイコンおいて、入出力ポートは欠かすことのできない、もっとも基本的な機能ブロックです。マイコンのソフトウェアからみて、入出力ポートは比較的容易に操作が可能な機能ブロックですが、一口に入出力ポートといっても、その構成や特性などはさまざまであり、十分に理解しないまま使用すると、思わぬトラブルを引き起こす可能性もあります。以下では、一般的にCMOS ICで実現されるマイコンの入力出力ポートについて説明をします。


1.ポートの構成

出力ポートと入力ポートに分けて、それぞれ構成の違いをみていきます。


出力ポート

  • コンプリメンタリ出力回路

    相補型出力回路とも呼ばれ、Pチャネル型トランジスタによるHIGHレベル信号、Nチャネル型トランジスタによるLOWレベル信号のいずれかを出力するポートです。

コンプリメンタリ出力ポート回路例

コンプリメンタリ出力ポート回路例


  • オープンドレイン出力回路

    コンプリメンタリ出力回路では、Pチャネル型トランジスタ、Nチャネル型トランジスタ双方を用いて、HIGHレベルあるいはLOWレベルを出力しますが、オープンドレイン型の場合は、Pチャネル型トランジスタを用いてHIGHレベルのみか、Nチャネル型トランジスタを用いてLOWレベルのみを出力する回路を構成します。Pチャネル型トランジスタのみを用いた出力回路の場合は、Pチャネルオープンドレイン、Nチャネル型トランジスタのみを用いた出力回路の場合は、Nチャネルオープンドレインと呼びます。

Nチャネルオープンドレイン回路例

Nチャネルオープンドレイン出力ポート回路例



入力ポート

  • ゲート入力回路

    外部からの信号を直接マイコンの入力バッファに伝える*1構造になっています。入力ポートに対して、外部から電位の印加がない場合は、入力バッファの入力端子がフローティング(浮いた状態)となり、過電流が流れる可能性があります。

コンプリメンタリ出力ポート回路例

ゲート入力ポート回路例


*1:1実際の回路は、入力信号線に上記のような保護用の抵抗が入っています。


  • プルアップ/ダウン抵抗付き入力回路

    入力ポートについて、マイコン内部の抵抗を介して電源かグランドに接続し、ポートの状態をHIGHレベルあるいは、LOWレベルに保ちます。この抵抗により、入力ポートに電位の印加が無い状態であっても、入力バッファがフローティングにならず、過電流が流れる心配がありません。但し、ポートにLOWレベルを印加したまま電源側に接続される抵抗(プルアップ抵抗)、あるいはHIGHレベルを印加したままグランド側に接続される抵抗(プルダウン抵抗)があると、本抵抗に電流が常時流れ、電力を消費してしまいます。

プルアップ/ダウン抵抗付き入力回路

プルアップ付き入力ポート例



エプソンのMCU製品(S1C31 FamilyとS1C17 Family)の概要資料をダウンロード

2.ポートの特性

入力ポートについて、特性上の違いをみていきます。


入力特性


  • 入力回路

    入力ポートに印加される電位により、HIGHもしくはLOWレベルの信号がマイコン内に取り込まれますが、その電位の閾値は1レベルに固定されています。高速な信号の立ち上りや立ち下りに反応することができますが、入力信号に含まれるノイズに弱くなり、意図しない入力や入力割り込みが発生する可能性があります。

入力波形とマイコンに取り込まれるデータ例(通常の入力回路)

入力波形とマイコンに取り込まれるデータ例(通常の入力回路)


  • シュミット入力回路

    前記の入力回路では、入力電位の閾値は1レベルであり、入力された電位がその閾値の上下どちらかにあるかで、マイコンに取り込まれる値が変化していたのに対し、シュミット入力回路では、ヒステリシス特性*2を持ち、電位の立ち上がり時と電位の立下り時で、その閾値が異なります。外部入力信号に対する応答性は悪くなると言えますが、通常の入力回路と比較して、ポートに含まれるノイズに対しては強くなります。応答性の低下に関しては僅かであり、十数MHz以下のクロックで動作するマイコンの入力ポートの場合は、シュミット入力回路を用いて耐ノイズ性を高めたほうが、メリットがあると言えます。

入力波形とマイコンに取り込まれるデータ例(シュミット入力回路)

入力波形とマイコンに取り込まれるデータ例(シュミット入力回路)


*2:ヒステリシス特性とは、ある状態が、現在加えられている力だけでなく、過去に加わった力に依存して変化するような特性のこと。


エプソン製S1C17/31Familyのほとんどの機種では、入力と出力の双方が可能な入出力ポートを搭載し、コンプリメンタリ/オープンドレイン出力、プルアップ/プルダウン抵抗つき入力などをソフトウェアで切り替えることが可能です。また、入力ポートについては、シミュット入力を基本としていますので、外部デバイスとの接続性や耐ノイズ性能が高くなっています。


S1C17/31Familyにおける基本I/Oセル構造例

S1C17/31Familyにおける基本I/Oセル構造例



次のコラム:マイクロコントローラ(MCU)とは?マイコンのタイマについて