|
Part
1ýDefining the Project
by Bob
Perrin
Start
The Problem ý The
Solution ý Mechanical Interface ý Man
Machine Interface ý Electrical Interface
ý API ý In Closing
ý Sources and PDF
ELECTRICAL INTERFACE
Trying to guess what I/O mix a user will
need is tough. Coming up with a single controller that will be "everything
to everyone" is impossible. A controller system that is "most
things to instrumentation developers" is a lofty but achievable
goal.
There are a finite number of sensor and
actuator interfaces. Most I/O interfaces are just variations of a
few basic themes. The real magic lies in the firmware that controls
the physical I/O.
It is possible to build a controller
that has configurable expansion ports for I/O. This will allow the
developer to tailor the system to his application. If we are careful
in the I/O module design, the tailoring will be seamless.
The idea of an expandable controller
is nothing new. STD-32, S-100, PC104, VME, and PCI are just a few
examples of expansion buses, but are obviously overkill for a simple
hand-held controller. We will have to come up with a bus that is more
suitable for a small system. Perhaps SPI, I2C, Microwire,
or some other similar interface will be useful.
How do we squeeze an expansion bus into
a hand-held controller? We could use 0.5-mm, 1- mm, or 0.050ý
connectors. These connectors cost around $5 for a 2 ý 10 header and
mate, so if the controller has just eight expansion ports, we would
have $40 in connectors. This seems a bit extravagant.
Fortunately, there are other less expensive
approaches. One that I have toyed with is building expansion modules
that have a ball grid array (BGA) pattern on the bottom of small PCBs.
In assembly, the expansion models could be placed on the main controller
and reflowed with the rest of the controller.
Two problems exist with this approach.
Inspection of BGAs is impossible, short of an x-ray machine. This
can be managed if the assembly process is well controlled and QA electrical
testing is adequate.
The second problem is physical space.
If we use a BGA pattern to mount the expansion module to the main
controller board, we lose half of our PCB area because no components
can go on the bottom of the expansion module.
BGA patterns may be a good method for
mounting expansion modules in more specialized systems, but I wonýt
use this scheme in this project. I present it only as food for thought.
To allow application developers to tailor
the feature set of the controller while maintaining a physically small
board, we will provide a menu of options for the developer, who can
select the exact I/O mix for the application. During prototyping,
he can use a generic, but expensive controller, which allows expansion
modules to be installed using 1.0-mm connectors. For production products,
we simply integrate the items the developer selected on a custom PCB.
The custom PCB can be laid out quickly,
if the expansion I/O is selected from a standard library of prelaid-out
modules. If the developer orders PCBs a hundred at a time (a reasonable
quantity for a niche-market instrumentation company), the cost of
the custom PCB will be less than $15.
Assembly of SMT boards is highly automated,
and there are a wide variety of assembly houses to pick from. It may
seem counterintuitive to spin a custom PCB for each customer and call
it a "standard controller," so letýs explore this a little
further.
Many embedded-controller companies already
tweak certain features for customers. For example, embedded-controller
companies routinely install different resistor values in their products
to configure analog channels. The PCB is just another board-level
component.
PREVIOUS
NEXT
Circuit Cellar provides up-to-date information
for engineers. Visit www.circuitcellar.com
for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe
online. ýCircuit Cellar, the Magazine for Computer Applications.
Posted with permission.
|