デコーダは、小さなビット値を大きなビット値にデコードする組み合わせ回路の一種です。これは通常、デコーダーとは正反対の動作をするエンコーダーと組み合わせて使用されるため、デコーダーに進む前に、ここでエンコーダーについてお読みください。エンコーダーと同じように、デコーダーにも多くの種類がありますが、デコーダーの出力ラインの数は常に入力ラインの数よりも多くなります。このチュートリアルでは、デコーダーがどのように機能し、プロジェクト用にデコーダーを構築する方法を学習します。
デコーダーの基本原則:
前に述べたように、デコーダーはエンコーダーの単なるカウンターパートです。特定の数のバイナリ値を入力として受け取り、ロジックを使用してより多くの行にデコードします。以下に、入力として2行を取り、それらを4行に変換するデコーダーの例を示します。
デコーダーのもう1つの経験則は、入力の数をn(ここではn = 2)と見なすと、出力の数は常に2 n(2 2 = 4)に等しくなり、この場合は4になります。デコーダーには2つの入力ラインと4つの出力ラインがあります。したがって、このタイプのデコーダーは2:4デコーダーと呼ばれます。上記のように、2つの入力ピンにはI1とI0の名前が付けられ、4つの出力ピンにはO0からO3までの名前が付けられています。
ここに示すような通常のデコーダーには、両方の入力がゼロ(他の回路に接続されていない)の状態と両方の入力がロー(論理0)の状態を区別できないという欠点があることを知っておくことも重要です。この欠点は、この記事の後半で学習するプライオリティデコーダーを使用して解決できます。通常のデコーダーの真理値表を以下に示します。
デコーダーの真理値表から、各出力行のブール式を記述できます。出力がハイになる場所をたどり、I1とI0の値に基づいてANDロジックを形成します。これはエンコーダー方式と非常に似ていますが、ここではORロジックの代わりにANDロジックを使用します。4行すべてのブール式を以下に示します。ここで、記号(。)はAND論理を表し、記号( ')はNOT論理を表します。
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1・I 0 ' O 3 = I 1・I 0
4つの式がすべて揃ったので、これらの式をANDゲートとNOTゲートを使用して組み合わせ論理ゲート回路に変換できます。(。)の代わりにANDゲートを使用し、( ')の代わりにNOTゲート(逆論理)を使用するだけで、次の論理図が得られます。
ブレッドボード上に2:4デコーダ回路図を作成し、実際にどのように機能しているかを確認しましょう。ハードウェアとして機能させるには、NOTゲートには7404 、ANDゲートには7408などの論理ゲートICを使用する必要があります。2つの入力I0とI1は押しボタンを介して提供され、出力はLEDライトを介して観察されます。ブレッドボードで接続すると、下の写真のようになります。
ボードは外部+ 5V電源から給電され、Vcc(ピン14)ピンとグランド(ピン7)ピンを介してゲートICに電力を供給します。入力は押しボタンによって与えられ、押されるとロジック1になり、押されない場合はロジック0になり、ピンがフローティング状態になるのを防ぐために、値1kのプルダウン抵抗も入力ラインに沿って追加されます。出力ライン(O0からO3)は、これらの赤いLEDライトを介して提供されます。点灯している場合は、ロジック1、それ以外の場合はロジック0です。このデコーダ回路の完全な動作を 以下のビデオに示します。
各入力の真理値表が左上隅に表示され、LEDも同じように規則正しく点灯することに注意してください。同様に、すべてのタイプのデコーダーの組み合わせ論理図を作成し、このようなハードウェア上に構築することもできます。プロジェクトが適切な場合は、すぐに利用できるデコーダICを調べることもできます。
標準デコーダーの欠点:
エンコーダーと同じように、標準のデコーダーにも同じ問題があります。両方の入力が接続されていない場合(ロジックX)、出力はゼロのままになりません。代わりに、デコーダはそれをロジック0と見なし、ビットO0がハイになります。
プライオリティデコーダー:
そのため、プライオリティデコーダーを使用してこの問題を克服します。このタイプのデコーダーには、プライオリティデコーダーの有効なピンに接続される「E」(有効)というラベルの付いた追加の入力ピンがあります。プライオリティデコーダのブロック図を以下に示します。
プライオリティエンコーダの真理値表も以下に示されています。ここで、Xは接続がないことを表し、「1」はロジックハイを表し、「0」はロジックローを表します。入力ラインに接続がない場合、イネーブルビットは0であるため、出力ラインもゼロのままであることに注意してください。このようにして、上記の欠点を克服することができます。
いつものように、真理値表から、出力行O0からO3のブール式を駆動できます。上記の真理値表のブール式を以下に示します。よく見ると、式は通常の2:4デコーダーの式と同じですが、イネーブルビット(E)が式とANDになっていることがわかります。
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '.I 0 O 2 = EI 1.I 0 ' O 3 = EI 1・I 0
上記のブール式の組み合わせ論理図は、2つのインバーター(ゲートではない)と3入力ANDゲートを使用して作成できます。( ')記号をインバーターに、(。)記号をANDゲートに置き換えるだけで、次の論理図が得られます。
3:8デコーダー:
いくつかのもあり、より高次のデコーダなどの8デコーダー:3と4:16デコーダより一般的に使用されます。これらのデコーダは、回路を複雑にするためにICパッケージでよく使用されます。また、2:4デコーダーのような低次デコーダーを組み合わせて高次デコーダーを形成することも非常に一般的です。たとえば、2:4デコーダーには2つの入力(I0とI1)と4つの出力(O0からO3)があり、3:8デコーダーには3つの入力(I0からI2)と8つの出力(O0からO7)があることがわかっています。次の式を使用して、3:8デコーダーのような高次デコーダーを形成するために必要な低次デコーダー(2:4)の数を計算できます。
必要な低次デコーダの数= m2 / m1 ここで、 m2->低次デコーダ の出力数m1->高次デコーダの出力数
この場合、m1の値は4になり、m2の値は8になるので、これらの値を上記の式に適用すると、次のようになります。
3:8デコーダーに必要な2:4デコーダーの数= 8/4 = 2
これで、3:8デコーダーを形成するために2つの2:4デコーダーが必要になることがわかりましたが、これら2つをどのように接続して収集する必要があります。以下のブロック図はまさにそれを示しています
ご覧のとおり、入力A0とA1は両方のデコーダーの並列入力として接続され、最初のデコーダーのイネーブルピンがA2(3番目の入力)として機能するようになっています。A2の反転信号は、2番目のデコーダのイネーブルピンに与えられ、出力Y0〜Y3を取得します。ここで、出力Y0からY3は下位4分項と呼ばれ、出力Y4からY7は上位4分項と呼ばれます。低次の最小項は2番目のデコーダーから取得され、高次の最小項は最初のデコーダーから取得されます。このタイプの組み合わせ設計の顕著な欠点の1つは、デコーダーにイネーブルピンがないため、前に説明した問題の影響を受けやすくなることです。
4:16デコーダー:
3:8デコーダーと同様に、4:16デコーダーも2つの3:8デコーダーを組み合わせて構築できます。4:16デコーダーの場合、4つの入力(A0からA3)と16の出力(Y0からY15)があります。一方、3:8デコーダーの場合、入力は3つ(A0からA2)のみになります。
必要なデコーダーの数を計算するためにすでに式を使用しました。この場合、3:8デコーダーには8つの出力があるため、m1の値は8になり、4:16デコーダーには16の出力があるため、m2の値は16になります。したがって、これらの値を上記の式に適用すると、次のようになります。
4:16デコーダーに必要な3:8デコーダーの数= 16/8 = 2
したがって、4:16デコーダーを構築するには2つの3:8デコーダーが必要です。これら2つの3:8デコーダーの配置も、以前に行ったものと同様になります。これら2つの3:8デコーダを接続するためのブロック図を以下に示します。
ここで、出力Y0からY7は下位8分と見なされ、Y8からY16からの出力は上位8分と見なされます。右下の最小項は、入力A0、A1、およびA2を使用して直接作成されます。同じ信号が最初のデコーダの3つの入力にも与えられますが、最初のデコーダのイネーブルピンが4番目の入力ピン(A3)として使用されます。第4の入力A3の反転信号は、第2のデコーダのイネーブルピンに与えられる。最初のデコーダーは、上位8つのminterms値を出力します。
アプリケーション:
デコーダーは通常、エンコーダーと組み合わせて使用されるため、両方とも同じアプリケーションを共有します。デコーダーとエンコーダーがなければ、携帯電話やラップトップのような最新の電子機器は不可能だったでしょう。デコーダーのいくつかの重要なアプリケーションを以下に示します。
- シーケンシングシグナルアプリケーション
- タイミング信号アプリケーション
- ネットワーク回線
- メモリ要素
- 電話網