Embedded computer systems are electronic systems that include a microcomputer to perform
specific dedicated tasks. The computer is hidden inside these products. Embedded
systems are ubiquitous. Every week millions of tiny computer chips come pouring out
of factories like Freescale, Microchip, Philips, Texas Instruments, Silicon Labs, and
Mitsubishi finding their way into our everyday products. Our global economy, our production
of food, our transportation systems, our military defense, our communication systems,
and even our quality of life depend on the efficiency and effectiveness of these embedded
systems. Engineers play a major role in all phases of this effort: planning, design, analysis,
manufacturing, and marketing. This book provides an introduction to embedded systems,
including both hardware interfacing and software fundamentals.
This book employs a bottom-up educational approach. The overall educational objective
is to allow students to discover how the computer interacts with its environment. It
will provide hands-on experiences of how an embedded system could be used to solve
Electrical Engineering (EE) problems. The focus will be on understanding and analysis,
with an introduction to design. The optical sensors, motors, sampling ADCs and DACs are
the chosen mechanism to bridge the Computer Engineering (CE) and EE worlds. EE concepts
include Ohms Law, LED voltage/current, resistance measurement, and stepper
motor control. CE concepts include I/O device drivers, debugging, stacks, queues, local
variables and interrupts. This book is based on the Freescale 9S12. This book can be used
effectively with any of the 9S12 derivatives, such as 9S12C32, 9S12DG256, 9S12DP512,
and 9S12E128. The hardware construction is performed on a breadboard and debugged
using a multimeter (students learn to measure voltage and resistance). Software is developed
in 9S12 assembly; labs may be simulated-only or first simulated and then run on the
real 9S12 system. Software debugging occurs during the simulation stage. Device testing
occurs on the final product.
One way to sort the broad range of topics within EE and CE is to group them into three
categories: components, interfaces, and systems. Electrical and Computer Engineering curriculi
devote considerable effort to teaching how to design the components within a system.
Components include physical devices, analog circuits, digital circuits, power circuits, digital
signal processing, data structures, and software algorithms. Interfacing in general and
this book, in specific, address the important task of connecting these components together.
So, one effective way to educate engineering students is to first teach them how to build
components, then teach them how to connect components together (this book). After the
student learns how to build things and connect them together, then the student can be taught
how to build systems. Of course, once a system is complete, it can be interfaced with other
systems to solve more complex problems.