ラス 論理ゲートはデジタルエレクトロニクスの基礎です。 このため、それらは非常に重要であり、それらを使用して作業を開始する場合は、それらが何であるか、どのように構成されているか、およびそれらの機能を知っておく必要があります。 したがって、このタイプのドアを備えた市場に存在する一連のチップを使用して、このロジックを使用して独自のプロジェクトを作成できるようにすることができます。
これらのドアは、他のドアと組み合わせて 電子部品、そしてのようなプレートでも Arduinoの, 彼らはメーカーに多くの遊びを与えることができます あなたが自分で見ることができるように。
論理ゲートとは何ですか?
ラス 論理ゲート それらは、デジタル電子回路を実装するためのデジタルロジックの基本的な要素です。 これらのゲートは、入力の状態に応じて、出力に低(0)または高(1)電圧信号を提供します。 通常、2つの出口とXNUMXつの入口がありますが、XNUMXつ以上の入口があるドアがある場合もあります。 さらに、反転ゲートまたはNOTなどの特殊性があり、XNUMXつの入力とXNUMXつの出力しかありません。
これらのブール入力と出力のおかげで、あなたは得ることができます 基本的なバイナリ論理演算、加算、乗算、否定など。
それらはどのように実装されていますか?
論理ゲートは、XNUMXつの方法で実装できるだけではありません。 実際、それが異なる理由です 論理ファミリ。 これらの各ファミリは、さまざまな電子コンポーネントを使用して、XNUMXつの方法でゲートを実装します。
POR ejemploチップにTTLを使用する場合、ゲートはバイポーラトランジスタで構成されますが、CMOSロジックはMOSFETトランジスタのみに基づいています。 通常最も人気のあるこれらのXNUMXつのファミリに加えて、BiCMOS(バイポーラトランジスタとCMOSトランジスタの組み合わせ)、RTL(抵抗とバイポーラトランジスタ)、DTL(ダイオードとトランジスタ)、ECL、IILなどもあります。
他のファミリよりも優れているファミリはありません。アプリケーションによって異なります。 しかし、それにもかかわらず、 CMOS これは、CPU、MCU、GPU、メモリなどの高度な回路で最も使用されているもののXNUMXつです。 他のより単純な回路の場合、TTLを見つけることも一般的です。
アプリケーション
これらの論理ゲートのアプリケーションは無限大です。 これらの重要な「レンガ」を使用して、構築することができます 多数のデジタル回路。 単純な加算器から複雑なCPUまで、想像できる他の多くの回路を介して。 実際、PC、TV、モバイルなど、毎日使用するシステムの多くには、数十億の論理ゲートがあります。
Un 実例 論理ゲートのアプリケーションの例は、上の画像で見ることができるこの単純な加算器です。 これは非常に単純な回路であり、入力にXNUMXビット(AとB)を追加して、合計の結果と、キャリー、つまり、持ち帰ったものを与えることができます...結果を確認できます。次の表に示します。
A | B | 合計 | キャリー | バイナリ結果 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 00 |
0 | 1 | 1 | 0 | 01 |
1 | 0 | 1 | 0 | 01 |
1 | 1 | 0 | 1 | 10 |
この表を見ると、バイナリで0 + 0を追加すると0になり、1 + 0を追加すると1になりますが、1 + 1を追加すると2になり、バイナリシステムでは10に相当します。
論理ゲートの種類
用として 論理ゲートの種類、あなたはそれらのかなりの数を持っていますが、最もよく使われるのは以下です(それらの真理値表とともに):
- バッファー(はい): 出力が入力と同じ状態になるため、バッファまたはダイレクトゲートと呼ばれます。 役に立たないように見えるかもしれませんが、多くの論理回路では、電流増幅器または電圧フォロワとして使用されることがよくあります。
エントランス | 終了する |
---|---|
0 | 0 |
1 | 1 |
- NOT(インバーター): は論理否定(¬o ')です。つまり、出力のビットを反転します。
エントランス | 終了する |
---|---|
0 | 1 |
1 | 0 |
- AND(Y): このもう一方のゲートは、入力のバイナリビットの積関数(・)を実行します。 つまり、AとBを乗算するようなものです。したがって、ゼロを掛けるとゼロになり、両方の入力が1の場合にのみ出力に1が与えられます。したがって、その名前は1 ANDXNUMXです。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
- ゴールド): この他のゲートは論理加算演算(+)を実行します。 つまり、出力が1になるには、出力の一方または他方、あるいは両方が1である必要があります。両方が0の場合、出力も0になります。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
- XOR(または排他的): この排他的論理和はブール関数A'B + AB 'を実行し、その記号は
。 この場合、0つの入力が等しい場合、出力は1になります。異なる場合、出力はXNUMXになります。
A | B | S |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NAND(Y否定): は否定された論理積、つまりANDの逆数です。 これは、AND出力でNOTを使用して出力ビットを反転するようなものです。 したがって、結果は次のようになります。
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
- NOR(または拒否): 否定された論理和、または同じもの、否定された出力を持つORは、ORの逆になります。
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
- XNOR(排他的NOR): これは、バイナリ補数をXORゲートに適用するようなものです。 つまり、AB + A'B '操作を実行します。 A回Bに追加されたA回Bは拒否されました。 したがって、出力は逆XORの出力のようになります。
A | B | S |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
NORとNANDはどちらも、次のように知られているため、最も興味深いゲートのXNUMXつです。 ユニバーサル論理ゲート。 つまり、他のタイプの論理ゲートを表すために、それらだけで回路を作成できます。 これらのドアでチップを購入すると、すべての機能を利用できるため、これは重要です。 たとえば、NORのXNUMXつの入力がブリッジされている場合、またはNANDがNOTと同等である場合です。 ここにはもっと同等のものがあります:
Te 私はアドバイスします詳細については、Googleで任意のゲートを備えた単純な回路をご覧ください。 そして、それが何をするのかを知るために、一種の「リバースエンジニアリング」を行い、入力と出力の行をたどり、出力に与えられた入力に従って各行のステータスを確認します。
POR ejemplo上の画像、NANDゲートを備えたORの等価図を見ると、出力がブリッジされたXNUMXつのNANDゲートで構成されており、両方の出力が別のNANDに送られていることがわかります。 次の点に注意してください。
- NAND真理値表に移動すると、0つの入力が1の場合、出力は1であり、0つの入力がXNUMXの場合、出力はXNUMXであることがわかります。
- それらがブリッジされているため、入力が1(一方が両方に入る)の場合、結果は0になります。入力が0(両方がゼロ)の場合、出力は1になります。これは、NOTに相当します。
- したがって、ビットAとBにはXNUMXつのNOTがあります。したがって、それらの出力にはA 'とB'があります。
- これらのXNUMXつの否定は、最後のNANDに入り、これらXNUMXビットの逆論理積を実行します。
- 論理の法則によれば、これは直和、つまりA + Bに相当します。 したがって、最終的な結果は、ORであるかのようになります...
ロジックゲートチップシリーズ-購入場所
エレクトロニクス専門店では、次のことができます。 安いチップを買う プロジェクトで使用を開始するための論理ゲートを備えています。 これらのチップは単一の論理ゲートではありませんが、必要に応じて入力と出力をリンクできるように、いくつかのチップを使用できます。 たとえば、上の画像の図では、4つのNANDゲートを備えたDIPチップの典型的なピン配置を見ることができます。 さらに、電源用のXNUMXつのピン(Vccと GND).
ここにいくつかあります 購入の推奨事項:
- 製品が見つかりません。.
- Huaban:ユニバーサルNANDゲートを備えた30チップキット.
- Zebulon:120CMOSチップキット.
その他のリソース
これらのゲートを実装する方法と、それらを使用して回路の作成を開始する方法について詳しく知るために、これらを利用できます。 オトロス再帰 私は何をお勧めしますか:
- SimulIDEソフトウェア ゲートを備えたこれらの回路の動作をシミュレートできるようにします。 これは無料で、オープンソースで、クロスプラットフォームです。
- オンラインバイナリ計算機 (オペレーティングシステムの計算機をバイナリモードで使用することもできます)。
- 製品が見つかりません。.
- Digital Logic Circuits Book:設計から実験まで.
Arduinoを使用したデジタルロジック
その他のリソース すでに持っている場合、あなたはあなたの手に何を持っていますか プレート Arduino UNO あなたの手には ArduinoIDEを使用してスケッチを作成します これらの論理関数をシミュレートして、たとえば、ドアの出力をシミュレートするLEDを使用して結果をより視覚的に確認します。 たとえば、ピン7にLEDを配置し、入力AとBとして8と9を使用します。
int pinOut = 7; int pinA = 8; int pinB = 9; void setup() { pinMode(pinOut, OUTPUT); pinMode(pinA, INPUT); pinMode(pinB, INPUT); } void loop() { boolean pinAState = digitalRead(pinA); boolean pinBState = digitalRead(pinB); boolean pinOutState; //AND pinOutState =pinAState & pinBState; digitalWrite(pinOut, pinOutState); }
ご覧のとおり、ここではAND(&)関数が使用されていますが、// AND行の下のコード行を他の行に置き換えて使用することができます その他の論理関数:
//OR pinOutState = pinAState | pinBState; //NOT pinOutState = !pinAState; //XOR pinOutState = pinAState ^ pinBState; //NAND pinOutState = !(pinAState & pinBState); //NOR pinOutState = !(pinAState | pinBState); //XNOR pinOutState = !(pinAState ^ pinBState);