#024 AND Gate with Resistor-Transistor Logic
Test the basic resistor-transistor logic AND gate.
Notes
Resistor–transistor logic (RTL) is a class of digital circuits built using resistors as the input network and bipolar junction transistors (BJTs) as switching devices. RTL is the earliest class of transistorized digital logic circuit and is largely obsolete now.
It is interesting to see how various logic gate may be realised with BJTs and resistors alone. Here is the basic AND gate.
This is the “classic” two-transistor AND gate, often used when describing the fundamentals of digital logic. Given two ideal transistors (NPN) with collector-emitter in series, we treat them as switches: only when both are on should there be a high output.
A | B | OUT |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
However, that’s the idealised view. In practice things are a little messier. In particular:
- A pull-down resistor (Rp) is required to get a clean “off”, else the input would be floating.
- With the lower transistor on, we can see partial activation. This is because we are applying a voltage to the base while the collector is not driven, so the base is appearing on the emitter. We have to work around this problem be definining the threshold for “high” to be above this voltage.
See the TTLBufferDriver project for an example of how to clean up the output with a buffer driver.
Here’s a sample trace. The lower two traces are the signal inputs, and the upper trace is the output of the gate.
The Arduino is not really a core part of the circuit. It only does the following:
- provides +5V power supply (for convenience)
- automates the toggling of the driving inputs
- measures the input and output voltages for plotting
Construction
The circuit uses a digital output pins to sequence inputs to the AND gate. Three analog input pins are used to read the two input signals and the resuting output, with the values is echoed to the Arduino serial port for plotting with PlotNValues (a simple Processing sketch).
Credits and References
- Resistor-Transistor Logic - wikipedia page
- 2N3904 datasheet - the NPN used in this circuit
- AND Gate - wikipedia
- TTL NAND and AND gates - describes a practical implementation of a “real” AND gate
- Logic Gates using Transistors
- Logic Gates using Transistors #2 - note, when last checked, the AND circuit is wrong?
- Logic AND Gate Tutorial - explains of the basic circuit used here.
- TTLBufferDriver project - a version of this basic AND gate project but with an additional output buffer