GPIOは、集積回路やコンピュータボード上の一般的なピンであり、その動作(入力ピンであるか出力ピンであるかを含む)は、実行時にユーザによって制御可能である。GPIOは"General-purpose input/output"の略で、「汎用入出力」を意味する。

GPIOのオス側のピン

マイクロプロセッサマイクロコントローラインタフェースデバイスは、外界と接続するための一つまたは複数のGPIOインタフェースを持っている。

GPIOピンにはあらかじめ定義された目的がなく、デフォルトでは使用されない[1][2]

すでに構築済みのシステムにシステムインテグレータがデジタル制御線を追加したい場合に、あらかじめチップにGPIOをつけておけば、そのための回路を追加する必要がなくなる。例えば、RealtekのALC260チップ(音声コーデック用)には8つのGPIOピンがあり、デフォルトでは使用されない。エイサーのラップトップでは、ALC260のGPIOの1つ目のピン(GPIO0)を使用して、ラップトップの内蔵スピーカと外付けヘッドフォンジャックのためのアンプをオンにしている。

使用法

編集
 
Raspberry Pi Zero with headerless GPIO array along the top

メーカーは以下のような場合にGPIOを使用する。

機能

編集

GPIOの機能には以下のものがある[2]

  • GPIOのピンは入力用にも出力用にも設定できる[4]
  • GPIOのピンは有効にも無効にも設定できる。
  • 入力値は読み出しできる(通常は二進数)。
  • 出力値は書き込みと読み出しができる。
  • 入力値は割り込みとして使用できる。

GPIOデバイスの種類は非常に広範囲である。時には、デバイスは非常に単純であり、入出力を切り替えられるピンのグループである。一方では、それぞれのピンが異なるロジック電圧の入出力が出来るよう柔軟に設定可能であり、ドライブ能力やプルアッププルダウンも設定可能である。普遍的ではないが、典型的には入出力電圧は、GPIOを持つデバイスの供給電圧に制限される。制限を越えた電圧により、デバイスが損傷を受けることがある。

個別のGPIOの読み書きや入出力の設定は、一つまたは複数の制御レジスタを読み書きすることで行う。いくつかのGPIOには5V耐性の入力ピンがある。低い供給電圧(2V)であっても、デバイスは損傷を受けることなく、5Vの入力を受け入れられる。

ポート

編集

しばしばGPIOはピンのグループ(典型的には8ピン)であるGPIOポートで扱われることがある。通常は個別のGPIOピンごとに入力または出力に個別に設定出来るが、GPIOポートはグループごとの入出力設定となる[4]

関連項目

編集

出典

編集
  1. ^ White, Jon, ed (2016). Raspberry Pi - The Complete Manual (7 ed.). Imagine Publishing. pp. 36. ISBN 978-1785463709 
  2. ^ a b “General Purpose Input/Output”. Oracle® Java ME Embedded Developer's Guide (8 ed.). Oracle Corporation. (2014). https://docs.oracle.com/javame/8.0/me-dev-guide/gpio.htm 
  3. ^ GPIO - Raspberry Pi Documentation”. Raspberry Pi Foundation. 2016年11月3日閲覧。
  4. ^ a b Balachandran, Sasang (2009). General Purpose Input/Output (GPIO). Michigan State University College of Engineering. http://www.egr.msu.edu/classes/ece480/capstone/fall09/group03/AN_balachandran.pdf 

外部リンク

編集