home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Education Master 1994 (4th Edition)
/
EDUCATIONS_MASTER_4TH_EDITION.bin
/
files
/
educmisc
/
dc
/
dcinstal.exe
/
DC.DOC
< prev
next >
Wrap
Text File
|
1993-06-19
|
83KB
|
1,594 lines
DC CIRCUIT ANALYSIS
Version 1.2, June 1993
Copyright 1991, Arthur Tanzella
All Rights Reserved
The "DC Circuit Analysis" program is intended as an educational tool for
introducing the user to the concepts of Direct Current (DC) circuits in
general, and digital computer circuits in particular. Circuits can be
created and evaluated on the computer screen. This program is not intended
to be a design tool, and as such does not properly handle some analog
circuits, such as operational amplifiers. This documentation can function as
a tutorial to learn about semiconductors, logic, and digital computer
circuits. Numerous sample circuits are used throughout this documentation
and can be displayed and evaluated using this program.
ACKNOWLEDGEMENTS
I would like to take this opportunity to thank the following people who are
my good friends, and have contributed significantly to this program. Their
contributions were in the testing of the program and in the form of their
suggestions to make this program and this documentation easier to use and
read.
Warren Cella
Ken Hanawalt
Art Silverstein
Mike Weisfield
LICENSE AGREEMENT
DC Circuit Analysis is a "Shareware Program" and is provided at no charge to
the user for a one week evaluation period. Feel free to share it with your
friends, but please do not give it away altered or as part of another system.
The essence of "user-supported" software is to provide personal computer
users with quality software without high prices, and yet to provide incentive
for programmers to continue to develop new products. If you find this
program useful and continue to use the program after the one week evaluation
period, you are requested to send a registration payment of $15 to:
Arthur Tanzella
4613 Clubvue Drive
Pittsburgh, PA 15236-4803
Print out and fill in the "REGISTER.DOC" file. Send it with the $15
registration fee to the above address to register this program.
The $15 registration fee will license one copy for use on any one computer at
any one time. You must treat this software just like a book. An example is
that this software may be used by any number of people and may be freely
moved from one computer location to another, so long as there is no
possibility of it being used at one location while it's being used at
another. Treat the software just like a book that cannot be read by two
people in two different locations at the same time.
Users of DC Circuit Analysis must accept this disclaimer of warranty: "DC
Circuit Analysis is supplied as is. The author disclaims all warranties,
expressed or implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The author assumes no
liability for damages, direct or consequential, which may result from the use
of DC Circuit Analysis."
Commercial users of DC Circuit Analysis must register and pay for their
copies of DC Circuit Analysis within 30 days of first use or their license is
withdrawn. Site-License arrangements may be made by contacting Arthur
Tanzella at the above address.
Anyone distributing DC Circuit Analysis for any kind of remuneration must
first contact Arthur Tanzella at the address above for authorization. This
authorization will be automatically granted to distributors recognized by the
Association of Shareware Professionals (ASP) as adhering to its guidelines
for shareware distributors, and such distributors may begin offering DC
Circuit Analysis immediately. However, Arthur Tanzella must still be advised
so that the distributor can be kept up-to-date with the latest version of the
DC Circuit Analysis program.
You are encouraged to pass a copy of DC Circuit Analysis along to your
friends for evaluation. Please encourage them to register their copy if they
plan to continue using it. All registered users will receive a copy of the
latest version of the DC Circuit Analysis program when they register. If you
have any comments or problems with this program, you can contact me at the
address above. Support will be provided to all registered users for a
minimum of three months from the time they registered.
ASP OMBUDSMAN
This program is produced by a member of the Association of Shareware
Professionals (ASP). ASP wants to make sure that the shareware principle
works for you. If you are unable to resolve a shareware-related problem with
an ASP member by contacting the member directly, ASP may be able to help.
The ASP Ombudsman can help you resolve a dispute or problem with an ASP
member, but does not provide technical support for members' products. Please
write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send a
CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.
GETTING STARTED
The DC Circuit Analysis program contains over 100 files occupying
approximately 800 Kb of disk space, and is compressed into a single self-
extracting file called "DCINSTAL.EXE." This file was created using the LHarc
version 2.11 program, which is a copyright reserved freeware program written
by Haruyasu Yoshizaki.
To run the program requires an EGA or VGA graphics adapter with 256 Kb of RAM
installed, and a color monitor. It also requires between 300 Kb and 350 Kb
of available RAM after DOS, drivers and Terminate and Stay Resident (TSR)
program are loaded. The actual amount of RAM required depends on the
complexity of the circuit. If Expanded Memory (EMS) is installed, only
300 Kb of RAM is required. You can use the CHKDSK command to determine if
you have enough available RAM to run this program.
To start the DC Circuit Analysis you must be in the directory containing this
program. Typically, the program is stored in the C:\DC directory. Use the
DOS "CD" (Change Directory) command to change the default directory to the
program directory as follows:
CD \DC
To start the program type "DC" with or without parameters as follows:
DC
or
DC filename.DC
or
DC filename.DC x
If no parameters are specified after the "DC" command, the opening (help)
screen of the on-line tutorial will be displayed. This tutorial contains all
the information in this document, and allows access in a Hyper-Text like
fashion. The cursor keys (or mouse) can be used to highlight keywords on the
screen. The ENTER key will display another screen of information whose
subject corresponds to the selected keyword. The PGDN key, or selecting the
"More" keyword, will display the next screen of information. The PGUP key
will display the previous screen. The F1 key will display the first screen
of the tutorial. From the first screen the "Table of Contents" keyword will
display a screen containing the Table of Contents that will allow you to jump
directly to the desired section. The "Index" keyword will display a screen
containing many different keywords. The ESCAPE key will exit the Tutorial
and return you to the DC Circuit Analysis program. The F5 key will allow you
to return to the tutorial at the same screen previously displayed.
Upon exiting the tutorial, the program will display a menu containing the
directory of sample circuits in alphabetical order. The PGUP and PGDN key
will page through this directory. The UP and DOWN key will highlight sample
circuits in the current page, and the ENTER key will select the highlighted
sample circuit file. F10 or ESC will exit this menu without selecting a
sample circuit. At the opening menu you can select "Exit" to exit the
program without modifying the sample circuit.
If a filename is specified on the command line, and it does not exist, the
program will display the "Modify Circuit" screen which allows you to create
a new circuit. By convention, circuit files have the extension "DC." Press
F10 or ESC to exit this screen. When exiting from the opening menu you can
choose to Save the Circuit or Exit without saving the circuit. If you choose
to save the circuit, it will be stored in the file (filename.DC) specified on
the command line when you started the program. If a problem occurs during
the writing of the file, you will be prompted to enter a new filename.
If the file specified on the command line already exist, the program will
display the opening menu. Your choices are:
Analyze Circuit
Modify Circuit
Select Sample Circuit
Save Circuit As
Save Circuit
Exit
"Analyze Circuit" will evaluate the circuit, calculating, and displaying
voltages at interconnect nodes. It will also calculate and display the
current and its direction across each resistor in the circuit. Finally, it
will determine if any components are overloaded.
If you want to analyze a circuit and exit without modifying the circuit, add
any character following the filename on the command line as follows:
DC filename.DC x
Sample circuit files are located in the "DC" sub-directory under the default
directory. You must prefix sample filenames with "DC\" to access files in
this sub-directory as follows:
DC DC\filename.DC x
As an example, let's look at the "RESIST1.DC" sample circuit. Type the
following:
DC DC\RESIST1.DC R
Or you can enter the program without specifying a filename, and select
"RESIST1.DC" from the select sample circuit menu. Next select "Analyze
Circuit" from the opening menu.
This file actually contains three separate resistor circuits. The simplest
circuit is on the left, and the circuits gradually become more complex as you
move to the right. Notice that voltages at interconnect nodes are displayed
in green, and currents across resistors are displayed in orange. Further
notice, that an arrow prefixes the current indicating the direction of the
current, always pointing from a larger voltage to a smaller voltage. The ESC
or F10 key is used to exit.
BASIC ELECTRICAL THEORY
Electrical potential is measured in Volts (V). Electrical current is
measured in Amperes or Amps (A). Electrical resistance is measured in
Ohms (Ω). Electrical power is measured in Watts (W).
Conductors are usually metal wires made of copper or aluminum, and are used
to conduct electricity. These metals have a very small resistance measured
in milliohms (0.001 ohms) per foot of wire, depending on the diameter of the
wire. The DC Circuit Analysis program assumes that wires used to connect
components have zero resistance. This assumption is valid if short distances
(less than a few feet) are involved.
Insulators are usually made of materials like rubber and plastic, and are
used to insulate wires. Insulators have very high resistances (millions of
ohms).
Resistors are components that allow electrical current to flow, but resist
the current converting some of it into heat. Resistors are typically made
from carbon, and have resistances measured in ohms or Killohms (1000 ohms).
A potentiometer is a variable resistor with three connection points. The top
and bottom connections are to a fixed resistor. The middle connection can
make contact at different locations along this resistor. Hence, the sum of
the resistance between the middle connection and the top connection, and the
resistance between the middle connection and the bottom connection, is the
same as the resistance between the top and the bottom connection.
Other basic electrical components include capacitors and inductors.
Capacitors are constructed of two large surface area conductors separated by
a thin insulator. Capacitors are typically used in an Alternating Current
(AC) circuit to filter selective frequencies. They can also be used to
stabilize a DC voltage from voltage spikes.
Inductors are wires wrapped into a coil. When electrical current spirals
through an inductor it creates a magnetic field. Inductors are primarily
used in AC circuits to produce oscillators. Inductors have the opposite
effect of capacitors on a circuit. Inductors can also be used to create
electromagnets. If two inductors are wrapped around the same iron core, they
form a transformer. Transformers are used to raise or lower AC voltages.
It is possible to create an electrical potential by passing an inductor
through a magnetic field. This is how an electrical generator works.
Batteries are electrical devices that use chemicals to produce an electrical
potential. The battery has an excess of electrons (negatively charged) at
its negative pole, and a shortage of electrons at its positive pole.
Both generators and batteries can be used to supply power to an electrical
circuit. This program represents the power supply using fixed voltage nodes
established at +10V, +5V, 0V (ground), -5V, or -10V.
In a steady state DC circuit, capacitors act like an insulator, unless the DC
voltage is in excess of the capacitor rated voltage. Inductors on the other
hand, act like wires or resistors with small resistance values. For this
reason, the DC Circuit Analysis program does not support capacitors,
inductors or transformers.
This program assumes a steady state DC circuit and uses the following
equation to calculate voltage and current through out the circuit:
V = I R
where:
V is the potential measured in Volts
I is the current measured in Amps
R is the resistance measured in Ohms
Every component in the circuit is reduced to its characteristic resistance,
and the voltage potential across the component is calculated based on the
current flow using this equation.
The actual equation implemented in DC Circuit Analysis is a derivation of
V=IR for multiple resistors connected to the same node. The assumption is
that the total current entering a node is equal to the total current exiting
that node (ΣI=0). The following equation is used to calculate the voltage
at each node:
N
Σ Vi/Ri
i=0
V = ──────────
N
Σ 1/Ri
i=0
where:
V is the calculated voltage at a specified node
N is the number of resistors connected to that node
Ri is the resistance of each resistor
Vi is the voltage at the node on the other end of each resistor
The calculation is continually repeated for each node in the circuit until
the voltage at each node converges (barely changes). The convergence
criteria used by the program is a function of the speed of the computer. The
convergence criteria ranges from a stringent value of 0.00001 Volts for fast
computers, to a relaxed value of 0.01 Volts for slow computers. The more
stringent the convergence criteria the longer the program takes to calculate
voltage and current, and the more accurate the results are. You can override
the convergence value and explicitly set it external to the program using the
DOS environmental variable "DC_DV" as follows:
SET DC_DV=0.01
Electrical power is calculated using the following equation:
P = V I
or
P = I² R
where:
P is the calculated power in Watts
V is the potential across a component measured in Volts
I is the current passing through the component measured in Amps
I² is the current squared (current multiplied by itself) in Amps²
R is the resistance of the component measured in Ohms
Power is calculated to determine if various components are overloaded. All
resistors in the library are assumed to be standard ¼ Watt resistors. As an
example, using the equation I = V/R, an 100 ohm resistor connected to a
10 Volt source and ground has a current of 0.1 Amps passing through it.
Using the power equation P = VI, the power through this resistor is 1 Watt
which exceeds its rated value of a ¼ Watt. Hence, this component (resistor)
is overloaded.
USING THE PROGRAM
The DC Circuit Analysis program will automatically detect and uses the
following: a math coprocessor, a two or three button mouse, and EMS
(Expanded) memory. These items are not required, but if found, will improve
the performance of the program.
DC Circuit Analysis supports a mouse if one is installed with either the
MOUSE.SYS or MOUSE.COM driver. However, a mouse is not required. In
general, the left mouse button is equivalent to the ENTER key and is used to
select items. The right mouse button is equivalent to the ESC key and is
used to exit screens. If the mouse has three buttons, the middle button is
supported in the Select Sample Circuit screen to page through the directory,
in the Modify Circuit screen to display the Library of Components screen, and
to switch pages of library components.
Let us now analyze the "RESIST2.DC" sample circuit. This file contains two
sample circuits, one with a potentiometer, and the other with a switch. When
more than one adjustable component (Switch or Potentiometer) is in a circuit,
the LEFT and RIGHT cursor keys are used to select an adjustable component.
Adjustable components with blue back grounds indicate they have been
selected. If a mouse is installed, it can be used to select an adjustable
component. The ENTER key or the left mouse button will toggle the selected
switch, or increment the selected potentiometer in 10% increments.
All switches are Single-Pole Double-Throw. When a switch is selected, the
HOME, PGUP, and UP cursor keys will position the switch in the up position.
The END, PGDN, and DOWN cursor keys will position the switch in the down
position.
When a potentiometer is selected, the UP and DOWN cursor keys will increment
or decrement the potentiometer in 1% increments. The PGUP and PGDN keys will
increment or decrement the potentiometer in 10% increments. The HOME key
sets the potentiometer to 99%, and the END key sets it to 1%.
If a potentiometer in the circuit is selected, the "p" key will plot a graph
of the first eight interconnect node voltages (labeled A through H in yellow)
versus the potentiometer voltage. The program will automatically calculate
voltages at every node as it adjusts the potentiometer. If you have a fast
computer, the potentiometer will be adjusted in 1% increments from 1% to 99%.
Slower computers will use larger increments between 2% and 5%. Since the
program must continually calculate the circuit until it converges for each
time the potentiometer is incremented, plots can take up to ten minutes,
depending on the complexity of the circuit and the speed of the computer. A
math coprocessor can speed up the calculation, but is not required. The DOS
environmental variable "DC_PLOT" can be used to explicitly set the
potentiometer increments external to the program as follows:
SET DC_PLOT=5
Once the program completes this calculation, the plot will be displayed on
the screen. Press any key to exit the plot and return to the analysis
screen. Subsequent "p" commands will instantly redisplay the plot without
recalculation. Hence, you can press "p" to toggle between the plot and the
analysis screen. You can also adjust the potentiometer on the analysis
screen as you toggle between the two screens.
Interconnect nodes, that are connected to fixed voltage or switches, are
treated as though they are fixed nodes with the corresponding voltage, hence
the program does not explicitly display a voltage adjacent to these nodes.
Interconnect nodes that are connected to other interconnect nodes are
combined for calculational purposes into a single interconnect node and the
calculated voltage is displayed only at the node that was created first.
Finally, the "w" key writes the Analysis or Plot screen into a PC Paintbrush
compatible file called DC.PCX. If the DOS environmental variable TMP is
defined, the DC.PCX file will be written to the directory identified by the
TMP variable, otherwise it will be written to the default directory.
Now let's exit (ESC) this sample circuit and look at modifying a circuit.
Let's start with the existing circuit RESIST1.DC. After selecting this
circuit from the "Select Sample Circuit" menu, you should save it under a
different name using the "Save Circuit As" menu. To modify the circuit you
should select "Modify Circuit" from the opening menu.
Now let's modify the first circuit on the left. Let's change the 10V fixed
voltage node to 5V fixed voltage node. Use the cursor keys or the mouse to
move the cursor over the 10V fixed voltage icon. Hold the CTRL key and the
BACKSPACE key down simultaneously to delete the 10V fixed voltage icon. Now
press F4, or the middle button on the mouse, to display the library of
components. If you have a slow disk drive, it may take a few seconds to
display this screen, because it must read the library file containing the
icons. A 256 Kb disk cache, such as SMARTDRV (see your MS-DOS manual), would
speed up the display of this screen. Use the cursor keys or mouse to move
the white box to the 5V fixed voltage icon. Press ENTER or the left mouse
button to select this icon. The Modify Circuit screen will now reappear.
Use the cursor keys or mouse to move the icon to the same location that the
10V fixed voltage icon was in, and press ENTER or the left mouse button to
lock it in place.
Beware that if you attempt to locate the icon too close to an existing icon
on the screen, you will get the message: "ERROR - Component Overlaps Another
Component." If this occurs, press any key to clear the message, move the
icon to another location, and press ENTER or the left mouse button. Icons
must have some space between them. They cannot be touching. Think of each
icon as having an invisible rectangular outline that encompass the icon.
If you need to move an icon, locate the cursor on top of the icon and press
the F3 key. Then use the cursor keys or mouse to move the icon to a new
location and press ENTER or the left mouse button to lock it in place.
We now must connect the 5V fixed voltage node to the top of the resistor.
Locate the cursor over the bottom circle (connection point) of the 5V fixed
voltage node, and press ENTER or the left mouse button. The icon will turn
red. Now locate the cursor over the top portion of the resistor and press
ENTER or the left mouse button. The program will draw a wire (line) between
the two connection points. You must always select a node (interconnect,
fixed, or switch) before selecting a component (or IC) to make a connection.
You can use the same procedure to disconnect (remove) a wire. You can
connect two nodes together in any order.
You can press F1 for a brief help message. For additional help, press F1 a
second time to receive a full screen of help. This screen identifies the
different types of nodes and components in the library.
Finally, press F6 to analyze the circuit and see the results of your
modification. F6 allows you to switch between the "Analyze Circuit" and
"Modify Circuit" screens.
Now is a good time for you to attempt to build your first circuit from
scratch. Exit the program and type the following:
DC DC\TEST2.DC
Now build a simple resistor circuit of your choosing. Then proceed to
analyze your circuit.
Lets look at the RESIST3.DC sample circuit for an example of a complex
resistor network.
BASIC SEMICONDUCTOR THEORY
In addition to resistors, there are electrical components called
semiconductors. They get their name from the fact that sometimes they act as
a conductor, a resistor, or an insulator depending on the circumstance.
Semiconductors are typically made of materials like silicon or germanium.
There are two types of semiconductor materials, Positive type (P-type)
material, and Negative type (N-type) material. Typically, a semiconductor
starts with a chemical group IV element (with four outer electrons), such as
silicon. This material must be formed into a nearly perfect crystal. A
small quantity of a group III element (with three outer electrons), such as
boron, is added to create P-type material. This material is positive because
there is a slight shortage of electrons. (Electrons are negative, so their
absence makes the material positive). Adding a small quantity of a group V
element (with five outer electrons), such as phosphorus, creates N-type
material. Other elements can also be used to form semiconductors.
The simplest semiconductor is formed by joining P-type material and N-type
material to form a P-N junction. This class of semiconductors includes
diodes and rectifiers. The P-N junction is characterized by the fact that
electrons can flow (forward) from the N-type material to the P-type material
easier that (in reverse) from the P-type material to the N-type material.
There is a minimum voltage required, called the threshold voltage, before
electrons can flow from the N-type to the P-type material. A typical
threshold voltage for a diode is 0.6 Volts. For electrons to flow in the
opposite direction usually requires a much higher voltage, (50 Volts or
larger).
In reality, electrons travel from a negative source, containing an excess of
electrons, to a positive source, containing a shortage of electrons. By
convention, electrical current is assumed to flow in the opposite direction,
from a positive source to a negative source. This convention was established
long before the discovery of the electron.
The symbol for a diode looks like a triangle pointing to a vertical line, as
crudely represented below. Conventional electrical current flows in the
direction that the triangle points.
│\ │
(+) ───┤ >├─── (-)
│/ │
Diode
Another characteristic of a diode, is once the threshold voltage is exceeded,
the effective resistance of the diode will change in an attempt to maintain
a constant voltage drop across the diode equivalent to the threshold voltage.
Eventually, the diode will overload and burn out if too much current passes
through it.
The DIODE1.DC and DIODE2.DC circuits illustrate the characteristics of a
diode. When plotting DIODE2.DC, you may observe a slight overshoot of the
input voltage when it reaches the diode threshold voltage. This is a
shortcoming of this program. In reality, the input voltage will slightly
undershoot and asymptotically approach the threshold voltage.
This brings us to the next class of semiconductors, called transistors. The
name Transistor is derived from "Transient Resistor." There are two types of
transistors, NPN and PNP, which are constructed of three semiconductor
materials sandwiched together. The middle layer is called the "Base", and
the outer two layers are called the "Emitter," and "Collector." The
thicknesses of each layer are not equal. The Collector is the thickest
layer, and the Base is the thinnest layer.
This class of transistor is called a "bipolar" transistor, because current
flows through the transistor using two different methods. In N-type
material, current flows as electrons move through the material. In P-type
material, current flows as "holes" move through the material.
The symbol for a bipolar transistor is a three prong icon as crudely
represented below. The prong with an arrow head is always the Emitter and it
points in the direction the (conventional) current flows. The Emitter in an
NPN transistor points away from the Base, and the Emitter in a PNP transistor
points toward the Base.
│ / Collector │ / Emitter
│/ │ /
Base ───┤\ Base ───┤└
│ \ │\
│ ┘ Emitter │ \ Collector
NPN PNP
I will only discuss the NPN transistor. The PNP transistor works
identically, except that the direction of the current is reversed. The Base-
Emitter junction acts like a diode, but with a slightly higher threshold
voltage of approximately 0.7 Volts. When the Base-Emitter junction is
reversed biased (the Emitter voltage is larger than the Base voltage), the
transistor is considered to be "Off," and very little current can flow
through the transistor. When the Base-Emitter junction is forward biased
(the Base voltage is larger than the Emitter voltage), the resistance between
the Collector and Emitter is a function of the current flowing between the
Base and Emitter. The more current through the Base-Emitter junction, the
smaller the resistance, and hence the larger the current flowing between the
Collector and Emitter. The ratio of current flowing between the Collector
and Emitter, and the current flowing between the Base and Emitter, is called
the current gain designated "Hfe," and is typically of the order of 100.
Hence, bipolar transistors are current amplifiers. The difference between
the different bipolar transistors is primarily the amount of current they can
handle before overloading. Computer circuits are designed to be fast, not
powerful.
The TRANNPN.DC and TRANPNP.DC sample circuits illustrate the characteristics
of bipolar transistors.
A special type of transistor designed for high power and high gain (Hfe) is
called a darlington. It is essentially two bipolar transistors back to back
on the same piece of silicon. It is characterized by a threshold voltage
that is typically twice that of a bipolar transistor and has a current gain
(Hfe) of the order of a 1000 instead of a 100. The TRANDNPN.DC and
TRANDPNP.DC sample circuits illustrate the characteristics of darlingtons.
A typical transistor in a computer circuit can only handle about 10 milliamps
(mA) of current. A typical medium range transistor, like the 2N2222, can
handle up to ½ Amp. A typical power darlington, like the TIP100, can handle
up to 8 Amps.
The last type of transistor to discuss is called the Metal Oxide
Semiconductor (MOS). It is a type of Field Effect Transistor (FET). This
transistor is similar to a bipolar transistor (NPN or PNP) with the addition
of a metal Gate over the Base. The Gate is separated from the Base by a thin
insulator, usually SiO2 (glass). The symbols for these types of transistors
are crudely represented below:
Gate ──┐├─── Source │├─── Drain
│ ──> Base │ <── Base
│├─── Drain Gate ──┘├─── Source
PMOS NMOS
When a positive voltage of at least 2 Volts is applied between the Gate and
a P-type Base, the electrons in the Base are pulled toward the Gate allowing
current to flow between the two N-type material called the "Source" and the
"Drain." This is called an N-channel MOS (NMOS) transistor. The larger the
voltage, the less resistance between the Source and the Drain. The
resistance is inversely proportional to the voltage (less the 2 Volt
threshold voltage) squared as illustrated in the following equation:
K
R = ──────
(V-2)²
where: R = The calculated resistance between the Source and the Drain
K = A constant, approximately 5000 Ohms/Volt²
V = Voltage potential between the Gate and the Base.
A similar P-channel MOS (PMOS) transistor exists, but requires a negative
voltage between the Gate and the N-type Base for current to flow between the
P-type Source and Drain. The TRANPMOS.DC and TRANNMOS.DC sample circuits
illustrate the characteristics of MOS type transistors.
LOGIC
Before we can discuss actual computer circuits, we must first discuss the
concept of logic. There are only two logical values: "TRUE" and "FALSE."
There are three fundamental logical operators from which all other logical
operators can be derived. They are "NOT," "AND," and "OR." The NOT
operator works as follows: If it is NOT TRUE, it must be FALSE. Conversely,
if it is NOT FALSE, it must be TRUE.
All of the inputs must be TRUE for the AND operator to be TRUE. Any of the
inputs can be TRUE for the OR operator to be TRUE. The following table
summarize these fundamental logical operators:
╔═══════════════╦═══════════════════════════╗
║ Input ║ Output ║
╟───────┬───────╫────────┬─────────┬────────╢
║ A │ B ║ NOT A │ A AND B │ A OR B ║
╠═══════╪═══════╬════════╪═════════╪════════╣
║ FALSE │ FALSE ║ TRUE │ FALSE │ FALSE ║
║ FALSE │ TRUE ║ TRUE │ FALSE │ TRUE ║
║ TRUE │ FALSE ║ FALSE │ FALSE │ TRUE ║
║ TRUE │ TRUE ║ FALSE │ TRUE │ TRUE ║
╚═══════╧═══════╩════════╧═════════╧════════╝
In addition to the fundamental logical operators, there are three additional
logical operators that are commonly used and can be derived from the three
fundamental operators. They are "NAND," "NOR," and Exclusive OR "XOR." The
NAND operators is the same as "NOT AND." In other words, the result of the
AND operator is complemented by the NOT operator. The logical equation for
the NAND operator is the following:
A NAND B = NOT (A AND B)
Similarly, the NOR operator is the same as "NOT OR." The logical equation
for the NOR operator is the following:
A NOR B = NOT (A OR B)
The Exclusive OR is similar to the OR operator, except only one input is
allowed to be TRUE at a time for the answer to be TRUE. In other words, the
answer is TRUE if one or the other input is TRUE, but not both. The logical
equation for Exclusive OR (XOR) is the following:
A XOR B = (A OR B) AND NOT (A AND B)
or
A XOR B = (A OR B) AND (A NAND B)
The following table summarizes the NAND, NOR, and XOR logical operators:
╔═══════════════╦═══════════════════════════════╗
║ Input ║ Output ║
╟───────┬───────╫───────────┬─────────┬─────────╢
║ A │ B ║ A NAND B │ A NOR B │ A XOR B ║
╠═══════╪═══════╬═══════════╪═════════╪═════════╣
║ FALSE │ FALSE ║ TRUE │ TRUE │ FALSE ║
║ FALSE │ TRUE ║ TRUE │ FALSE │ TRUE ║
║ TRUE │ FALSE ║ TRUE │ FALSE │ TRUE ║
║ TRUE │ TRUE ║ FALSE │ FALSE │ FALSE ║
╚═══════╧═══════╩═══════════╧═════════╧═════════╝
I will now discuss the DeMorgan's theorem. This theorem states that if you
invert the input and output of the AND operator, you obtain the same results
as the OR operator. Conversely, if you invert the input and output of the OR
operator, you obtain the same results as the AND operator. In addition,
there are corollaries to this theorem. The logical equations for this
theorem and its corollaries are listed below:
A AND B = NOT ( (NOT A) OR (NOT B) )
A AND B = (NOT A) NOR (NOT B)
A OR B = NOT ( (NOT A) AND (NOT B) )
A OR B = (NOT A) NAND (NOT B)
A NAND B = (NOT A) OR (NOT B)
A NOR B = (NOT A) AND (NOT B)
The DeMorgan's theorem can be extremely useful when designing logic circuits.
It is actually possible to derive the three fundamental logical operators,
NOT, AND, and OR using a single logical operator, and subsequently derive all
logical operators from this single logical operator. (The original computer
designers only had one or two logical operator circuits to work with). This
logical operator can be either a NAND or a NOR logical operator.
The following logical equations illustrate this capability:
NOT A = A NAND A
A AND B = NOT (A NAND B)
A OR B = (NOT A) NAND (NOT B)
A NOR B = NOT ( (NOT A) NAND (NOT B) )
A XOR B = NOT ( ( (NOT A) NAND (NOT B) NAND (A NAND B) )
NOT A = A NOR A
A AND B = (NOT A) NOR (NOT B)
A OR B = NOT (A NOR B)
A NAND B = NOT ( (NOT A) NAND (NOT B) )
A XOR B = (A NOR B) NOR ( (NOT A) NOR (NOT B) )
How does this discussion on logic help explain how digital computers work?
A digital computer is a "Binary" computer. Binary computers deal with only
two states: TRUE or FALSE, 1 or 0, On or Off, Voltage or Ground. Binary
computers do not use varying voltages to represent values, instead they use
simple On/Off circuits. This means that binary computer circuits do not
require precision electrical components.
The decimal numbering system we are familiar with uses ten different digits
(0 through 9), and is referred to as base 10. A binary computer represents
numbers using base 2, which only has two digits "0" and "1." In base 10, the
least significant (right most) digit is multiplied by 1, the next digit by
10, 100, 1000, etc. In base 2, the least significant digit is multiplied by
1, the next by 2, 4, 8, etc. So the decimal number 9 can be represented by
the binary number 1001. (A binary digit is called a bit.)
The Exclusive OR logical operator is the fundamental basis for a binary
adder. Once you have the ability to add two numbers together, you can than
subtract two numbers by converting one number to its negative value and
adding it to the other number. Negative numbers are represented by using a
method called "Twos Compliment." This method represents a negative one by
the largest possible number (all binary ones). Hence when you add positive
one and negative one you get zero (and carry out). To convert a number to
its negative value you must invert each digit using the NOT logical operator,
and add one via carry in. You can multiply two numbers by using a series of
shifts and additions similar to long hand multiplication. Finally you can
divide two numbers by using a series of shifts and subtractions.
LOGIC GATES
We finally get to the good stuff. It is time to start building circuits that
can perform the various logical operations discussed above. Circuits that
perform logical operations are usually referred to as "Logic Gates." We will
start with the simplest circuit using diodes.
Using only diodes and resistors we can build the AND and OR logic gates. The
sample circuits DIODEAND.DC and DIODEOR.DC illustrate these logic gates. In
these circuits the switches are the inputs, where 5 Volts represents a TRUE
value, and ground (0 Volts) represents a FALSE value.
The DIODEAO.DC depicts a circuit with two ANDs and one OR logical operator
that solve the following equation:
E = (A AND B) OR (C AND D)
where E is the output
This sample circuit illustrates some of the limitations to pure diode logic
gates. The first limitation is that the output voltage is not regenerated
(reset to 0 or 5 Volts) after each logic gate, hence the TRUE output of the
AND gate can be as little as 2.8 Volts, instead of 5 Volts as illustrated in
the previous example. The reduced voltage is due to the Resistor-Diode-
Resistor circuit between the input diodes and the output stage. To make
matters worse, the TRUE output of the OR gate can be as little as 2.2 Volts.
The second limitation is that diode circuits cannot function as a logical NOT
operator.
If we look back to the sample circuit of the NPN transistor (TRANNPN.DC), we
see that a single transistor can perform the function of the logical NOT
operator. When the input is 5 Volts the output is 0 Volts, and vice versa.
DTL
By combining the Diode AND circuit for input and the Transistor NOT circuit
for output, we form the Diode-Transistor Logic (DTL) NAND gate, as depicted
in the sample circuit DTLNAND.DC. It was necessary to add a diode between
the Diode AND input and the transistor output because the threshold voltage
of the transistor and the diode is almost the same. This diode protects
against false triggering of the transistor. This circuit has the advantage
that the output voltage of each gate is always regenerated, so there is no
limit to how many gates can be connected in series.
By removing one of the input diodes, the NAND gate now functions as a NOT
gate (or Inverter). The DTLNOT.DC sample circuit illustrates the NOT gate.
The PLTDTL.DC sample circuit allows you to vary the input voltage to see how
this circuit responds. If you use the "p" command, you can plot the voltage
at each node as the input voltage varies from 0 Volts to 5 Volts. When the
input is approximately 0.6 Volts, the output of the logic gate will change.
The logic AND gate can be formed by combining the NAND gate with the NOT
gate. It is not necessary to use diodes in the internal NOT gate, when a
single transistor will suffice. The sample circuit DTLAND.DC illustrates
this circuit.
The DTL OR gate does not use the Diode OR gate as an input stage. If a Diode
OR was used, current would be allowed to flow through the input stage into
the remainder of the circuit. The DTL NAND gate isolates the input current
from the remainder of the circuit. To provide the same isolation for the DTL
OR gate, the OR gate is created using three NOT gates and an AND gate as
defined by DeMorgan's theorem:
A OR B = NOT ( (NOT A) AND (NOT B) )
Two DTL NOT gates are used as an input stage, and the transistors' Collectors
and Emitters are tied together to form an AND gate. A third DTL NOT gate (a
single transistor) is used for the output stage. The final NOT gate is
required to provide a consistent output voltage independent of whether one or
both inputs are in the On position. The sample circuit DTLOR.DC illustrates
this circuit.
By adding another NOT gate to the output stage of the OR gate, we form the
DTL NOR gate as illustrated in the DTLNOR.DC sample circuit.
Finally, the Exclusive OR (XOR) gate is illustrated in the DTLXOR.DC sample
circuit, and uses the DTL AND, OR, and NAND gates to solve the Exclusive OR
equation discussed earlier. The traditional icons for the AND, OR, and NAND
gates are used in this program. If you press the F1 key, a full screen help
message will appear identifying the icons used for logical gates.
TTL
This brings us to the next family of logic gates called Transistor-Transistor
Logic (TTL). The original TTL logic circuits used a multiple Emitter
transistor for input, and a pair of transistors arranged one above the other
for output. The upper transistor is only On when the output is TRUE, and the
lower transistor is only On when the output is FALSE. This output
configuration of transistors is referred to as the "Totem-Pole" output. The
multiple Emitter transistor, which could only be manufactured in an
Integrated Circuit (IC) chip, performs the same basic function as the Diode
AND gate used in the DTL NAND gate. Today's TTL circuits actually use diodes
for their input stage, just like the DTL circuits. For this reason, the
sample TTL circuits in this program use diodes for input, instead of the
multiple Emitter transistor. However, the rest of the TTL circuit is
characteristic of the original TTL circuits.
The sample circuits TTLNOT.DC, TTLNAND.DC, and TTLAND.DC depict the TTL NOT,
NAND and AND logic gates. Notice that the TRUE output is not 5 Volts, but
3.7 Volts. The PLTTTL.DC sample circuit is configured with a potentiometer
for input and the voltage at each node can be plotted using the "p" option.
The sample circuits TTLOR.DC and TTLNOR.DC illustrate the TTL OR and NOR
gates. The input stage of these circuits are similar to the corresponding
DTL input stages, and the output stage contains the standard TTL totem-pole
output.
The Exclusive OR (XOR) gate is illustrated in the TTLXOR.DC sample circuit,
and uses the TTL AND, OR, and NAND gates to solve the Exclusive OR equation
discussed earlier.
In addition to the standard logic gates, TTL circuits offer a three state
gate that can turn Off both transistors in the totem-pole output stage.
Three state gates are typically used when the output of many gates are
connected to a bus, and only one gate is permitted to be active at a time.
The TTL3NOT.DC sample circuit is an example of a TTL three state gate. The
top switch is connected to the data input. Only when the bottom switch is
Off, will the output be enabled.
In general, TTL circuits are faster than DTL circuits. Over the years
several variations of TTL circuits have evolved. These variations include
Low-power (L), Schottky (S), Low-power Schottky (LS), and Advanced Low-power
Schottky (ALS or F) circuits. Of these variations, the LS series is the most
commonly available since it is faster, cheaper, and requires less power than
the original TTL circuits.
The Low-power Schottky (LS) series employs surface barrier diodes called
"Schottky Diodes" between the Base and Collector junction of each transistor
preventing the transistor from fully saturating (fully turned On). By not
fully saturating the transistor, it can switch from On to Off much faster.
These transistors are referred to as "Schottky Transistors" and are crudely
depicted below:
┌┐ ┌┐
│ / Collector │ / Emitter
│/ │ /
Base ───┤\ Base ───┤└
│ \ │\
│ ┘ Emitter │ \ Collector
└┘ └┘
NPN PNP
The SCHOTTKY.DC sample circuit illustrates the Schottky transistor and its
equivalent circuit. The input stage of the LS series gates use Schottky
diodes instead of conventional diodes or multiple Emitter transistors. In
addition, the LS series uses Schottky diodes for negative input voltage
protection. The LSNOT.DC sample circuit depicts a typical LS series NOT
gate. (I apologize for the use of conventional diodes instead of Schottky
diodes in this example). The PLTLS.DC sample circuit is configured with a
potentiometer for input and the voltage at each node can be plotted using the
"p" option.
ECL
The last family of logic gates that use bipolar transistors is called
Emitter-Coupled Logic (ECL). ECL gates maintain a partial current in each
transistor preventing them from saturating or turning Off. This makes ECL
gates the fastest logic gates on the market. Also, the difference in voltage
between TRUE and FALSE, is approximately 1 Volt. The typical ECL circuit
consists of a differential amplifier input stage, a bias circuit, and an
Emitter-follower output. Traditional ECL circuits operate using ground and
-5.2 Volts for power supply. However, they can operate at 5 Volts and ground
like other logic gates. All the sample circuits in this program use the
5 Volts and ground power supply for ECL logic gates.
The basic ECL gate is an OR-NOR gate, which is characterized by a dual
complementary output. The ECLORNOR.DC sample circuit illustrates this logic
gate. You may notice that an input device labeled "ECL" is inserted between
the switch and the circuit input. This device consists of three resistors
and is required to convert 5 Volts and ground from a switch to input voltages
that are compatible with ECL circuits. If this circuit was not installed,
the ECL node voltages would not be characteristic of ECL circuits. In
addition to the switch-to-ECL input device, 47 Kilohms resistors are added to
the output stage to provide a reference necessary to calculate the output
voltage.
The ECLNOT.DC sample circuit illustrates the simplest of the ECL circuits,
with a single input and the traditional dual complementary outputs. The
PLTECL.DC sample circuit, is the same NOT gate, but with a potentiometer for
input to illustrate the effects of varying the input voltage, on the output
voltage.
The ECL AND-NAND gate is derived using the OR-NOR gate as described by
DeMorgan's theorem:
A AND B = (NOT A) NOR (NOT B)
A NAND B = (NOT A) OR (NOT B)
The ECLNAND.DC sample circuit illustrates the ECL AND-NAND gate. Both input
stages start with a switch, followed by a switch-to-ECL converter, followed
by an ECL NOT gate. The outputs of the OR-NOR gate must be reversed, since
the NOR output (top) becomes the AND output, and the OR output (bottom)
becomes the NAND output.
The ECL Exclusive OR gate also has dual complementary outputs and is
constructed using only NOT and OR-NOR gates. You must reverse the OR-NOR
gate outputs, since OR becomes NXOR, and NOR becomes XOR. The sample circuit
ECLXOR.DC illustrates this circuit which can also be represented by the
logical equation:
A XOR B = (A NOR B) NOR ( (NOT A) OR (NOT B) )
ECL gates are the fastest logic gates on the market, but they also require
the most power. Hence, it is difficult to pack a lot of ECL gates on a
single integrated circuit chip without overheating the chip.
CMOS
The last family of logic gates I will discuss are called Complementary Metal
Oxide Semiconductors (CMOS). The term complementary refers to the use of two
types of transistors in the output circuit in a configuration similar to the
totem-pole output in TTL. The PMOS transistor is on top, and the NMOS
transistor is on the bottom. The CMOSNOT.DC sample circuit illustrates the
NOT gate, which is the simplest of the CMOS gates. The PLTCMOS.DC sample
circuits illustrates the effects of varying input voltage on this gate.
The CMOS NAND gate consists of four transistors, two PMOS transistors in
parallel, and two NMOS transistors in series, as illustrated by the
CMOSNAND.DC sample circuit. Both NMOS transistors must be On for the output
to be FALSE (0 Volts). The CMOS AND gate is the same circuit followed by a
CMOS NOT gate as illustrated in the CMOSAND.DC sample circuit.
The CMOS NOR gate also consists of four transistors, however the two PMOS
transistors are in series, and the two NMOS transistors are in parallel, as
illustrated CMOSNOR.DC sample circuit. Both PMOS transistors must be On for
the output to be TRUE (5 Volts). The CMOS OR gate is the same circuit
followed by a CMOS NOT gate as illustrated in the CMOSOR.DC sample circuit.
The CMOS Exclusive OR gate is similar to the DTL and TTL Exclusive OR gates,
except it uses CMOS AND, NAND, and OR gates as illustrated in the CMOSXOR.DC
sample circuit.
CMOS circuits can operate using a wide variety of power supply voltages.
Since the threshold voltage for the PMOS and NMOS transistors is 2 Volts, the
minimum power supply that CMOS circuits can use is 3 Volts. On the other
hand, the power supply can be as large as 15 Volts. This makes battery
driven circuits very practical, since the circuits will continue to operate
as the battery gradually runs down.
CMOS gates are characterized by requiring very little power because the MOS
transistors use voltage to trigger, instead of current. The same reason that
explains their low power consumption, also explains why CMOS gates are the
slowest logic gates (when the transistors are physically the same size as the
bipolar transistors in the previous logic families). The speed of a circuit
is limited by the size and spacing of the components, and the speed of light.
The speed of the electrons flowing through a circuit approaches the speed of
light, which is the theoretical speed limit. However, today's CMOS
technology use very small transistors, with very thin insulators between the
Gate and Base of the transistor, and the Gates are now made out of
semiconductor material instead of aluminum metal. Therefore today's CMOS
logic gates can be fast. Because of their low power consumption, they can be
more densely packed on an integrated circuit chip. As an example, the Intel
486 CPU is based on CMOS technology, contains more than a million transistors
on a single chip, and can operate at speeds up to 66 MHz (million
cycles/second).
INTEGRATED CIRCUITS (IC)
After the invention of semiconductors, the next major invention was the
Integrated Circuit (IC) chip, which places multiple semiconductor components
on a single semiconductor wafer. An entire circuit constructed of resistors,
capacitors, diodes, and transistors can be etched on to a single chip. All
the components are made from semiconductor P-type and N-type material, and
are connected together with a metal conductor, like aluminum. The resistor
can be made of either P-type or N-type material. By varying the thickness of
this material and by winding it back and forth in a small area, different
resistance values can be achieved. Diodes are formed by the junction of
P-type and N-type material. Capacitors are typically reverse biased diodes,
which are characterized by small reverse biased threshold voltages. NPN
bipolar transistors are constructed by embedding N-type material for both the
Emitter and the Collector into a P-type Base. (To make PNP transistors,
replace N-type with P-type and vice versa). CMOS transistors are similar to
bipolar transistors, except there is a metal or semiconductor (P-type or N-
type) Gate over the Base of the transistor separated by a thin insulator of
SiO2 (glass).
The original ICs only contained a few components, possibly a single logic
gate. As the technology improved, the components became smaller, and more
gates were placed on a single chip. Eventually the ability to dissipate the
heat became the limiting factor. Using today's CMOS technology, over a
million transistors can be placed on a single IC chip.
In the DC Circuit Analysis program, the term "Integrated Circuit" (IC) takes
on a slightly different meaning. The DC Circuit Analysis library contains
both basic components (like resistors, diodes, and transistors) and
Integrated Circuits (like DTL NOT, TTL NAND, and CMOS NOR gates), which are
circuits created using the DC Circuit Analysis program, saved in a file with
a "DCL" extension, and referenced in the library. The DC.DCL file contains
all the parameters and screen locations for each item in the library. (See
the section below that describes this file format). Each IC is stored in a
separate file. As an example, the DTL NOT gate is stored in the file
DTLNOT.DCL located in the DCL sub-directory. You can view this circuit using
the following command:
DC DCL\DTLNOT.DCL R
You will notice that there is no power supply, no switches for input, and all
the nodes are set to 2.5 Volts (the default starting voltage for
calculational purposes). The first nodes created correspond to the
connection points. By convention, the connections are in the following
order: power supply, ground, inputs, and outputs. DCL files are not always
easy to read, since they use the fewest number of nodes necessary for the
library. Nodes can be moved around on the screen, but if you delete one of
the connection nodes, you cannot simply recreate it. Since the order in
which the nodes were created is essential to maintain compatibility with the
DC.DCL file. Please do not modify the DCL library files.
USER DEFINED ICs
Why did I discuss DCL files? Because you can create your own circuits and
add them to the library. The last eight icons in the library are reserved
for your use. They are stored in the files DCL\U1.DCL through DCL\U8.DCL.
The connection nodes are already created and organized on the screen in a
pattern matching the icon connection points. All you have to do is add your
circuits to these files. You can embed other Ics into your circuit, the only
limitation is the 100 total components which includes the components within
each IC and the IC icon itself. You can move the nodes around the screen,
but please do not delete them. If you make a mistake in your user defined IC
file, you can start all over by copying the DCL\USER.DCL file into the file
you were working on. This file provides a good starting point. Please do
not modify the DCL\USER.DCL file.
MISCELLANEOUS EXAMPLES
Let's look at some miscellaneous examples. Since my primary intention of
writing this program was to introduce you to computer circuits, I will
discuss some common computer circuits. Due to the limitation of 100
components and the computer overhead to analyze complex circuits, I can only
discuss a few simple circuits. To reduce the time required to analyze these
circuits, only CMOS technology will be used for these sample circuits.
How does computer memory work? The basis for all computer memory is the
Set-Reset (S-R) Latch, which consists of two NAND gates that are cross
connected. The SRLATCH.DC sample circuit illustrates the S-R Latch. This
circuits have two inputs and two outputs. The output of the top NAND gate is
the normal output, and the output of the bottom NAND gate is the complemented
output. The top switch Sets the latch to TRUE, when it is in the Off
position. The bottom switch Resets the latch to FALSE, when it is in the Off
position. When both switches are in the On position, the circuit "remembers"
what it was last set to. However, both switches should not be in the Off
position, since both outputs (which are suppose to be opposites of each
other) will both become TRUE.
The Data Latch is an improvement on the Set-Reset Latch. The DLATCH.DC
sample circuit illustrates the Data Latch. This circuits consists of four
NAND gates, where the two NAND gates on the right form the familiar Set-Reset
Latch described above. The top switch is the data input, and the bottom
switch is the enable input. When the bottom switch is On, the input data is
stored in the latch. When the bottom switch is Off, the input data is
ignored, and the circuit remembers its last setting.
The Data Flip-Flop is an example of a Master-Slave Flip-Flop. It consists of
two latches connected in series and is illustrated in the FLIPFLOP.DC sample
circuit. The first (Master) latch is a standard Data Latch as described
above. The second (Slave) latch is a Set-Reset Latch with enable. When the
enable input is On, the value of the Data input is stored in the first latch.
When the enable input is Off, the value stored in the first latch is
transferred to the second latch. Applications for Flip-Flops include binary
counters.
The next set of circuits I will discuss are adders. I will start with the
Half-Adder. This circuits adds two binary numbers together and has two
outputs: Sum and Carry. The Half-Adder is a variation on the Exclusive OR
circuit. The HALFADDR.DC sample circuit illustrates the Half-Adder, as
described by the following logical equations:
Sum = A XOR B
Carry = A AND B
The truth table for a Half-Adder is as follows:
╔═══════╦════════════╗
║ Input ║ Output ║
╟───┬───╫─────┬──────╢
║ A │ B ║ Sum │ Carry║
╠═══╪═══╬═════╪══════╣
║ 0 │ 0 ║ 0 │ 0 ║
║ 0 │ 1 ║ 1 │ 0 ║
║ 1 │ 0 ║ 1 │ 0 ║
║ 1 │ 1 ║ 0 │ 1 ║
╚═══╧═══╩═════╧══════╝
The Full-Adder is essentially two Half-Adders in series. The Full-Adder has
three inputs: A, B, and Carry (C) from the previous least significant digit.
It also has two outputs: Sum and Carry. Full-Adders can be connected in
series to handle larger numbers. The FULLADDR.DC sample circuit illustrates
a Full-Adder, as described by the following logical equations:
Sum = (A XOR B) XOR C
Carry = (A AND B) OR (A AND C) OR (B AND C)
The truth table for a Full-Adder is as follows:
╔═══════════╦════════════╗
║ Input ║ Output ║
╟───┬───┬───╫─────┬──────╢
║ A │ B │ C ║ Sum │ Carry║
╠═══╪═══╪═══╬═════╪══════╣
║ 0 │ 0 │ 0 ║ 0 │ 0 ║
║ 0 │ 0 │ 1 ║ 1 │ 0 ║
║ 0 │ 1 │ 0 ║ 1 │ 0 ║
║ 0 │ 1 │ 1 ║ 0 │ 1 ║
║ 1 │ 0 │ 0 ║ 1 │ 0 ║
║ 1 │ 0 │ 1 ║ 0 │ 1 ║
║ 1 │ 1 │ 0 ║ 0 │ 1 ║
║ 1 │ 1 │ 1 ║ 1 │ 1 ║
╚═══╧═══╧═══╩═════╧══════╝
Due to limitations of this program, it is not practical to attempt to show
more complex logic circuits. If you would like to learn more about computer
logic circuits, I recommend you invest in the "Logic Circuit Analysis"
program that I wrote. It is cable of handling 1,000 logic gates, which is
enough to model an entire 4-bit Central Processing Unit (CPU).
Sometimes it is necessary to interface computer circuits to the outside
world. The first circuit I will discuss is a Digital to Analog (D/A)
converter. The simplest D/A consists of a resistor circuit. The DTOA.DC
sample circuit is an example of a D/A. The top switch is the most
significant digit and the bottom switch is the least significant digit. If
you turn Off all the switches, and then turn only one switch On at a time,
you will notice that the top switch adds 2.5 Volts (½ the power supply
voltage), the second switch adds 1.25 Volts (¼ the power supply voltage), the
third switch 0.625 Volts, and the last switch 0.3125 Volts (or 1/16 the power
supply voltage). This circuit can easily be interfaced with CMOS logic
gates, but not with the other family of logic gates. That is because CMOS
logic is the only logic family with full 0 to 5 Volt output.
The next circuit is a CMOS Analog Switch. The ANALOGSW.DC sample circuit
illustrates this circuit. It uses a CMOS NOT circuit and a pair of MOS
transistors. However, they are configured such that the switch can turn both
transistors On, or both Off. When they are both On, they will provide a
small resistance allowing current to flow in either direction. A typical use
of analog switches is to multiplex multiple analog signals into a single
Analog to Digital converter.
This brings us to Solid State Switches. Sometimes it is necessary for a
digital circuit to control an electrical device, such as a light bulb, or a
motor. The SSSW.DC and SSPOWSW.DC sample circuits illustrate solid state
switches capable of switching loads up to ½ Amp and 8 Amps respectively. The
first circuit uses a 2N2222 transistor to switch up to a ½ Amp load, and the
second circuit adds a TIP100 power darlington to switch up to an 8 Amp load.
The 100 ohm resistor represents the load in both cases. Higher voltages can
be controlled, but the resistor values must be changed and you will have to
use larger Wattage resistors. (All resistors in this library are only rated
at ¼ Watts).
The final sample circuit, SSRPOWSW.DC is a Solid State Reversible Power
Switch which uses four power darlingtons (two NPN and two PNP) for its
output. This circuit can turn the load On and Off, as well as reverse the
power applied to the load. The right switch is the On/Off switch, and the
left switch is the Forward/Reverse switch. In this circuit each TTL AND gate
controls one 2N2222 transistor, which in-turn controls two power darlingtons,
one NPN and the other PNP, each located in opposite corners of the output
stage. The TTL logic assures that all four darlingtons are not turned On at
the same time, but can all be turned Off. If you intend to use this circuit
with a motor, you will have to add additional rectifiers and capacitors to
protect the circuit from the side effects of the motor.
I hope you enjoyed this tutorial and will continue to use this program to
explore other Direct Current (DC) circuits. This program allows you to try
some circuits without actually building the circuit.
SPECIFICATIONS
REQUIREMENTS
────────────
IBM-PC or compatible computer
800 Kb of disk space
300 Kb minimum available RAM, (after DOS, drivers and TSR)
350 Kb maximum available RAM required for complex circuits and no EMS
EGA or VGA graphics adapter with 256 Kb of RAM installed
Color Monitor
SUPPORTS (but not required)
───────────────────────────
Mouse (2 or 3 button) with mouse.sys or mouse.com device driver.
Math coprocessor. If one is installed, the program will run faster.
Expanded Memory (EMS). If 64 Kb EMS is available, it will be used.
DOS ENVIRONMENTAL VARIABLES
───────────────────────────
TMP Sets location of DC.PCX and DC.DC file, otherwise written to
the default directory.
Example: SET TMP=D:\
MONITOR Can be set to EGA or VGA. The program will automatically
detect if an EGA or VGA adapter is installed. The MONITOR
variable will override the automatic detection.
Example: SET MONITOR=EGA
EMS Can be set to OFF or NO to override auto-detection so not to
use EMS memory even if it is available.
Example: SET EMS=OFF
DC_DV Used to override the convergence criteria. If it takes a
long time to display calculation results, you may want to set
this variable to 0.01. This will speed up the program but
reduce the accuracy of the results.
Example: SET DC_DV=0.01
DC_PLOT Used to override the potentiometer increments used during
plotting. This value may range from 1% to 5%.
Example: SET DC_PLOT=5
PROGRAM LIMITS
──────────────
112 Library Entries
100 Components per circuit, including ICs and their components
250 Nodes per circuit
750 Connections per circuit
8 User Definable Circuits
8 Connection terminals per IC
5 Connections per node.
SUMMARY OF KEYS
TUTORIAL SCREEN
Cursor Keys - Highlight the desired keyword
ENTER - Select the highlighted keyword
PGDN - Display next screen
PGUP - Display previous screen
F1 - Display opening tutorial screen
ESC - Exit tutorial
OPENING MENU
Cursor Keys - Highlight the desired item
HOME - Highlight "Analyze Circuit"
END - Highlight "Exit"
F5 - Display tutorial
ENTER - Select the highlighted item
SELECT SAMPLE CIRCUIT MENU
PGUP, PGDN - Display additional pages of sample circuits
Cursor Keys - Highlight the desired sample circuit
HOME - Highlight the first sample circuit on this page
END - Highlight the last sample circuit on this page
ENTER - Select the highlighted sample circuit
ESC, F10 - Exit this menu without selecting a sample circuit
ANALYZE CIRCUIT
LEFT and RIGHT - Highlight Adjustable Component
(Switch or Potentiometer)
Switch:
UP, PGUP, HOME - Set to up position
DOWN, PGDN, END - Set to down position
ENTER - Toggle Switch
Potentiometer:
HOME - Set to 99%
ENTER, PGUP - Increment by 10%
UP - Increment by 1%
DOWN - Decrement by 1%
PGDN - Decrement by 10%
END - Set to 1%
F5 - Display tutorial
F6 - Edit circuit
p - Plot node voltage vs. potentiometer voltage
w - Save screen into PC Paintbrush compatible file
F10, ESC - Exit
MODIFY CIRCUIT
F1 - Help (Second F1 for full screen help)
F2 - Redraw screen
F3 - Move a Component (Node or IC)
F4 - Access Library of Components
F5 - Display tutorial
F6 - Analyze circuit
Cursor Keys - Move Cursor
CTRL-BACKSPACE - Delete Component (Node or IC)
ENTER - Make a Connection, or Lock Component in position
F10, ESC - Exit
LIBRARY OF COMPONENTS
F1 - Help (Second F1 for full screen help)
Cursor Keys - Highlight Component (Node or IC)
PGUP, PGDN - Switch Pages of Library Components
ENTER - Select Component
F10, ESC - Exit
LIBRARY
The Library is based on the following components:
Resistors are standard values, ¼ Watts, 5% carbon resistors
Potentiometers are linear and are rated at 2 Watts
Diodes are 1N914 high speed switching Diodes (10 mA)
NPN Transistors are 2N2222 500 mA, with Hfe = 150
PNP Transistors are 2N2904 500 mA, with Hfe = 150
NPN Darlingtons are TIP100 8 Amp, with Hfe = 2000
PNP Darlingtons are TIP105 8 Amp, with Hfe = 3000
PMOS and NMOS transistors are standard CMOS transistors
ICs are circuits created using the DC Circuit Analysis program and made
available in the library.
The Library contains the following items:
Type Description
───── ───────────────────────────────────────────────
INODE Interconnect Node
VNODE Fixed Voltage Node, 0 Volts (Ground)
VNODE Fixed Voltage Node, 5 Volts
VNODE Fixed Voltage Node, -5 Volts
VNODE Fixed Voltage Node, 10 Volts
VNODE Fixed Voltage Node, -10 Volts
SNODE Switch Node, 5 Volts and 0 Volts (Ground)
SNODE Switch Node, 10 Volts and -10 Volts
R Resistor, 100 Ohms, ¼ Watts
R Resistor, 130 Ohms, ¼ Watts
R Resistor, 240 Ohms, ¼ Watts
R Resistor, 470 Ohms, ¼ Watts
R Resistor, 750 Ohms, ¼ Watts
R Resistor, 1,000 Ohms, ¼ Watts
R Resistor, 1,600 Ohms, ¼ Watts
R Resistor, 2,000 Ohms, ¼ Watts
R Resistor, 3,000 Ohms, ¼ Watts
R Resistor, 3,900 Ohms, ¼ Watts
R Resistor, 4,700 Ohms, ¼ Watts
R Resistor, 10 Kilohms, ¼ Watts
R Resistor, 20 Kilohms, ¼ Watts
R Resistor, 47 Kilohms, ¼ Watts
R Resistor, 100 Kilohms, ¼ Watts
R Resistor, 1,000 Kilohms, ¼ Watts
R Resistor, 100 Ohms, ¼ Watts
R Resistor, 130 Ohms, ¼ Watts
R Resistor, 240 Ohms, ¼ Watts
R Resistor, 470 Ohms, ¼ Watts
R Resistor, 750 Ohms, ¼ Watts
R Resistor, 1,000 Ohms, ¼ Watts
R Resistor, 1,600 Ohms, ¼ Watts
R Resistor, 2,000 Ohms, ¼ Watts
R Resistor, 3,000 Ohms, ¼ Watts
R Resistor, 3,900 Ohms, ¼ Watts
R Resistor, 4,700 Ohms, ¼ Watts
R Resistor, 10 Kilohms, ¼ Watts
R Resistor, 20 Kilohms, ¼ Watts
R Resistor, 47 Kilohms, ¼ Watts
R Resistor, 100 Kilohms, ¼ Watts
R Resistor, 1,000 Kilohms, ¼ Watts
POT Potentiometer, 1 Kilohms, 2 Watts
POT Potentiometer, 10 Kilohms, 2 Watts
DIODE Switching Diode, 1N914 10 milliamps
DIODE Switching Diode, 1N914 10 milliamps
DIODE Switching Diode, 1N914 10 milliamps
DIODE Switching Diode, 1N914 10 milliamps
PMOS PMOS Transistor, (CMOS) 10 milliamps
NMOS NMOS Transistor, (CMOS) 10 milliamps
NPN NPN Transistor, 2N2222 500 milliamps, Hfe=150
NPN NPN Transistor, 2N2222 500 milliamps, Hfe=150
PNP PNP Transistor, 2N2904 500 milliamps, Hfe=150
PNP PNP Transistor, 2N2904 500 milliamps, Hfe=150
NPN NPN Darlington, TIP100 8 Amps, Hfe=2000
NPN NPN Darlington, TIP100 8 Amps, Hfe=2000
PNP PNP Darlington, TIP105 8 Amps, Hfe=3000
PNP PNP Darlington, TIP105 8 Amps, Hfe=3000
IC Integrated Circuit, DTLNOT.DCL, DTL Inverter (NOT)
IC Integrated Circuit, TTLNOT.DCL, TTL Inverter (NOT)
IC Integrated Circuit, CMOSNOT.DCL, CMOS Inverter (NOT)
IC Integrated Circuit, ECLNOT.DCL, ECL with Differential output
IC Integrated Circuit, ECL116.DCL, ECL Differential input & output
IC Integrated Circuit, ECLOR.DCL, ECL 2-In OR/NOR
IC Integrated Circuit, ECLOR3.DCL, ECL 3-In OR/NOR
IC Integrated Circuit, ECLAND.DCL, ECL 2-In AND/NAND
IC Integrated Circuit, DTLAND.DCL, DTL 2-In AND
IC Integrated Circuit, DTLAND3.DCL, DTL 3-In AND
IC Integrated Circuit, DTLOR.DCL, DTL 2-In OR
IC Integrated Circuit, DTLOR3.DCL, DTL 3-In OR
IC Integrated Circuit, DTLNAND.DCL, DTL 2-In NAND
IC Integrated Circuit, DTLNAND3.DCL, DTL 3-In NAND
IC Integrated Circuit, DTLNOR.DCL, DTL 2-In NOR
IC Integrated Circuit, DTLNOR3.DCL, DTL 3-In NOR
IC Integrated Circuit, TTLAND.DCL, TTL 2-In AND
IC Integrated Circuit, TTLAND3.DCL, TTL 3-In AND
IC Integrated Circuit, TTLOR.DCL, TTL 2-In OR
IC Integrated Circuit, TTLOR3.DCL, TTL 3-In OR
IC Integrated Circuit, TTLNAND.DCL, TTL 2-In NAND
IC Integrated Circuit, TTLNAND3.DCL, TTL 3-In NAND
IC Integrated Circuit, TTLNOR.DCL, TTL 2-In OR
IC Integrated Circuit, TTLNOR3.DCL, TTL 3-In NOR
IC Integrated Circuit, CMOSAND.DCL, CMOS 2-In AND
IC Integrated Circuit, CMOSAND3.DCL, CMOS 3-In AND
IC Integrated Circuit, CMOSOR.DCL, CMOS 2-In OR
IC Integrated Circuit, CMOSOR3.DCL, CMOS 3-In OR
IC Integrated Circuit, CMOSNAND.DCL, CMOS 2-In NAND
IC Integrated Circuit, CMOSNND3.DCL, CMOS 3-In NAND
IC Integrated Circuit, CMOSNOR.DCL, CMOS 2-In NOR
IC Integrated Circuit, CMOSNOR3.DCL, CMOS 3-In NOR
IC Integrated Circuit, DTLXOR.DCL, DTL Exclusive OR
IC Integrated Circuit, TTLXOR.DCL. TTL Exclusive OR
IC Integrated Circuit, CMOSXOR.DCL, CMOS Exclusive OR
IC Integrated Circuit, ECLXOR.DCL, ECL Exclusive OR/NOR
IC Integrated Circuit, ECLIN.DCL, Switch to ECL Input
IC Integrated Circuit, DTOA.DCL, Digital to Analog Converter
IC Integrated Circuit, SCHOTTKY.DCL, NPN Schottky Transistor
IC Integrated Circuit, SCHOTTKR.DCL, NPN Schottky Transistor
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, User.DCL, Reserved
IC Integrated Circuit, U1.DCL, User Defined IC
IC Integrated Circuit, U2.DCL, User Defined IC
IC Integrated Circuit, U3.DCL, User Defined IC
IC Integrated Circuit, U4.DCL, User Defined IC
IC Integrated Circuit, U5.DCL, User Defined IC
IC Integrated Circuit, U6.DCL, User Defined IC
IC Integrated Circuit, U7.DCL, User Defined IC
IC Integrated Circuit, U8.DCL, User Defined IC
SAMPLE CIRCUITS
The following examples can be found in the \DC\DC sub-directory:
Filename Description
─────────── ───────────────────────────────────────────────
ANALOGSW.DC CMOS Analog Switch
CMOSAND.DC CMOS 2-In AND
CMOSNAND.DC CMOS 2-In NAND
CMOSNOR.DC CMOS 2-In NOR
CMOSNOT.DC CMOS Inverter (NOT)
CMOSOR.DC CMOS 2-In OR
CMOSXOR.DC CMOS Exclusive OR
DIODE1.DC Sample Diode Circuits
DIODE2.DC Plot of Diode Circuit
DIODEAND.DC 2-In Diode AND
DIODEAO.DC Two 2-In Diode AND, and One 2-In Diode OR
DIODEOR.DC 2-In Diode OR
DLATCH.DC Data Latch
DTLAND.DC DTL 2-In AND
DTLNAND.DC DTL 2-In NAND
DTLNOR.DC DTL 2-In NOR
DTLNOT.DC DTL Inverter (NOT)
DTLOR.DC DTL 2-In OR
DTLXOR.DC DTL Exclusive OR
DTOA.DC Digital to Analog Converter
ECLNAND.DC ECL 2-In AND/NAND
ECLNOT.DC ECL Driver with Differential Output
ECLORNOR.DC ECL 2-In OR/NOR
ECLXOR.DC ECL Exclusive OR
FLIPFLOP.DC Data Flip-Flop
FULLADDR.DC Full Adder
HALFADDR.DC Half Adder
LSNOT.DC TTL Low-Power Schottky (LS) Inverter (NOT)
PLTCMOS.DC Plot of CMOS Inverter (NOT)
PLTDTL.DC Plot of DTL Inverter (NOT)
PLTECL.DC Plot of ECL Driver with Differential Output
PLTLS.DC Plot of TTL-LS Inverter (NOT)
PLTTTL.DC Plot of TTL Inverter (NOT)
RESIST1.DC Sample Resistor Circuits
RESIST2.DC Sample Potentiometer Circuit
RESIST3.DC A very complex resistor network
SCHOTTKY.DC NPN Schottky Transistor
SRLATCH.DC Set-Reset Latch
SSPOWSW.DC 8 Amp Solid State Switch
SSRPOWSW.DC 8 Amp Reversible Solid State Switch
SSSW.DC ½ Amp Solid State Switch
TRANDNPN.DC NPN Darlington
TRANDPNP.DC PNP Darlington
TRANNMOS.DC NMOS Transistor
TRANNPN.DC NPN Transistor
TRANPMOS.DC PMOS Transistor
TRANPNP.DC PNP Transistor
TTL3NOT.DC TTL Three State Inverter
TTLAND.DC TTL 2-In AND
TTLNAND.DC TTL 2-In NAND
TTLNOR.DC TTL 2-In NOR
TTLNOT.DC TTL Inverter (NOT)
TTLOR.DC TTL 2-In OR
TTLXOR.DC TTL Exclusive OR
DC.DCL FILE FORMAT
DC.DCL contains the specifications for each library entry. There is one line
for each entry as follows:
TYPE NL NC NP --- Locations x y --- --- Parameters ---
where TYPE is:
INODE - Interconnection Node
VNODE - Fixed Voltage Node
SNODE - Switch Voltage Node
R - Resistor
POT - Potentiometer
DIODE - DIODE
PMOS - P-channel CMOS transistor
NMOS - N-channel CMOS transistor
NPN - NPN bipolar transistor or darlington
PNP - PNP bipolar transistor or darlington
IC - Integrated Circuit - Stored in separate files
NL: Number of Locations
NC: Number of Connections must be less then or equal to NL
NP: Number of Parameters
--- Locations x y ---
Locations specified in x y pairs relative to upper left corner of icon. The
first NC locations are the connections, any additional locations are for
Resistor current, Potentiometer % turns, or INODE Voltage labels.
--- Parameters ---
The number and type of parameters depends on the TYPE as follows:
TYPE NL NC NP Locations Parameters
───── ── ── ── ─────────────────────────── ───────────────────────────
INODE 2 1 0 connection, Voltage Label none
VNODE 1 1 1 connection Fixed Voltage
SNODE 1 1 2 connection Up Voltage, Down Voltage
R 3 2 2 First, Second, Amp Label Resistance, Rated Wattage
POT 4 3 2 Top, Bottom, Middle, % Label Resistance, Rated Wattage
DIODE 2 2 3 Plus, Negative Vth, Amp, HiZ Resistance
PMOS 4 4 4 Gate, Source, Base, Drain Vth, Ohms/Volt², Amp, HiZ R
NMOS 4 4 4 Gate, Source, Base, Drain Vth, Ohms/Volt², Amp, HiZ R
NPN 3 3 4 Emitter, Base, Collector Vth, Hfe, Amp, HiZ R
PNP 3 3 4 Emitter, Base, Collector Vth, Hfe, Amp, HiZ R
IC ? ? -1 +V, -V, Inputs, Outputs dcl\filename.DCL
Up to Eight Connections
Integrated Circuits (ICs) files are stored in the \DC\DCL sub-directory.
ICs are all predefined DC Circuits that contain Components or other ICs.
DC AND DCL FILE FORMATS
Files with the extension "DC" are sample circuit files located in the DC sub-
directory. Files with the extension "DCL" are library (IC) circuit files
located in the DCL sub-directory. Both files contains circuit created by the
DC Circuit Analysis program, and have the same format:
The first line contains two numbers as follows:
NC NN
where NC = Number of Components or ICs
NN = Number of Nodes (Interconnect, Fixed, or Switch)
The next NC lines contains the components, one per line as follows:
LIB ROW COL N N1 N2 ...
where LIB = Library entry (0-111)
ROW = Screen row location of icon (0-299)
COL = Screen column location of icon (0-79)
N = Number of connection terminals
N1, N2, ... = Node corresponding to each connection
Nodes are numbered starting with 100
The next NN lines contains the nodes, one per line as follows:
LIB ROW COL N C1 CC1 C2 CC2
where LIB = Library entry (0-111)
ROW = Screen row location of icon (0-299)
COL = Screen column location of icon (0-79)
N = Number of connections
C1, C2, ... = Component (0-99), or Node
CC1, CC2, ... = Connection on component or Node C1, C2, ...