標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第127回]
●RC発振回路の動作の説明(その2)です
前回は、74HC04を使ったRC発振回路の動作について、説明をしました。
その説明の中で、「R1には電気は流れない(はず)」と書きました。
でも「実はしっかり流れてしまいます」とも書きました。
確かに、R1の一方の端はCMOSゲートの入力側につながっているだけなので、R1には電気は流れないはずです。
CMOSゲートは電圧で動作し、電流は必要ありません。当然その入力端子は、ハイインピーダンスです。
前回、コンデンサC1の両端の波形の写真をお見せしました。
上の回路図の(A)点と(B)点の波形です。
もし教科書通りに、R1に電気が流れないのならば、R1の両端、つまり(B)点と(D)点の波形は同じはずです。
●CMOSゲートの入力端子に電気は流れないはずだった、のですが…
写真の上は、インバータの入力1pin、(D)点の波形で、下はインバータの出力2pin、(C)点の波形です。
(C)点の波形がなまっていますね。
これは入力信号がスレッショルド近くをゆっくりと通過しているためです。入力がスレッショルド近くの場合には、出力は不安定な値になります。
問題は上の、(D)点の波形です。
前回の(B)点の写真とは、どうも様子が異なっています。
前回の説明では、(B)点の波形の振幅は、−2.5V〜+7.5Vである、と書きました。
写真ではマイナス側は切れていて確認はできませんが、プラス側は確かに、+7.5Vまでありました。
しかし、今回の(D)点の写真は、−0.5V〜+5.5V程度しかないように見えます。
波形の上の端と下の端で、何かがおきているようです。
何がおきているのでしょうか?
その答えよりも前に。
そもそも前回から説明している、このRC発振回路で発生する、−2.5Vとか、+7.5Vとかという電圧について、「大丈夫かなあ」と、思いませんでしたか?
CMOSゲートでは、「0V〜Vccの範囲を越える電圧を入力に加えてはならない」と、技術書などで読んだように思います。
「CMOSゲートの入力端子に電源電圧範囲を越える電圧を加えると、それがトリガとなって、IC内部のトランジスタが導通状態になり、過電流が流れて、最悪の場合はICが焼損してしまう」と書いてあったように記憶しています(こういう現象をラッチアップというのだそうです)。
…それって、めっちゃ、やばいんじゃないの。
やばい、です。
●クランプダイオード
今回の発振回路のように、必然的に0V〜Vccの範囲を越える電圧が発生してしまうというのではなくても、ノイズなどでその範囲を越える電圧がCMOSの入力ゲートに加わってしまう可能性は十分過ぎるほどあります。
そのたびにラッチアップが発生してICが燃えたり、割れたりしたんじゃ危なくって使えたものではありません。
当然、ICメーカーも対策を考えているはずです。
下の図は、一般的な74HCシリーズの入力ゲートの構造を簡単に示したものです。
入力回路には保護ダイオードが入っていて、0V〜Vccの範囲を越える電圧がIC内部に加わらないしくみになっています。
この保護ダイオードのことを「クランプダイオード」といいます。
なお、今回はゲートの「入力」が問題なので、入力端子についての説明をしましたが、このクランプダイオードは入力回路だけではなくて、出力回路にも入れられています。
さて、これで、やっと疑問が解決しました。
そうです。
(B)点の波形と(D)点の波形が異なっていたわけは、このクランプダイオードの働きだったのです。
CMOSゲートの入力端子には、普通は電流は流れないのですが、Vcc(+5V)+クランプダイオードの電圧〜+7.5Vの間と、0V−クランプダイオードのON電圧〜−2.5Vの間は、クランプダイオードがONになるために、電流が流れていたのです。
●それなら、安心だ…
ではない、と思います。
保護ダイオードは万能ではありません。
当然のことながら、限界というものがあります。
TTLやCMOSのICなどでは、超えてはならない限界のことを、「絶対最大定格」といいます。
たとえ、わずかでも、この限界を超えると、ICが破損してしまうかもしれない、という非常に恐ろしい定格です。
ただの「最大」ではなくて、「絶対」がついているところが、恐ろしいです。
●74HCシリーズの「絶対最大定格」
下はTI社のSN74HC04のデータシートです。
”absolute maximum ratings”と書いてあります。いかにも、コワそうですね。
これを見ると、Supply voltage(供給電圧)は、−0.5V〜+7Vになっています。電源電圧はこれを超えてはいけない、ということです。
そして、赤のアンダーラインで示した項目が、クランプダイオードの許容電流(クランプ電流)です。±20mAになっています。
念のため、別のメーカーについても見てみましょう。
下は東芝のTD74HC04のデータシートです。
同じ値になっています。
20mAというのは、かなり大きな値のようにも思えますが、さてどうでしょうか?
コンデンサの充・放電電流というのは、かなり強烈なものです。
たとえクランプダイオードがあるとしても、コンデンサを直接CMOSゲートの入力端子に接続するのは、ちょいと危険だと思います。
前回および今回の回路図で、インバータの入力端子(1pin)とコンデンサの間にR1が入っているのは、コンデンサの放電電流が急激にクランプダイオードに流れないようにするための、電流制限抵抗です。
RC発振回路として下のような回路図を見ることがあります。
この回路では、コンデンサの放電電流(電圧)がモロにCMOSゲートの入力端子を直撃します。
容量の小さいコンデンサならば、パワーもたかだか知れていますから、クランプダイオードで楽に吸収できると思いますが、低い周波数での発振をしようとすると、どうしてもRCの値を大きくしなくてはいけません。
しかし、図のような回路で、Cに容量の大きい電解コンデンサを使うなどというのは、とてもコワーいことだと思います。
たかだか抵抗を一本追加するだけで、気が休まるわけですから、ここはぜひとも保護抵抗を入れておきたいものです。
●でも、参考までに…。なにごとも実験です
保護抵抗R1を入れない回路で、その波形がどうなるかも試してみました。R1がありませんから(B)点が直接、インバータの1pinにつながります。
前回の写真と同じで、コンデンサの両端の波形です。写真の上が後段のインバータの出力側で、下が前段のインバータの入力側です。
インバータの入力側の波形は、保護抵抗による緩衝効果がないだけ、変化が急激です。
+5.5Vをこえる部分と−0.5Vを下回る部分は一瞬で終わってしまい、エッジがシャープになっています。
Rが無いため、コンデンサの放電電流が一瞬のうちにクランプダイオードを通過してしまったためです(おお、コワー…)。
なお、5V(0V)ではなくて約+5.5V(約−0.5V)なのは、クランプダイオードのON電圧が0.5〜0.7V程度必要だからです。
保護抵抗がある場合も、取ってしまった場合も、R2=100KΩ、C1=0.01μFです。
ついでですが、クランプダイオードの影響が無いと仮定した場合、発振周波数はf=1/(2.2RC)で求められます(のだそうです)。
周期は2.2RCです。
今回の回路はR=100KΩ、C=0.01μFですから、周期は2.2×100×0.01=2.2mSになります。
周波数は1/0.0022=455Hzです。
実測では、保護抵抗(R2)がある場合の周期は約2.5mS(400Hz)でした。
R2なしにすると、クランプダイオードの影響がモロに出て、約1.8mS(555Hz)になってしまいました。
2008.12.17upload
前へ
次へ
ホームページトップへ戻る