プルアップ抵抗(プルアップていこう、英: pull-up resistor)は、電子回路においてなんらかの信号線への入力が切り離されたような状態[1]になっても、その信号線を内部でVddなどの電位が高い電圧源にその抵抗を通して接続しておくことにより、電位が不安定な状態にさせず[2]、じゅうぶんに高い電位に保っておくための抵抗である[3]。また同様にして、電位が低いグラウンド(アース)[4]などに接続して、じゅうぶんに低い電位に保っておくための抵抗がプルダウン抵抗である。
概要
以下、注記なき場合はCMOSのような、単電源で対称的な電子回路によるディジタル論理回路を前提とする。そのような回路への通常の入力は、High または Low の電圧が常に印加されていなければならず、High と Low の中間電圧の状態では、論理的な誤動作を起こしたり、より悪い場合には電気的な誤動作[5]につながることもある。さらに、回路の入力端子がどこにも接続されていないような「浮いている」状態があると、周囲の静電気や電磁誘導による浮遊電位により高電圧が発生し、絶縁が破壊される危険性すらある。その対策として、プルアップ抵抗やプルダウン抵抗が用いられる。
プルアップ抵抗は、ある配線と High に相当する電圧レベル(例えば 5V)との間に挿入され、その配線への入力が「浮いている」ときは High にする働きをする。プルアップ抵抗は十分に大きな抵抗値に設定され、その配線が Low に接続されている場合(Low が入力されている場合)は、抵抗による影響は通常無視できる。
プルアップ処理を必要とする単純な例としては、外部からの入力のためのスイッチがある。通常そういったスイッチの配線は「接続状態では Low に駆動され、切断状態ではプルアップ抵抗により High に駆動される」といったようにする[6]。また、以上で述べたような入力の処理の他に、オープンコレクタの出力などを複数つないで、その共通線を無信号時には Hi にする(ワイヤードAND)、といったものがある。実例としてはI2Cなど(後述)。
プルアップ・プルダウン抵抗の値の選定には、次のような条件がある。一般的な場合の優先順位順に、
- 標準やデータシートで定められている場合は、まずその値が第一候補である
- 端子が未接続の場合に、不安定な動作を確実に防ぐ余裕を持つこと(極端に大き過ぎる抵抗値ではいけない)
- 通常動作に対し、大きな影響がないこと(小さ過ぎる抵抗値でもいけない)
- 電流ひいては消費電力が小さいこと(大きめの抵抗値が良い)
また、CMOSのように対称な回路方式の場合はプルアップとプルダウンの関係も(理論上は)対称だが、非対称な回路方式の場合は非対称になる。
トランジスタの状態 | 出力 | 備考 |
---|---|---|
OFF | Hi | プルアップ抵抗に接続されている電位になる |
ON | Low | 接地の電位になる |
プルダウン抵抗
プルダウン抵抗(プルダウンていこう、英: pull-down resistor)は、プルアップ抵抗とは反対に、入力がない場合に Low レベルの電圧(通常、電位0V)にしておくために使われる。
CMOSではその対称性から、原理的にはプルアップとプルダウンは対称である。他の方式、特にその方式自体が対称ではない場合は対称でないことも多く、たとえばTTLの入力は何も接続されていない場合は自然に High になるため、プルダウンで Low にするには抵抗値を小さくする必要がある。そして、そうするとより多くの電力を消費する。そのためTTLではプルアップの方が好まれる。
実例
バイポーラ論理ファミリは5Vで駆動され、プルアップ抵抗にはだいたい1kΩ~4.7kΩ程度を使う。抵抗値はその回路の電源や温度の特性を考慮して常に正しく動作するよう選択する。CMOSやMOS論理では、その高い入力インピーダンスに合わせ、220kΩ~1MΩ程度のより大きな値とすることができ、消費電力が少なくて済む。
出力側の例としては、TTLのICからリレーの開閉を制御する場合が挙げられる。TTLのICの Low 状態の出力をそのまま用いてもリレーを駆動することは出来ない。大電流を流すことの出来る増幅回路をもつ電圧入力の端子へ、プルアップ抵抗によって安定化された制御電圧(信号)を印加することで、安定した負荷制御を行う。
プルアップ抵抗はICチップ内に組み込まれていることもある。マイクロコントローラでは、入力端子毎にプログラマブルなプルアップ抵抗を内蔵しており、必要となる外部部品を極力少なくしているものが多い(プルダウン抵抗も内蔵していることもある)。
プルアップ抵抗の欠点として、電力消費が増える点と能動電流源に比べて速度が遅くなる点が挙げられる。論理ファミリによっては、プルアップ抵抗から流れ込む過渡電流に影響されやすく、プルアップ用に別のフィルタ付き電源を必要とする場合がある。
I2C
I2Cでは、クロック信号線 (SCL) とデータ信号線 (SDA) にプルアップ抵抗が接続されており、機器側の端子はオープンコレクタ相当になっていて信号線をLowにすることができる。すなわち、なにもないときはいずれの信号線もHighになっている。
注
- ^ 「浮いた」状態、ハイインピーダンス状態などとも呼ばれている
- ^ 一般的には「どこにも接続されていない状態」は0ボルトとして扱われることも多いが、電子工学的にはそういった場合の電位は不定として扱われる。なお、実際的にも飛行機類の着地の際に地面との電位差がある場合があるので対策がとられているように、「どこにも接続されていない状態」の電位は不安定(不定)である。
- ^ ここの説明において「入力」と「内部」の境界は任意である。どちらも実際には機器の内部にあることもあれば、ICの場合はICの「外部」にプルアップ抵抗を付けることも多い。
- ^ 電圧が0の「電圧源」と言える。
- ^ ラッチアップを起こしたり、貫通電流が流れてしまう、等
- ^ あるいは「接続状態では High に駆動され、切断状態ではプルダウン抵抗により Low に駆動される」といったようにする。
参考文献
- Paul Horowitz and Winfield Hill, "The Art of Electronics 2nd Edition", Cambridge University Press, Cambridge, England, 1989 (ISBN 0-521-37095-7)
関連項目
外部リンク
- Really basic introduction at Encoder