演習問題 |
7−5.デジタルICの種類
さて、デジタルICには大きく分けると2つの種類があります。それは7−6.フリップフロップ
・TTL
というものです。ではこれら2つの違いを見ていくことにしましょう。
・C−MOS
@TTLTTLはTransistor-Transistor Logicの略です。何でトランジスターが2回出てくるの?と思うかもしれませんが、これはそれまで使われていたDTL(Diode-Transister Logic)と区別するためです。さてTTLはその名のとおり、トランジスターが組み合わさって出来ています。そしてTTLではTexas Instruments社(略称TI)が1964年に開発した74シリーズと呼ばれるデジタルICファミリが一番広く使われています。74シリーズは今ではTI以外の会社もセカンドソースを作っているので入手は非常に容易です(特に日立製が良く出回っている)。さて、74シリーズも時代と共に高速化・省電力化が進み、今ではさまざまな種類があります。例えば、
AC-MOS
シリーズ 特徴 無印 一番最初に作られたシリーズ。最近ではほとんど使われない。 LS Lowpower Schottoky-diodeの略。無印と動作速度が変わらず、省電力なので、無印に取って代わって主流となった。 ALS Advanced Lowpower Schottoky。LSよりさらに高速で省電力。 F Fast。ALSよりさらに高速だが、消費電力はLSより多い。出力電流を多く流せるという特徴もある。 AS Advanced Schottoky。現在74シリーズの中で一番高速と思われる。 消費電力は当然Fより多い。
といったところがメジャーです。まあ普通に使う分にはLSで十分ですが。
型番は例えば74LS00(LSシリーズの2入力NANDゲート×4)という風に表されます。TTLのデジタルICの電源は5Vが標準的です。74シリーズのTTLの場合は5V±5%と結構厳しくなっています。以前やった3端子レギュレーターの7805を使ってやるのが一番良いですね。
さて、前回演算で単純に0,1という2進数を使いましたが、実際にはどのような基準でこれを判断するのでしょうか。TTLの場合は入力が0〜0.8Vなら「0」、2.0〜5.0Vまでなら「1」と判断されるようになっています。また出力は「0」の場合なら0〜0.4V、「1」なら2.4〜5.0Vが出力されます。入力と出力では0.4V違いますね。これはどうしてかというと、出力されたものにノイズが混入して電圧が多少変わっても大丈夫なように多少 ゆとりを持たせてあるからです。
C-MOSはComplementary-Metal Oxide Semiconductorの略です。コンプリメンタリー、つまり相補型という名前はP型とN型のMOS-FETを互いに対になるようにして使用することから付けられています。
B定番デジタルIC
C-MOSは理論上は消費電力が0という、結構すごい回路です。実際にはそううまくはいかず、動作速度が速くなるほど消費電力は増える傾向にあるのですが、それでもTTLよりははるかに省電力です。このC-MOSは研究はかなり昔からされていたのですが、どうしてもうまく動作せず、実用化はかなり遅れました(Si結晶の中にまぎれこんだNa原子が原因 だったようです)。一般的にC-MOSはTTLと比較して中速、省電力と言うのが特徴でしたが、最近ではかなり高速になってきて、TTLを駆逐しそうな勢いです。ただあまり出力電流を流せないと言う欠点はあります。
C-MOSのデジタルICはRCA社の開発した4000シリーズ、Motorola社の開発した4500シリーズが比較的有名です。これも他の会社がセカンドソースを作っていて入手は容易になっています(特に東芝製が多い)。ただ4000シリーズは遅いので、より高速な74HCシリーズの方がよく使われるようです。C-MOSも種類をあげると、
シリーズ 特徴 4000 最初期に作られたシリーズ。低速で使われる機会は少なくなってきているが、動作電圧範囲が3〜18Vと広く、他では置き換え出来ない特徴を持つ。 4500 特徴は4000シリーズと同じ。4000シリーズよりユニークな機能を持つICが多い。 74HC Highspeed C-MOS。TTLの74シリーズを機能はそのままでC-MOS化したもの。LS並の速度が出るため、一気に普及した。 74AC Advanced C-MOS。HCの高速バージョン。これも74Fシリーズに取って代わり普及しつつある。 74HC4000 4000シリーズの機能はそのままで高速化した物。
だいたいこんな所です。TTLは電源が5Vと決まっていましたが、C-MOSは動作電圧範囲が広いのが特徴で、だいたい3〜15Vぐらいまでは使えます。また、「1」「0」の判断のレベルがTTLより広い(Vddを電源電圧とすると、「0」は0〜1/3Vdd、「1」は2/3Vdd〜Vdd)のでノイズに強いという特徴もあります。さらにC-MOSは構成が容易なのも特徴で、TTLとC-MOSをNOTゲートで比べてみると
TTL(7404) C-MOS
これだけ違いが出ます。つまりC-MOSは基盤の上によりたくさんのゲートを構成することが出来ると言うことです(ただしC-MOSの方は実際にはもう少しだけ複雑になります)。
実際にゲートICを使って回路を組むとき、規格表にはたくさんの種類のデジタルICが乗せられているので、どれを使えばいいのかわからなくなるかもしれませんね。ここではTTL,C-MOSの定番ICを並べてみます。
ゲート 74(LS,HC) 4000/4500 NAND 7400,7410,7420 4011,4023,4012 NOR 7402,7427,7425 4001,4025,4002 NOT 7404 4069 AND 7408,7411,7421 4081,4073,4082 OR 7432 4071,4075,4072 EX-OR 7486 4070,4077(EX-NOR)
だいたいこのあたりがよく使われます。複数書いてあるところは前から順に、2入力、3入力、4入力です。
フリップフロップとは英語でシーソーの「ぎっこんばったん」という音を表した物です。シーソーの一方が上がると片方が下がる、これを1と0に対応させて考えます。7−7.カウンター
@RSフリップフロップまずはこの回路図を見て下さい。
AJKフリップフロップ
ここでまずSに1、Rに0を入れると、Qは1、/Qは0になります。またSに0、Rに1を入れると、Qは0、/Qは1になります。では両方0にするとどうなるでしょうか。これは直前の状態を維持します。
ではこれをパルス(普段は0で一瞬だけ1になるもの)を加えることで考えてみましょう。Rを0にしたままSにパルスを加えるとまず1になった瞬間にQは1になりSが0になってもその状態を維持し続けます。Rにパルスを加えると逆にQは0になります。つまり一瞬の変化を維持し続けるわけです。この回路の事をRSフリップフロップ(RS-FF)と呼びます。Sがセット、Rがリセットを意味するというのは説明するまでもないですね。
上のRS-FFにはRとS、両方が同時に1になると出力がそのときの状態によって1になるか0になるかわからないと言う欠点があります。これをなくしたのがJKフリップフロップ(JK-FF)です。
BDフリップフロップ
JK-FFには2つの入力端子J,Kとクロック入力があり、Jが1、Kが0の時にクロック入力にパルスが入るとQが1(/Qは0)になり、Jが0、Kが1でパルスが入ればその逆になります。両方0ならQは変わりません。ここまではRS-FFとほぼ同じですね。さて、ではJ,Kともに1の時はどうなるのかというと、Qと/Qが入れ替わります。これは後で述べるT-FFと同じ動作です。
JK-FFには入力端子が2つありましたが、D-FFは1つだけです。
CTフリップフロップ
Dが1の時にクロック入力にパルスが入るとQは1、Dが0の時ならQは0になります。このD-FFは見方を変えれば、前に入ってきた情報を保持する、つまり記憶作用があるといえますね。つまりD-FFは1ビットのメモリーとして使えると言うことです。このD-FFをもっと簡単な構造にして何百万個もつなぎ合わせて作られたのが、S-RAMと呼ばれるRAMの一種です。RAMについてはマイコンの所で詳しく述べることにします。
先ほどJK-FFの所でも述べましたがJとKを1にすればT-FFとして使えます。といいますか、T-FF単体では製品がありませんので、こうするしかありません(D-FFから作る方法もありますが)。T-FFの働きはクロック入力にパルスが入るたびに、Qが反転(0なら1,1なら0)することです。
Dクロック入力
ではここにある決まった周波数のクロックを入れてみるとどうなるでしょうか?答えは「周波数が半分になる」です。この作用を分周といいます。これはこの後出てくるカウンターでも重要です。
ここまでJK-FF,D-FF,T-FFでは単純に「クロック入力にパルスが入ったら」という表現をしてきましたが、これは厳密に言うと、立ち上がり、立ち下がりの2つに分かれます。立ち上がりは信号が0から1になる瞬間に動作をし、立ち下がりは逆に1から0になるときに動作をします。これは場合によっては重要な意味を持つので、規格表で確認した方がいいと思います。
それではこれから2進数で数を数えることを考えてみましょう。数えるといっても、一体何を数えるのでしょうか?それはパルスの数です。パルスが1つ来るたびに、1,2,・・・と数えて行くわけです。ではどうすればカウンターが作れるのでしょうか?ここで先ほど出てきたT-FFが活躍するわけです。T-FFの出力(Q)を別のT-FFのクロック入力に・・・という具合につなげていくとカウンタの完成です。簡単なもんですね。本当にこれでカウンターになっているのか、考えてみて下さい
。 さて、実際にカウンターを使うときにいちいちFFを使うのは邪魔くさいのでちゃんとカウンター専用ICというのがあります。これを使えば簡単にカウンター回路ができます。カウンターICには・クロック入力
の3つは最低限付いていますが、そのほかにも
・出力(たいがい4ビット)
・クリア端子(強制的に0にする)・プリセット入力(ある決まった値からカウントできる)
を持った物もあります。
・桁上がり入力・出力
・UP/DOWN端子(クロックが入るたびに1足すか引くかを選べる)
では実際にクロック入力にスイッチでパルスを作って入れてみましょう。うまくいきましたか?
………………
………………
うまくいかなかったのではないでしょうか?1回しかボタンを押していないのに、数字がいくつもカウントされて、でたらめな出力になったりしませんでしたか?これはどうしてかというと、スイッチの接点は押してから完全につながるまで短い周期でON/OFFを繰 り返すからです。この現象をチャタリングといいます。では
この回路を入れてみましょう。今度はうまくいったと思います。ところでこのNOTゲートはなんだか変なマークが付いていますね。このようなゲートのことを「シュミット・トリガー」といいます。シュミット・トリガーはいったん1から0(もしくは0から1)になったとき、再び1(0)に戻すにはいま変化した点の電圧以上の電圧を加えないと元の状態に戻らないようになっています。つまりはノイズに強いと言うことです。だからスイッチが押されて一旦0になると、1には戻りにくいので好都合というわけです。
- 74LS00,74AS00、4011,74HC00が、だいたいどれぐらいの周波数まで使えるか求めよ(電源は5Vとする)
- 74シリーズでD-FF、JK-FFを探しなさい。また品種によってどこが違うかも考えなさい。
- D-FFからT-FFを作りなさい(ヒント:反転出力も使います)
- 時計を作る場合、分の所でどうしても6進カウンタが必要です。けれども一般には10進や16進のカウンタしかありません。ではクロック入力、クリア、出力のある標準的な16進カウンタから6進カウンタを作りなさい。
- 時計には同様に12進カウンタも必要です。これも作りなさい。
- では出来た6進カウンタと10進カウンタを組み合わせて、60進カウンタを作りなさい。
第7回へ
電子講座のトップに戻る