プルアップ・プルダウンとは

どちらも信号の電圧を安定させるための手法です。

電源に接続することからプルアップを「吊る」、グランドに接続することからプルダウンは「(グランドに)落とす」などと呼ばれます。

プルアップ・・・信号線と電源の間に抵抗を入れます。この抵抗をプルアップ抵抗と呼びます。

プルダウン・・・信号線とグランドの間に抵抗を入れます。この抵抗をプルダウン抵抗と呼びます。

デジタル回路はHとLだけじゃない?

冒頭でプルアップは「吊る」、プルダウンは「落とす」と呼ばれると説明しましたが、信号線がどこにも繋がっていない不安定な状態は「浮いた状態」「オープン」などと表現されます。(正確にはハイピーンダンス状態と呼びます)
この「浮いた」状態の信号線はどの電位にも接続していないため、ちょっとしたきっかけ(指で触れる、風が吹くなど)でも電圧が大きく変動してしまいます。つまり、ノイズの影響を極めて受けやすい状態であると言えます。


デジタル回路の各信号では、常に電圧が高い状態(H:High)もしくは電圧が低い状態(L:Low)のいずれかでなくてはなりません。「浮いた」状態を回避し、電圧を安定化させるためにプルアップ、プルダウン抵抗が用いられるのです。

「デジタルは1と0で表される」とよく言われますが、1と0以外にも「不定」という状態があることを覚えておきましょう。

プルアップ・プルダウンの目的は?

プルアップとプルダウンは具体的にどのような回路で使われるのでしょうか。下記に5つの例を用意しました。

  1. マイコンのIO入力の安定化
  2. オープンコレクタ/オープンドレーン出力(センサ・スイッチなど)の安定化
  3. ノイズ対策
  4. 一定の電流を流し続ける作用
  5. 活線挿抜への対応

1. マイコンのIO入力の安定化

マイコンのIOピンを入力(インプット)で使うとき、ピンの内部ではトラジスタのベースに相当する端子が接続されます。このピンに何も接続されない状態ではピンが「浮いた」状態となり、入力は不定になってしまいます。(左回路)

そこで、初期状態(スイッチやセンサが動いていない状態)でHとLどちらが入力されるかをプルアップorプルダウンで設定するのです。(右回路)

右の回路は最もポピュラーなスイッチ入力回路です。抵抗でプルアップしたマイコンのIOピンに、グランドと導通するスイッチを取り付けています。スイッチを押さない状態では抵抗を通して電源に接続されているため、IOピンの入力はHに安定します。ここでスイッチを押すと、IOピンはグランドと導通してLになります。

右の回路ではスイッチを押さない状態と押す状態が存在しますが、いずれの場合でもIOピンの入力はH or Lの2状態に定まっています。

プルダウン・プルアップに用いられる抵抗は一般的に数k~数百kΩです。慣例的に、4.7kΩ,10kΩが使われる事が多いようです。

2. オープンコレクタ/オープンドレーン出力(センサ・スイッチなど)の安定化

センサはH or Lで出力するタイプだけではなく、「2端子間が導通しているか or 導通していないか」で出力するものがあります。これは「ドライ接点」と呼ばれるタイプで、詳しくはこちら↓の記事で説明しています!

センサの信号をマイコンに取り込みたい場合は出力線をマイコンのIOピンに接続しますが、ドライ接点の場合はプルアップorプルダウンが必要です。もしプルアップ・プルダウンがない場合、センサ出力がOFFの状態ではトランジスタが閉じ、
マイコンのIOピンはどこにも接続されていない「浮いた」状態(ハイインピーダンス状態)になってしまいます。この状態は非常にノイズに対して弱いため、マイコンの入力は不安定になってしまうでしょう。
先ほどのスイッチがトランジスタに置き換わったものだと考えてみてください。こちらも数k~数百kΩの抵抗が使われますが、センサがオンの状態に流れる電流が、センサの定格を超えない値を選びましょう。

3. ノイズ対策

前述している通り、プルアップ・プルダウンは信号線を安定化し、ノイズの影響を受けにくくする作用があります。

「一応吊っておく」「念のためプルダウンで落としておく」などというセリフは、設計現場ではよく耳にします。

プルアップ・プルダウンすることで信号が安定化する理由は、電源もしくはグランドとのインピーダンス(抵抗)が下がるためです。つまり、このインピーダンス(抵抗)を下げれば下げるだけ、プルアップ・プルダウンに使われる抵抗には大きな電流が流れ、ノイズの影響を受けにくくなります。

ノイズに強くしたい信号は「強く」プルアップ・プルダウンするのです。(ここで言う「強い」は、電源やグランドに引っ張る力の強さを指しており、すなわち低い抵抗を使うことを指します。)

しかし、ここで気を付けなければいけないことがあります。それは、ノイズ耐性と消費電力はトレードオフであるということです。

抵抗を小さくするとノイズに強くなりますが、それだけ電流が流れてしまうので消費電力が大きくなります。逆に抵抗を大きくするとノイズに弱くなりますが、消費電力は小さくなります。これらを両立することはなかなか難しく、装置や回路によって、どちらを取るべきか検討が必要です。

一般的に、1kΩより小さい値(470~1kΩ)が非常に強く、数百kΩを超える値は弱いプルアップ・プルダウンとして扱われます。

4. 一定の電流を流し続ける作用


電圧レギュレータの中には、最低限の電流を流し続けなければ出力電圧を安定化できないものが存在します。常に最低限の電流を消費し続ける負荷であれば問題ありませんが、マイコンのようにプログラムの内容や状態によって消費電流が大きく変動する負荷の場合は気を付けなければなりません。このような場合に、レギュレータの出力を安定化させるため、レギュレータの出力ピンとグランド間にプルダウン抵抗を入れ、一定以上の電流が流れ続けるようにします。


電力消費用のプルダウン抵抗が必要であるかは、電圧レギュレータのデータシートで最少電流が規定されているかを確認しましょう。

活線挿抜への対応

活線挿抜(かっせんそうばつ)とは、電源が入ったままの状態で、コネクタや基板を接続したり切り離したりできる機能のことです。

マイコンの入力をコネクタに接続し、外部のスイッチからデータを読み出す回路を考えます。仮に電源が入った状態でこのコネクタを抜き差しする場合、そのままではマイコンの入力ピンが浮いてしまい、不安定な入力になってしまいます。このピンにプルアップもしくはプルダウンの処理をしておけば、コネクタの接続有無にかかわらずマイコンの入力を安定化することができます。

このような機能が必要な装置は限られてきますが、仕組みを知っておくことで電子工作の世界でも応用することができますね。

まとめ

  • プルアップ・プルダウンは信号線の電圧を安定させる手法
  • プルアップ抵抗は信号線と電源の間に入れた抵抗のこと
  • プルダウンは信号線とグランドの間に入れた抵抗のこと
  • ノイズ耐性と消費電力はトレードオフ
    • 抵抗を小さくするとノイズに強くなるが、消費電力が大きくなる
    • 抵抗を大きくするとノイズに弱くなるが、消費電力が小さくなる
  • 一般的に数kΩ~数百kΩがよく使われる