RC直列回路の応用

論理回路においてPower on Resetを実現する

前記事の

RC直列回路を組むことで、論理回路のL->Hの立ち上がりを330μs程遅らせることができた。これを用いて、RSフリップフロップの初期化ができる。その回路であるが、全体は、

素子74LS00NANDゲートが4個入ったICであるが、上図のような書き方は見慣れない読者が多いかもしれない。普通は、

こんなふうに書くことが多い。真理値表は、入力AおよびBの両方がHの時だけQがアクティブになるということから、

入力A入力B出力Q
LLH
HLH
LHH
HHL

となるが、これは入力側を正論理(Hの時にActiveとみなす)見方をしたときであって、同じ上図の真理値表の見方を変えると入力Aか入力BのどちらかがLなら出力はHと見なすこともできる。つまり機能としてはORを取っているわけで、ORとしシンボルを書くと、

と書ける。NANDを負論理で書いているわけだ。結果はNANDではなくInverted ORだね。有名なドモルガンの法則で、ORはAND、ANDはORになる。フリップフロップに戻りますが、二つの入力のどちらかがLになれば、それに対応して出力側がHになる。両方Hなら状態は不変。両方Lは禁止。という形で、この時の真理値表は、

入力A入力B出力Q出力Q\bar{Q}
LHHL
HLLH
HH不変不変
LL禁止禁止

この様な時、RC充電回路側の入力は遅延により全体の回路が安定した後で、L->Hの変化をするので安定してQ\bar{Q}はHになり、Qは反対の値なのでLとなる。ぱっと見てフリップフロップの動作が直感的に理解しやすいので、このように負論理で書くのが望ましい。この書き方をMIL記法といふ。

上図のようなワイヤードロジック(ゲートだけで組んだ論理回路)は近年少なくなってきており、普通はなんらかのプロセッサを搭載し初期化を含めてソフトウエアで行うことも多いかもしれないですが、最初のような回路を目にしたら思い出してくれると幸いである。

見方を180°変えた方が理解しやすいこともある。

コメント