Transcript Lecture 17
Design Realization
lecture 17
John Canny
10/21/03
Last Time
Electronics: A/D boundary
This time
Processors and networks
Printed-circuit board design
Sensors
The art of electronics
Practical electronics departs in several ways
from the ideal model:
There is no perfect wire. Every connection has
finite resistance and finite inductance. If either
high current, or high frequency current passes
through a connection, it will cause a voltage
drop.
This is particularly acute for power supply wires.
Stray capacitance
There is no perfect connection point. Any two
conductors near each other form a capacitor.
Such stray capacitance can be strong between
nearby conductors on either side of a PC board,
or between pins on a chip.
These effects are worst at high frequencies, and
with high voltages.
Feedback and isolation
For both these reasons it’s a good idea to
physically separate large signals from small
ones, especially if the system does large
amplification (say 100-1000 times) – because
the large signals are controlled by the small
ones, which can lead to feedback and
uncontrolled oscillation.
Don’t try for too much gain from a single stage
amplifier.
Power supply bypass
Capacitors (and inductors or resistors) can be
used to isolate component power supplies:
Printed circuit boards
The most widely-used connection system for
electronics.
Typically epoxy or other plastic board with
copper conductors.
Usually two or more layers of conductor.
Holes are drilled and copper-plated to allow
component insertion + connects between layers.
There are other prototyping systems for circuits,
but its often best to go straight to board design:
Start dealing with layout issues immediately.
Avoids difficulties due to the prototyping hardware.
PCB tips
Main idea is to join the component pins that
need to be joined, but there are some tips:
Ground and power conductors should be large,
as straight and direct as possible.
All conductors should be as short and direct as
possible (avoid sharp turns which increase
inductance).
For two-sided boards, it often helps to prefer
horizontal runs on one side, vertical on the other.
PCB tips
Keep large signals away from small ones.
Place bypass capacitors physically close to the
pins being bypassed.
Use sockets for expensive components, or
components that may need to be replaced.
PCB systems
ExpressPCB is a software system for fabricating
small boards, which can be sent directly to the
vendor for fab.
Also draws schematics.
EX USB and serial sensor boards.
Processors and networks
For a device to be “intelligent” it needs some
computation (a processor) and some
communication (a network).
In the simplest case, the “processor” only
provides communication between some sensors
and a remote computer.
This is the idea behind the “1-wire” system.
1-wire system
The “wire” carries both power and
communication, hence 1-wire.
You still need a ground wire, so this is really a 2wire system.
You talk to 1-wire devices directly through an
interface chip, either serial or USB.
1-wire system
DS2480B: a serial
to 1-wire interface.
TXD and RXD are
serial data (POL sets
polarity)
GND, VDD, VPP are
power lines.
1-wire goes to the bus.
1-wire system
On a 1-wire bus, you can add: A/D and D/A
converters, thermometers, timers,…
Each device has a unique address. The main
processor can query the bus to find all the
devices on it. Then it calls them individually.
Example
1-wire advantages
Simplest hardware, cheap, small devices. Two
or 3-wire bus possible.
High-level drivers already written (in C, Java and
MS Com).
Interfaces for serial or USB.
1-wire disadvantages
Slow: hard to achieve more than 30kb/s
(although 100k is theoretically possible). Only
useful for slow sensors: temp., light, etc.
Missing interfaces: PWM, r/c servo control
Low quality software: speed and reliability issues
Some software only available for PCs (no source
code).
Single-chip microcontrollers
Microchip’s PIC chips (also Atmel)
Virtually everything is on one chip (PIC specs):
Processor (8/16-bit)
Program memory (512 – 32k words)
Data memory (80 – 3k bytes)
A/D converters (up to 16 x 10-bit channels)
PWM converters (up to 14 x 10-bit channels)
Standard serial bus up to 6Mb/s (RS232-RS485)
Two-wire industrial bus (CAN bus, up to 2Mb/s)
Hardware timers (real-time program threads)
PIC pin counts range from 8 to 80 pins.
PIC programming
Simple to program – available C compilers
Some not reprogrammable, but many have
either flash or UV-erasable program memory
Limited program/data memory but seems to
match typical PIC applications well.
Arithmetic performance weak, most don’t have
hardware multiply – but new generation of
PIC/DSPs have much more arithmetic power.
PIC advantages
Very wide range of applications, low cost (~$10)
Often a one-chip solution (plus timing crystal).
Increasingly sophisticated network support
(integrated CAN bus).
Programming is quite easy (C compilers or
assembly code).
PIC disadvantages
Limited memory for program or data.
Slow arithmetic.
High-level network support missing (e.g.
ethernet or USB).
SOC “Systems on a Chip”
More powerful processor + ethernet controller,
e.g. Gridconnect GC-LX-001 ($25)
Communicate with other chips using SPI (Serial
Peripheral Interface): a short-range serial
protocol with a speed of 10 Mb/s.
Can be used with a PIC chip for other I/O.
Is it really a “system-on-a-chip”? (board costs
$300, chip has 180 pins!!). Complex supporting
hardware.
SBC: Single-Board Computers
Applications that are too large for one or more
chips fall in the single-board computer realm
(note: a multi-PIC solution will often be cheaper
than an SBC).
There are many options here. CPUs range from
simple 8-bit (68HC11) to Pentium IV PCs.
Cheapest option (?) the Dallas TINI board –
ethernet, Java, 1-wire, CAN-bus, ~ $100
SBCs
If you need an SBC beyond TINI you probably
already know why .
Too many choices to summarize here, but be
sure to consider using a PDA:
Price/performance very good compared to OEM
SBCs
You get a screen, pointer and some interface buttons
“Performance primitives” for Intel chipset hardware,
useful for cryptography, signal and image processing.
Networking
Simplest way to communicate with a small CPU:
serial port or “RS232”.
One transmit wire, one receive wire, plus ground
– 3 wires only are sufficient.
Flow control wires in both directions (4 total),
need these if software expects them.
Traditional RS232 works up to 115kb/s
Serial Networking
Slight tweaks on RS232: RS422 and RS485.
RS422 is a faster version of RS232: individual
signal wires are replaced by twisted pairs, which
can be driven faster (10Mb/s, up to 40 ft).
RS485 is a multi-drop version of RS422: in “half
duplex” mode, many nodes can send and
receive on the same twisted pair (10 Mb/s).
RS485 is a true “network” and a good choice for
networks of simple devices.
Control Networking
For industrial control, several bus standards
exist, including CAN (Controller Area Network)
and LIN (Local Interconnect Network).
CAN has a full “protocol stack” like TCP/IP, for
packet communication, routing, and error
recovery. Hardware built into some PICs.
It is a true multi-drop 2-wire standard, like
RS485, no hubs are needed.
CAN is designed to be reliable in very noisy
environments (automobiles and industry), but is
rather slow (1 Mb/s) and code is complex.
USB
USB or Universal Serial Bus is a popular option
for external device communication. USB 2.0 is
very fast (480 Mb/s), USB 1.1 is 12 Mb/s.
It’s a 4-wire system, which is really point-topoint. A “network” is built using hubs.
Tricky to use for small networks, because of
topology constraints (limited depth -> limited
nodes in a chain), and the need for many hubs.
Ethernet
Like USB, really a point-to-point topology, so
hubs needed to build networks.
Ethernet driver chips relatively complex and
expensive and the protocol (TCP/IP) is complex.
Still the best way to put a device “on the
network” without a supporting computer.
Irda
Infrared protocol based on serial
communication. Many serial modules (e.g. the
ones in PICs) support Irda.
2 Mb/s common.
Very limited range, high power required.
Bluetooth
Very popular wireless standard.
Class 2 Bluetooth (20m range)
available via compact (1” x ½”)
modules for $60-70.
Communication via fast serial
or USB. 768 kb/s typical.
Some support for analog data,
including speech.
See http://www.btdesigner.com/
Summary
PC board design and layout issues.
Processor classes: 1-wire, single-chip microcontrollers, systems-on-a-chip, single-board
computers, and PDAs.
Networks: RS232 and its variants, CAN-bus,
USB, ethernet, Irda, Bluetooth.