Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

プルアップ抵抗(プルアップテイコウ)とは | 意味や読み方など丁寧でわかりやすい用語解説

プルアップ抵抗(プルアップテイコウ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

プルアップ抵抗 (プルアップテイコウ)

英語表記

Pull-up resistor (プルアップレジスタ)

用語解説

プルアップ抵抗とは、電子回路において信号線や入力端子を安定した高い電位(一般的には電源電圧)に接続するために用いられる抵抗器である。その主要な目的は、信号線がどの電位にも接続されていない「不定」の状態、あるいは「フローティング」とも呼ばれる不安定な状態になるのを防ぎ、確実に「High(ハイ)」レベル、つまり高い電圧状態に固定することにある。システムエンジニアにとって、特に組込みシステムやIoTデバイスの開発・デバッグを行う際に、ハードウェアの基本的な挙動を理解するために不可欠な概念の一つである。

詳細に説明すると、デジタル回路の入力端子は、明確に「High」(論理1)か「Low」(論理0)のどちらかの電位を受け取ることを前提として設計されている。しかし、外部からの信号が一時的に途切れたり、ある種の出力回路が意図的に信号線を駆動しない状態(オープンコレクタやオープンドレイン出力と呼ばれる)になったりすることがある。このような状況で入力端子がどこにも接続されていない状態、すなわちフローティング状態になると、その端子は非常に敏感になり、周囲のわずかな電磁ノイズや静電気の影響を受けて、予測不能な「High」または「Low」として誤って認識されてしまう可能性がある。これはシステムの誤動作や不安定な挙動に直結する深刻な問題となる。

プルアップ抵抗は、このような問題を解決するために、信号線を電源電圧(VCCやVDDなど)と入力端子の間に接続する。これにより、外部からの信号が途切れたり、出力回路が信号線を駆動しなくなったりした場合でも、入力端子はプルアップ抵抗を介して電源電圧に「引っ張り上げられ」、確実に「High」レベルの状態を維持する。信号が入力された際には、外部の回路がプルアップ抵抗よりも強い電流を流して入力端子を「Low」レベルに引き下げることで、信号の切り替えが行われる。

具体的な応用例としては、まず押しボタンスイッチの入力回路が挙げられる。スイッチが押されていない状態では、マイクロコントローラなどの入力ピンはどこにも接続されておらずフローティング状態となる。ここにプルアップ抵抗を接続しておくことで、スイッチが押されていない間は入力ピンが確実にHighレベルとなり、ノイズによる誤認識を防ぐ。スイッチが押されると、入力ピンはGND(グラウンド、低電位)に接続され、Lowレベルとして認識される。

もう一つの重要な応用は、オープンコレクタまたはオープンドレイン出力を持つデバイスの接続である。これらの出力形式では、デバイスが信号を「Low」に駆動することはできるが、「High」に直接駆動することはしない。つまり、デバイスが信号を出力していないときは、出力端子はフローティング状態となる。このような出力を持つ複数のデバイスが一本の信号線を共有するバスシステム(例えば、I2Cバス)では、信号線全体にプルアップ抵抗を接続しておくことで、いずれのデバイスも信号を駆動していない間はバスラインがHighレベルに保たれる。これにより、複数のデバイスが協調してバスラインのLow状態を制御できるようになり、通信が可能となる。I2Cバスでは、クロック線(SCL)とデータ線(SDA)の両方にプルアップ抵抗が必要となるのはこのためである。

プルアップ抵抗の抵抗値の選択も重要である。抵抗値が大きすぎると、信号線の容量成分との間でRC時定数を作り、信号の立ち上がりが遅くなることがある。また、ノイズに対する耐性も低下しやすくなる。逆に抵抗値が小さすぎると、信号をLowに引き下げる際に大きな電流が流れるため、消費電力が増大し、駆動するデバイスの出力能力に負担をかける可能性がある。適切な抵抗値は、回路の特性、消費電力、必要な信号速度、ノイズ耐性などを考慮して決定される。

プルアップ抵抗と対になる概念として「プルダウン抵抗」がある。プルダウン抵抗は信号線をGND(低電位)に接続し、確実に「Low」レベルに固定するためのものであり、プルアップ抵抗とは目的とする固定電位が逆である。

システムエンジニアが組込みシステムのハードウェアやデータシートを理解し、適切にデバッグやトラブルシューティングを行うためには、このようなプルアップ抵抗の基本的な知識が不可欠である。ハードウェアの設計意図を理解することで、ソフトウェアからの制御やインターフェースの動作をより深く把握し、システムの安定性や信頼性を向上させることができる。

関連コンテンツ