デジタル回路

デジタル回路の最新ニュースをまとめて検索!

デジタル回路(デジタルかいろ)は、回路上で2種類の電圧を情報の表現に用いる電子回路である。通常は、0Vに近い電圧と5Vや3V、1.2Vといった電源電圧に近い電圧であり、これらはそれぞれ"Low"と"Hi"、又は"L"と"H"と表現され、正論理式での"0"と"1"に相当する。

アナログ回路と対称の概念として扱われる。

目次

[編集] 概要

基本的なデジタル回路は、AND(論理積)、OR(論理和)、NOT(論理反転)のブール代数の基本演算を行なう回路が複雑に組み合わされたものである。論理設計の観点におけるデジタル回路に関する基本的な説明は、論理回路の項を参照されたい。

デジタル回路は、その機能に応じて様々な回路が考案されている。以下の代表的なデジタル回路については、それぞれの項目に詳細な説明があり汎用ロジックICにこれらの製品に関する説明がある。

[編集] 電圧レベル

デジタル回路では2つの電圧レベルを、二進数または論理レベルの"0"と"1"を表すために使う。正論理(アクティブ・ハイ)では、Lowは二進数"0"、Hiは二進数"1"を表し、負論理(アクティブ・ロー)では逆の意味に使われる。たとえば、0から1.5ボルトは論理0、3.5から5ボルトは論理1というようになる。1.5から3.5ボルトの間はスレッシュホールド・レベルと呼ばれる論理遷移時以外では禁止された電圧領域であり、HiとLowの入力の区別がつかないために動作の保証が得られなくなる。論理遷移の期間というのは、通常は過渡的な現象であり、ほとんどの回路は純粋な抵抗回路ではないので電圧レベルがすぐに変化しないことによって起こる。このような異常状態を検知できる論理回路もあるが、多くの場合、後段の回路では前段の回路での遷移によって出力を変化させる前に前段の遷移が終了しHi又はLowに安定するが、前段の回路での遷移に時間が掛かれば、後段回路では入力をHi又はLowのいずれかとして解釈する。

CMOSによるデジタル回路の場合、その内部構造の都合上、この異常状態にある間は回路が大量の電力を消費してしまう。このため、異常状態を長く継続させてしまうと発熱により素子が破壊されるため、異常状態の継続を避ける回路上の工夫が必要となる。

一方、波形の立ち上がりと立ち下がりで論理遷移の値を意図的に異なる値とすること(ヒステリシス、履歴現象)で異常状態を回避する方法があり、シュミットトリガと呼ばれる。抵抗器の接続により容易に実現可能であるほか、専用の汎用ロジックICもある。

二値論理レベルの例
回路素子 Lowの電圧 Hiの電圧
CMOS 0 - 0.3Vdd 0.7Vdd - Vdd
TTL 0 - 0.8V 2V - Vcc

VddとVccは電源電圧を意味する。TTLの電源電圧の許容範囲は4.75-5.25Vである。

電源電圧が同じCMOSとTTLが同一回路上に混在している場合、CMOSの出力をTTLに入力することは問題ないが、その逆はTTLのHレベル出力電圧の下限がCMOSのHレベル入力電圧の下限を満たさないため、誤動作する可能性がある。このようなときは、TTLの出力をプルアップするなどの処理が必要となる。[1]

初期のデジタル回路では、シリコン基板上へのトランジスタの形成の制限によりPMOS、又はNMOSにより回路内部を構成していた。この場合、入力が"Low"の時にはあまり電力を消費しないが入力が"Hi"の時には大きく電力を消費する、又はその逆の特性を持つため、この都合に合わせてアクティブ・ハイで論理回路を設計するか、アクティブ・ローで論理回路を設計するかが消費電力削減には重要な意味を持っていた。

[編集] プルアップ・プルダウン

プルアップ抵抗」も参照

上で述べたように、デジタル回路の入力は原則として"Hi"または"Low"の電圧が印加されていなければいけない。"Hi"と"Low"の中間の電圧になると、内部状態が不安定になったり、消費電力が著しく増加したりする。また、"Low"よりも低い電圧や"Hi"よりも高い電圧が印加されると、設計外の電流の流れが発生して回路の破壊などが起こりえる。

一般に、デジタル回路の入力端子は内部インピーダンスが高い(電源回路との絶縁性が高い)ため、入力端子がどこにも接続されない状態にあると、近辺の静電気電磁誘導によって予期せぬ電圧が印加される可能性がある。このため、例えば入力端子など外部と接続される部分では、たとえそこに何も接続されていない状態で異常な電圧が加わっても内部の回路に障害を受けないよう工夫しておかなければならない。このような入力端子がどこにも接続されていない状態は「浮いている」と表現されることが多い。

このような場合には、数kΩから数百kΩという比較的高い値の抵抗器で、電源電圧または接地電圧を供給している線と入力端子とを接続する。電源線に接続することを「プルアップ」と呼び、しばしば「電源に吊りあげる」などと表現することもある。また、接地線(グランド)に接続することを「プルダウン」と呼び、しばしば「グランドに落とす」などと表現する。

プルアップまたはプルダウンされた入力端子に、出力端子が何も接続されていない状態の時には、プルアップ抵抗またはプルダウン抵抗によって大きな電磁誘導が起こらない限りは電源電圧または接地電圧が保たれる。

ここに他のデジタル回路の出力端子が接続された場合、デジタル素子の出力回路は内部インピーダンスが極めて低いことより、プルアップやプルダウンに使われた抵抗値がほぼ無視できる状態になる。[2]

プルアップ抵抗の値は、大きすぎると絶縁とあまり変わらない状態になり、電磁誘導などに弱くなってしまう。しかし、小さすぎるとそこに接続される出力素子に大きな電流を流す要因となり、回路の消費電力の増大や最悪の場合出力素子の破損につながることになる。

入力端子につながる信号線が、通信線などのように比較的長い距離を持つものである場合、その線で電磁誘導が起こって電源電圧や接地電圧の範囲外の異常電圧が加わる可能性が高くなる。こういった場合には、プルアップ抵抗に並列にダイオードを挿入し、異常電圧による電流が電源線のほうに逃げてデジタル回路素子内に流れ込まないように工夫をする。この用途のダイオードは「クランプダイオード」と呼ばれる。デジタル入力の保護目的以外でも、電圧値域を制限する目的のダイオードはクランプダイオードと呼ばれる。

複数の回路数を持つ汎用的なICを使った設計を行うとき、1つのICの中に入っている全ての回路を使わずに、一部の回路だけを使うということがよく行われる。この時、使用しない回路の入力端子はその状態がHだろうがLだろうが動作に全く関係がないため、ともすればどこにも接続されずに放置されてしまうことがある。しかし、入力端子の電位が設計範囲外になったりしきい値付近になると設計外の電流の流れが生じ、周辺の回路を巻き込んで破壊されてしまうことがある。特にTTLでは入力端子が解放されていても破壊の危険性が比較的低かったため、配線省略などを意図して未使用入力端子の処理をしないことも多かった。しかし、CMOSの場合は中間電圧が加わった時に大電流が流れるなど回路破壊の可能性が高く、入力端子の処理を怠ると危険である。また、TTLであっても未使用入力端子を放置すればゲート回路はノイズを入力源としたアンプとして働き、電力をムダに消費しながら周囲の信号の変化に応じて電源とグランドの電位を揺らすため避けなければならない。これらの処理を正しく行っていない回路は、一応は動作するためミスに気付き辛く、量産をしたり長期運用をしたときに故障率が異常に高いことによって発見されるということもある。実際の回路設計では、TTLであるかCMOSであるかを区別せず、未使用回路の入力端子は必ず処理されなければならない。

近年の組み込み用CPUなどのICの場合、外部に付けなければいけない部品点数を削減するために、このプルアップ抵抗をICの中に内蔵しているというものが多くなってきている。また、製品によっては、このプルアップ抵抗を使うか使わないかをソフトウェアで選択できるようになっているものもある。

[編集] ファン・アウト

上記のように、デジタル回路では電圧値により情報を素子から素子に伝達するが、この際電気回路であるから当然電流の流れが伴う。具体的には、出力側のレベルをLにする為には、出力端子が後ろの回路から電流を吸い込む動作をし、出力側のレベルをHにする為には、出力端子が後ろの回路に電流を吐き出す動作をする。

ただし、一般にデジタル回路の入力端子は内部インピーダンスが高くつくられている(電源線や接地線に対する抵抗値が高い)ため、この電流値は微々たるものである。特にCMOSによる回路ではほとんど流れていないに等しい。

TTLのように、入力端子に流れ込んだり、入力端子から流れ出したりする電流が比較的大きな素子で回路を組む場合、前段の出力側素子の電流駆動能力によって、後段につなげられる入力端子の個数が制限されてくる。この制限値をファン・アウトと呼ぶ。

TTLの場合、標準タイプ・LSタイプ・ALSタイプなど様々なタイプのシリーズがあるが、そのシリーズ内の規格により出力端子の駆動能力と、入力端子が吸い込む(または吐き出す)電流の最大値が決められているため、同じシリーズのIC同士であれば、ファンアウトの値は同じになる。

ただし、多数の入力に信号を分配する目的のために、同じ論理回路でもファン・アウト値を大きくした回路素子が用意されている。そういう回路素子は論理的には何もしない、または反転するだけの単純なものである事が多く、バッファ、バスバッファ、ドライバなどと呼ばれる。

違ったタイプのシリーズを組み合わせて使う場合には、それぞれのデータシートを調べて、接続出来る個数を決定する必要がある。

CMOS型ロジックの場合は、入力端子に流れ込む電流はきわめて少ないが、たくさんの入力端子を接続すると、それぞれの端子と配線部分の静電容量が並列接続されることにより、出力側から見た容量性負荷が増大する。これを指してファン・アウトと呼ぶ。このため、出力側素子の駆動能力が足りないと、HからL、LからHの状態遷移に時間が掛かることになり、これが回路動作上の制約となるため、やはり後段につなげられる入力端子の個数は制限される。

[編集] ハイ・インピーダンス

1つの信号線に対して信号を出力する素子を複数接続するというバス構造を用いる場合、信号を出力しようとしている素子とその信号を受信しようとしている素子だけがバスと電気的に接合されていなければいけない。回路の制御を誤って複数の出力回路が同時に接続されてしまうと、回路間に異常な電流が流れて素子の破壊につながる。

この破壊を避けるためには、信号を出力しなければいけない出力素子以外の出力は電気的に絶縁しなければいけない。

このように、出力信号線を電気的に切り離した状態をハイ・インピーダンス (high-impedance)と呼び、HでもLでもない第三の状態として扱う。ハイ・インピーダンス状態は記号では"Z"で示される事が多い。

ハイ・インピーダンス出力を利用する場合、とある入力端子につながっている全ての出力端子が同時にハイ・インピーダンス状態になると、電気的には入力端子に何も接続されていないことと同じになってしまい、先に述べた通り素子破壊を伴う危険な状態になってしまう。このため、ハイ・インピーダンス状態を伴う信号線はプルアップまたはプルダウンをするのが常套手段となっている。

ハイ・インピーダンス出力と似たものとして、オープンコレクタ出力がある。これは、出力が論理1の時にはLの電圧を出力するが、論理0の時にはHの電圧を出すのではなくハイ・インピーダンス状態になるという出力素子である。(負論理の出力になっている)

論理0の時にハイ・インピーダンスになるので、複数のオープンコレクタ出力の出力信号を単純に接続してしまった上でプルアップしておけば、出力のどれかが論理1になった時にLになる(全ての出力が論理0の時にはHになる)という回路になり、これは(負論理の)論理和を演算していることになる。このように、論理和用のデジタル回路素子を使うこと無く論理和を実現する回路のことを「ワイアードオア」と呼ぶ。

なお、オープンコレクタ出力の端子は、一般の出力端子よりも多く電流を流すことができるという特性も持つため、アナログ回路による電流増幅器を介すること無く、直接LEDを点灯させるなどの周辺装置の駆動ができる。

[編集] スリーステート・バッファ

スリーステート・バッファ
G X Y
0 0 Z
0 1 Z
1 0 0
1 1 1

出力をハイ・インピーダンスにできる出力回路は「スリーステート」(three-state : 三状態の意味)と呼ばれ、入力信号をそのまま出力するかハイ・インピーダンスにするかを切り替えることができる回路は「スリーステート・バッファ」と呼ばれる。回路記号では、バッファを示す三角の印の側面にハイ・インピーダンスにするか否かの入力信号線が入る図形で示される。なお、このような回路は「トライステート」と呼ばれることも多いが、これはナショナル セミコンダクターの商標である。

出力をハイ・インピーダンスにしないことを指示する入力信号線は、ゲート(gate)の意味で'G'と表記されたり、イネーブル (enable)の意味で'E'または'EN'と表記されることが多い。また、データバスなどのバス構造を持つ部分に使われる場合には、アウトプット・イネーブル ("output enable")の略で'OE'という記号が使われたり、チップ・セレクト ("chip select")の略で'CS'という記号が使われることも多い。

双方向バッファ
G X Y
0 0(Out) 0(In)
0 1(Out) 1(In)
1 0(In) 0(Out)
1 1(In) 1(Out)

スリーステート・バッファを2つ組み合わせて、データ通信の方向を切り替えることができるようにした回路もよく使われている。この回路は「双方向バッファ」と呼ばれ、入力GがLの時にはYからXの方向にデータが伝わり、入力GがHの時にはXからYの方向にデータが伝わる。

スリーステート・バッファや双方向バッファは、いくつもの回路ブロックが信号線を共用するデータバスやアドレスバスなどに多用される。このため、データバスなどのビット数の単位となりやすい8個のスリーステート・バッファを一つにまとめたICが製造されており、よく利用されている。

データセレクタ
S X1 X2 Y
0  x 0 0
0  x 1 1
1  0 x 0
1  1 x 1

また、同じくスリーステート・バッファを複数組み合わせ、ワイアードオアの原理を利用して複数の入力信号の一つだけを出力に伝えるという回路を構成することもできる。これは「データセレクタ」と呼ばれる。データセレクタは、一般の論理素子だけを用いて構成することもできる (Y ← (S AND X1) OR ((NOT S) AND X2)) が、スリーステートを利用することによりはるかに簡単な内部回路で実現できる。本例は2入力のデータセレクタであるが、4入力、8入力などのデータセレクタもこの回路の応用で簡単に作れる。

[編集] 脚注

  1. ^ TTLの出力電圧範囲の入力を許容するCMOSの標準ロジックICもあり、このようなシリーズは74HCTxxx74ACTxxxのように、型番にTの文字が入っている。
  2. ^ 大小異なる抵抗を持つ2つの抵抗器を並列に接続した場合、電流は小さな抵抗側により多く流れて、大きな抵抗側には電流はそれほど流れない。このため、抵抗値の大きなプルアップやプルダウンの抵抗器の有無は端子に接続された状態での動作にはそれほど影響しない。

[編集] 関連項目

最終更新 2009年10月24日 (土) 13:17 (日時は個人設定で未設定ならばUTC)。
【デジタル回路】変更履歴

ご利用上の注意