デジタル回路-エンコーダ
アン Encoderデコーダの逆動作を行う組み合わせ回路です。最大2n個の入力ラインと「n」個の出力ラインがあります。これは、アクティブなHighである入力と同等のバイナリコードを生成します。したがって、エンコーダは2n個の入力ラインを「n」ビットでエンコードします。エンコーダでイネーブル信号を表すことはオプションです。
4対2エンコーダ
ましょ4 Y 2のエンコーダは、4つの入力を有する3、Y 2、Y 1およびY 0と2つの出力A 1&A 0。ザ・block diagram 次の図に、4〜2個のエンコーダを示します。
いつでも、出力でそれぞれのバイナリコードを取得するために、これら4つの入力のうち1つだけを「1」にすることができます。ザ・Truth table 4対2のエンコーダーを以下に示します。
入力 | 出力 | ||||
---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 |
0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 |
真理値表から、 Boolean functions 各出力に対して
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {3} + Y_ {1} $$
2つの入力ORゲートを使用して、上記の2つのブール関数を実装できます。ザ・circuit diagram 次の図に、4〜2個のエンコーダを示します。
上記の回路図には、2つのORゲートが含まれています。これらのORゲートは、4つの入力を2ビットでエンコードします
8進数から2進数のエンコーダ
バイナリエンコーダにオクタルは8つの入力、Y有する7をYに0と3つの出力A 2、A 1&A 0。オクタルからバイナリへのエンコーダは、8から3のエンコーダに他なりません。ザ・block diagram 次の図に、8進数から2進数へのエンコーダの変換を示します。
いつでも、それぞれのバイナリコードを取得するために、これらの8つの入力のうち1つだけを「1」にすることができます。ザ・Truth table 8進数から2進数へのエンコーダの比較を以下に示します。
入力 | 出力 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
真理値表から、 Boolean functions 各出力に対して
$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$
$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$
4つの入力ORゲートを使用して、上記のブール関数を実装できます。ザ・circuit diagram 次の図に、8進数から2進数へのエンコーダの変換を示します。
上記の回路図には、3つの4入力ORゲートが含まれています。これらのORゲートは、8つの入力を3ビットでエンコードします。
エンコーダの欠点
通常のエンコーダの欠点は次のとおりです。
エンコーダのすべての出力がゼロに等しい場合、あいまいさがあります。なぜなら、最下位の入力のみが1の場合、またはすべての入力が0の場合、入力に対応するコードである可能性があるためです。
複数の入力がアクティブHighの場合、エンコーダーは出力を生成しますが、これは正しいコードではない可能性があります。ためにexample、Y両方の場合3およびY 6が「1」であることは、次に符号化器は、出力で111を生成します。これは、Yに対応するも同等のコードである3が「1」にもYに対応する同等のコードであり、6が「1」です、。
したがって、これらの問題を克服するには、エンコーダの各入力に優先順位を割り当てる必要があります。その場合、エンコーダーの出力は、優先度の高いアクティブなHigh入力に対応する(バイナリ)コードになります。このエンコーダーはpriority encoder。
プライオリティエンコーダ
4〜2プライオリティエンコーダには、4つの入力Y 3、Y 2、Y 1&Y 0、および2つの出力A 1&A0があります。ここで、入力は、Y 3は、入力に対し、最も高い優先度を有し、Y 0は最も低い優先度を有しています。この場合、複数の入力が同時に「1」であっても、出力は入力に対応する(バイナリ)コードになります。higher priority。
もう1つ検討しました output, V 出力で利用可能なコードが有効かどうかを知るために。
エンコーダーの少なくとも1つの入力が「1」の場合、出力で使用可能なコードは有効なコードです。この場合、出力Vは1に等しくなります。
エンコーダのすべての入力が「0」の場合、出力で使用可能なコードは有効なコードではありません。この場合、出力Vは0に等しくなります。
ザ・ Truth table 4〜2のプライオリティエンコーダの例を以下に示します。
入力 | 出力 | |||||
---|---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 | V |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | バツ | 0 | 1 | 1 |
0 | 1 | バツ | バツ | 1 | 0 | 1 |
1 | バツ | バツ | バツ | 1 | 1 | 1 |
使用する 4 variable K-maps 各出力の簡略化された式を取得するため。
簡略化 Boolean functions です
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $
同様に、出力のブール関数Vを次のように取得します。
$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$
論理ゲートを使用して、上記のブール関数を実装できます。ザ・circuit diagram 次の図に、4〜2のプライオリティエンコーダを示します。
上記の回路図には、2つの2入力ORゲート、1つの4入力ORゲート、1つの2入力ANDゲート、およびインバータが含まれています。ここで、ANDゲートとインバータの組み合わせは、複数の入力が同時に「1」に等しい場合でも、出力で有効なコードを生成するために使用されます。したがって、この回路は4つの入力を2ビットでエンコードします。priority 各入力に割り当てられます。