プルアップ抵抗とプルダウン抵抗の違い|回路が不安定になるのを防ぐ役割
デジタル回路では、入力端子の状態が決まっていないと、意図しない動作や誤検出が起こることがあります。こうした不安定な状態を防ぐために使われるのが、「プルアップ抵抗」と「プルダウン抵抗」です。
どちらも入力端子の電位を一定方向へ保つ役割がありますが、接続する先が異なります。プルアップ抵抗は電源側へ、プルダウン抵抗はグラウンド側へ接続します。
この記事では、プルアップ抵抗とプルダウン抵抗の違い、それぞれの役割や使い分け、抵抗値を決めるときの考え方を解説します。
プルアップ抵抗とプルダウン抵抗は入力状態を安定させる
デジタル回路の入力端子は、HighかLowのどちらかの状態として判定されます。
しかし、スイッチが開いているときや信号線がどこにも接続されていないときは、入力端子の電位が定まらないことがあります。この状態は「フローティング」と呼ばれます。
フローティング状態では、周囲のノイズや静電気などの影響を受けて、入力がHighになったりLowになったりすることがあります。
すると、本来操作していないスイッチが押されたと誤認したり、マイコンが意図しない処理を実行したりする可能性があります。
プルアップ抵抗やプルダウン抵抗を使うことで、信号が入力されていないときの電位をあらかじめ決め、回路を安定させることができます。
プルアップ抵抗は入力をHighに保つ
プルアップ抵抗は、入力端子と電源の間に接続する抵抗です。
外部から信号が入力されていない状態では、抵抗を通じて入力端子が電源電圧側へ引き上げられるため、Highとして認識されます。
たとえば、スイッチの一端をグラウンドに接続し、もう一端を入力端子につなぐ回路では、スイッチが開いているときはプルアップ抵抗によってHighになります。
スイッチを押すと入力端子がグラウンドへ接続されるため、Lowへ切り替わります。
この構成は、マイコンの入力端子や各種デジタル信号で広く利用されています。
また、I2Cのように、信号線をHighへ戻すためにプルアップ抵抗を使用する通信方式もあります。
プルダウン抵抗は入力をLowに保つ
プルダウン抵抗は、入力端子とグラウンドの間に接続します。
外部から信号が入力されていないときは、抵抗を通じて入力端子がグラウンド側へ引き下げられるため、Lowとして認識されます。
たとえば、スイッチの一端を電源へ接続する回路では、スイッチが開いているときはプルダウン抵抗によってLowになります。
スイッチを押すと電源電圧が入力端子へ加わり、Highへ切り替わります。
つまり、プルアップとプルダウンはどちらも入力を安定させる役割がありますが、何も入力されていない状態をHighにするか、Lowにするかが異なります。
プルアップとプルダウンは回路の動作に合わせて選ぶ
どちらを使うべきかは、回路が通常時にどの状態であるべきかによって決まります。
通常時をHighにしたい場合はプルアップ、Lowにしたい場合はプルダウンが基本です。
たとえば、スイッチが押されていない状態をHigh、押された状態をLowとして扱いたい場合は、プルアップ抵抗を使う構成が分かりやすくなります。
一方、押されていない状態をLow、押された状態をHighにしたい場合はプルダウン抵抗が適しています。
また、使用するICによっては、内部にプルアップ抵抗やプルダウン抵抗を備えていることもあります。マイコンのGPIOなどでは設定によって内部抵抗を有効にできる場合があるため、外付け抵抗が必要かどうかはデータシートを確認しましょう。
抵抗値は小さすぎても大きすぎてもよくない
プルアップ抵抗やプルダウン抵抗では、抵抗値の選び方も重要です。
抵抗値が小さすぎると、スイッチがオンになったときなどに余分な電流が流れやすくなり、消費電力が増えます。
反対に、抵抗値が大きすぎると、入力端子をHighまたはLowへ引っ張る力が弱くなり、外部ノイズの影響を受けやすくなることがあります。
一般的なデジタル入力では数kΩから数十kΩ程度が使われることがありますが、適切な値は回路条件によって異なります。
入力端子のリーク電流、電源電圧、信号速度、配線長なども確認しながら抵抗値を決める必要があります。
配線が長い場合はノイズの影響にも注意する
プルアップ抵抗やプルダウン抵抗を入れても、配線条件によってはノイズの影響を完全には防げません。
特に、スイッチやセンサから基板までの配線が長い場合、信号線が周囲の電磁ノイズを拾いやすくなります。
その場合は、抵抗値の見直しだけでなく、配線を短くする、ノイズ源から離す、必要に応じてコンデンサやフィルタを追加するといった対策も検討します。
また、機械式スイッチでは、接点が切り替わる瞬間に信号が細かく変動する「チャタリング」が発生することがあります。これはフローティングとは別の現象なので、必要に応じてハードウェアやソフトウェアによるチャタリング対策も行います。
まとめ
プルアップ抵抗とプルダウン抵抗は、デジタル回路の入力端子がフローティング状態になるのを防ぎ、HighまたはLowへ安定させるために使われます。
プルアップ抵抗は入力を電源側へ引き上げ、通常時をHighにします。プルダウン抵抗はグラウンド側へ引き下げ、通常時をLowにします。
どちらを使用するかは、回路が通常時にどの状態であるべきかを基準に決めましょう。
また、抵抗値が適切でないと消費電力が増えたり、ノイズの影響を受けやすくなったりします。ICの仕様や配線条件も確認しながら、回路に合ったプルアップ・プルダウン設計を行うことが大切です。