Integrated circuits (ICs)
are, much as their name would suggest, small circuits
integrated into a plastic "chip." They provide a handy
source of rich functionality in a tiny package. The
ICs
used in BEAMbots
are really fairly simple -- often just consisting of
multiple copies of a simple 2- or 3-element circuit,
in a small, handy, package. This means that they are simple,
easy to learn "circuit
blocks," rather than very complex "black boxes".

Think of them as just a natural progression from
circuits
built from discrete components.

ICs
come in a variety of packages (2 are predominant for our
uses), and are based on a number of different core
technologies (also known as logic families, we'll again be
concerned with just 2).

Logic FamiliesFor the purposes of BEAMbots,
we'll just be concerned with two logic families (IC
implementation approaches); note that both have multiple
numbering schemes for their "members."

For TTL circuits,
a logic "1" is usually defined as a signal of about
2.4 V, while logic "0" is about 0.5 V above ground;
any signal between those values is undefined. Also,
note that all unused inputs should be tied to
ground.

Bipolar TTL logic comes in many flavors (usually
numbered in the "74XX" format, occasionally in
"54XX" format) including 74LS/ALS types. These all
require 1000s of times more power than
TTL-compatible CMOS logic (like the 74HCT type, see
below). Note that the 74HCT* ICs
have the same logic thresholds as other TTL chips,
allowing them used in a mixed circuits
of TTL and HCT logic.

While we won't use TTL logic in BEAM
projects (as a general rule, it's too
power-hungry), for completeness, here are some TTL
"subfamilies":

74LXX -- low-power TTL (1/10 the
speed, 1/10 the power of "regular" TTL)

74HXX -- high-speed TTL (twice as
fast, twice as much power)

74SXX -- Schottky TTL (for
high-frequency uses)

74LSXX -- combination of low-power
& Schottky, same speed as regular TTL, but
at 1/5 the power consumption

CMOS -- Complimentary
Metal Oxide Silicon

CMOS ICs
use much less power than TTL, plus they are fairly
forgiving of "slop" in input voltage -- they're
happy with anything between 3 (some, like 1381s, go
lower) and 12 volts. CMOS, though, is much more
susceptible to damage from static electricity (so
get that grounding strap out!).

CMOS comes in two flavors, with corresponding
numbering schemes: "CD40XX" metal gate CMOS, and
"74CXX" silicon gate CMOS (note that this second
subfamily borrows its numbering scheme from TTL
ICs).

Metal gate CMOS (CD40XX)has a rated
working voltage of 3 - 15 V but can be used down to
2V.

Silicon gate CMOS (74CXX) logic has a
working voltage range of 2 -6V but can be used to
less than 1V. For microwatt power applications you
want to use the lowest possible voltage.

Numbering systems and IC "sub-families"Something I've learned to put up with is the mess that
is IC
numbering systems. One of the more common numbering systems
used for CMOSICs
(most often used in BEAMbots)
is borrowed from TTL -- that of 74xxxnnn
-- here, "xxx" is AC, ACT, HC, or HCT (subfamily); and "nnn"
is the specific chip ID.

So, basically, any given chip will come in a whole mess
of variations (one per subfamily); if it's any consolation,
we only need to be concerned with 4. For any given chip,
you'll need to consider the plusses and minuses of two
comparisons -- AC vs HC subfamilies, and AC / HC vs ACT /
HCT (essentially, CMOS vs. TTL
input levels).

The AC and ACT subfamilies are faster than the HC and HCT
subfamilies, and draw some more power in some circuits.
All chips in the AC* subfamily have lower output resistance
than HC* and can sink and source 24 mA at logic levels and
up 70 mA (typ) per gate for motor loads. As a result AC*
gates can handle more than twice the current
of HC* gates (50 - 70 mA vs. 24 mA). Note, though, that
while most HC* chips have a 25 mA limit, the HC*
driver chips such as the 74HC240 and the 74HC245 (i.e.,
buffers) can handle 35 mA per device, and a maximum
of 75 mA per chip.

The AC & ACT families also draw about twice as much
current
as the HC & HCT chips (but we speaking here of
microamps, so it's usually not a huge deal).

It is occasionally possible to find (high quality) motors
that you can drive directly from an HC chip. For
intermittent operation, such as you get with a quadcore,
you COULD drive very efficient (i.e., very low-current)
motors directly. You would definitely need a capacitor
(say 0.47 uF) across each motor to keep the noise under
control.

CMOS vs. TTL inputs
The main difference between AC- and HC-chips vs. ACT- and
HCT-chips is that AC / HC chips work with CMOS-level
inputs, while ACT / HCT chips work from TTL-level
inputs and outputs. AC / HC chips allow a relatively-wide
supply-voltage range (2 - 6 V), and works with CMOS
levels on input and output (i.e., doesn't like inputs or
outputs to be ill-defined, prefers close to 0V for low and
Vdd for high). ACT / HCT works only with a supply voltage of
5V +/- 10%, and works with TTL levels on
input and output (a valid input is close to 0V for low, and
~2.4 - 5.0 V for high).