デジタル信号は3.3V系なら、約3.3Vと約0VでHighとLowを表現します。
ところがよく考えてみてほしいのですが、High→LowまたはLow→Highの変化の時に1Vとか2Vに一瞬なりますよね。
これって問題ないのでしょうか。
実は問題が有ります。
あるCPUの例では、LOW入力は0.3VCC=約1V以下、HIGH入力は0.7VCC=約2.3V以上と規定されています。
ということは、1V~2.3Vの間ではHIGHかLOWかはわからないということです。
この部分を「中間電位」と呼びます。
この中間電位ではデジタル回路は不安定になります。
しかし電圧の変化時に絶対に通過するのでゼロにするわけには行かないので、CPUなどのICの側で「x us以内に信号を変化させること」と規定されています。
これを守らないで、例えばRC回路などでゆっくり変化する信号をデジタル入力に入れるとどうなるでしょうか。
1,チャタリングする
中間の電圧の認識というのは非常に不安定です。
入力電圧が微妙にふらついていたりすると、HIGHかLOWの検出がブレたりします。
入力信号:0V→ふらふらしながら上昇→3.3V
出力理想:LOW→HIGH
出力現実:LOW→HIGH→LOW→HIGH……→最終的にHIGH
こんな風にぐちゃぐちゃな信号として読まれてしまいます。
2,貫通電流(大電流)が流れる
デジタル入力回路というのは、中間電圧をそもそも想定していません。
構造上、中間電位が入ると内部で「貫通電流」という大電流が流れてしまいます。
ICで規定された時間以内に信号が変化すれば問題はないのですが、ゆっくり信号が変化するとこの貫通電流が長時間流れてしまい、部品の破壊につながります。
と、こんなわけなのでゆっくりと変化する信号をデジタル回路やCPUのデジタル入力につっこんではいけません。
「シュミットトリガ入力」だとか「ヒステリシス入力」などと書いてあるIC・CPUは問題ありませんので、そういった部品を使うようにしましょう。
以上、小田切でした。