過大入力に対する保護を目的とし、図3の抵抗R1のように、回路の入力部に直列抵抗を配置することがある。抵抗R2は、信号を受け取るゲートICの入力が開放にならないようにするためのプルダウン抵抗だ。ここで、R1はオープンコレクタ回路の場合と同じ問題を抱えている。図4のように、ゲートICの入力部に浮遊容量を描いて考えればわかりやすい。スイッチS1がグラウンドから電源VCC側に切り替わると、ゲートICへの入力はオープンコレクタ出力が立ち上がる際と同じ状態になる。
図5の回路で実験したところ、写真3のような波形が得られた。なお、この回路では、ゲートICとしてシュミットトリガー入力ではない74HC04を使用している点に注意されたい。
この実験により、直列抵抗R1について次のことがわかった。
直列抵抗として値の大きいものを使わなければならない場合には、図6のようにコンデンサC1を並列に付加するとよい。この回路で実験すると、直列抵抗R1、それと並列に接続するコンデンサC1について、次の結果が得られた。
上記の結果から、筆者はこのような場合、R1を10kΩ、C1を100pFとして使用している。なお、C1が大きいと立ち上がり/降下が速い信号に対する保護作用が小さくなる。すなわち、必要以上に大きくすると保護の効果が薄れるので注意が必要である。また、どのようなケースでも、これらの値がそのまま使用できるというわけではない。ゲートICの入力容量や配線パターンの設計などによって条件が変わることを考慮しなければならない。
保護用の直列抵抗を使う場合には、もう1つ注意すべきことがある。図3において、コネクタ経由で侵入してくるノイズを阻止するためには、R1をコネクタ寄りに配置したい。しかし、R1はゲートIC寄りに配置しないと、図4の浮遊容量が増えて問題が起きやすくなる。これら2つの事柄に配慮するためには、ゲートICをコネクタ付近に配置するのが理想的だ。
また、図6のような状況であれば出力波形を確認できるが、同様の回路構成でノードAの信号がFPGAやCPUなどへの入力である場合には、ノードBの信号はIC内部にあるため確認できない。その場合、入力波形を確認して写真3のような乱れがあるなら、IC内部でも同様の出力波形が発生していると推測できる。
図6を用いた実験結果で、直列抵抗R1が1MΩでも動作するというのは、意外ではないだろうか。土木関係の仕事をしていて、「間違えて200VACをつないでも、壊れないような回路にしてくれ」と頼まれたことがある。そのような回路の実験が行いたいなら、図7のようなものを用意することになるだろう。R1としては、値が100kΩ〜1MΩのものを使うことになる。また、抵抗R1、R2、コンデンサC1の耐電圧と、配線パターンの耐電圧には気を配る必要がある。
特に注意しなければならないのは、VCCに負荷として抵抗R3を付加することである。通常の回路であれば、VCCには負荷としてほかのICなどがつながっている。入力に正の高電圧が生じた場合、ダイオードD1を通じてVCCに向かって電流が流れる。この電流はわずかなので、VCCの電圧を上昇させるまでには至らない。しかし、図7のまま(IC1の残りの入力は、グラウンドに落とすなどの処理を施す)、VCCには電源装置もつながなかったとしよう。もしR3が存在しなければ、D1を通じて流れる電流の行き先がIC1の電源端子しかなく、VCCの電圧が異常に上がってしまうのだ。
R3のような放電抵抗の必要性には気付きにくいかもしれない。しかし、このような抵抗は、CMOSなどの低消費電力回路の実験を行う際にも必要になる。また、電源を切って電圧が下がったと思っても、実はまだ電圧が残っているといったケースにも有効である。
《次の記事を読む》
Copyright © ITmedia, Inc. All Rights Reserved.