This is a book about designing computer hardware and specifically about designing small machines for embedded applications.
Part I: Background
Chapter 1. Introduction to Computer Architecture
Section 1.1. Concepts
Section 1.2. Memory
Section 1.3. Input/Output
Section 1.4. DMA
Section 1.5. Embedded Computer Architecture
Chapter 2. Electronics 101
Section 2.1. Voltage and Current
Section 2.2. Analog Signals
Section 2.3. Power
Section 2.4. Resistors
Section 2.5. Capacitors
Section 2.6. RC Circuits
Section 2.7. Inductors
Section 2.8. Transformers
Section 2.9. Diodes
Section 2.10. Crystals
Section 2.11. Digital Signals
Section 2.12. Understanding Schematics
Section 2.13. Read the Datasheet
Chapter 3. Power Sources
Section 3.1. Juice from the Wall
Section 3.2. Batteries
Section 3.3. Regulators
Chapter 4. Building It
Section 4.1. Avoid Noise
Section 4.2. Quick-and-Dirty Construction
Section 4.3. Printed-Circuit Boards
Section 4.4. Routing a Design
Section 4.5. Tools for Debugging
Section 4.6. Putting It All Together
Section 4.7. Powering Up
Section 4.8. Add in the Processor
Section 4.9. Some Thoughts on Debugging
Part II: Embedded Processors and Systems
Chapter 5. The PIC Microcontrollers
Section 5.1. A Tale of Two Processors
Section 5.2. Starting Simple
Section 5.3. A Bigger PIC
Chapter 6. The AVR Microcontrollers
Section 6.1. The AVR Architecture
Section 6.2. The ATtiny15 Processor
Section 6.3. Downloading Code
Section 6.4. A Bigger AVR
Section 6.5. Bus Interfacing
Chapter 7. 68000-Series Computers
Section 7.1. The 68000 Architecture
Section 7.2. A Simple 68000-Based Computer
Chapter 8. DSP-Based Controllers
Section 8.1. The DSP56800
Section 8.2. A DSP56805-Based Computer
Section 8.3. JTAG
Part III: Peripherals and Interfacing
Chapter 9. Adding Peripherals Using SPI and I 2 C
Section 9.1. Serial Peripheral Interface
Section 9.2. Inter Integrated Circuit
Section 9.3. Adding a Real-Time Clock with I 2 C
Section 9.4. Adding a Small Display with I 2 C
Chapter 10. Serial Ports
Section 10.1. UARTs
Section 10.2. Error Detection
Section 10.3. Old Faithful—RS-232C
Section 10.4. RS-422
Section 10.5. Infrared Communication
Section 10.6. USB
Chapter 11. Networks
Section 11.1. RS-485
Section 11.2. Controller Area Network (CAN)
Section 11.3. Ethernet
Chapter 12. Analog
Section 12.1. Amplifiers
Section 12.2. Analog-to-Digital Conversion
Section 12.3. Interfacing an External ADC
Section 12.4. Temperature Sensor
Section 12.5. Light Sensor
Section 12.6. Accelerometer
Section 12.7. Pressure Sensors
Section 12.8. Magnetic Field Sensor
Section 12.9. Digital-to-Analog Conversion
Section 12.10. PWM
Section 12.11. Motor Control
Section 12.12. Switching Big Loads
Chapter 13. References
This book is divided into three parts.
Part I covers fundamental concepts and introductory material.
Part II looks at embedded processors and the design process for integrating them into systems.
Part III looks at peripherals and adding functionality to your embedded systems.
Chapter 1 presents an overview of computer architectures and discusses the basics of an embedded system.
Chapter 2 provides some background electronics theory and introduces some important concepts. If you're already electronics-savvy, then you can skip on to Chapter 3, which covers providing power for your embedded system.
In Chapter 4, you'll see how to physically produce and debug an embedded computer system. We'll also look at how to protect your embedded computer against electrical interference and other gremlins that can cause it grief.
Chapter 5 begins Part II of the book, where you'll encounter the first of the embedded processor architectures, the Microchip PIC. The PICs are tiny, self-contained computers that make building embedded systems easy and fun.
Chapter 6 discusses the ATMEL AVR, another embedded processor ideally suited to small-scale, simple applications. You'll also learn how to add additional memory and peripherals to bus-based processors and discover the basics of memory management.
With Chapter 7, we take a look at the Motorola 68000 series of processors. These chips have been around for quite some time and are still widely used. They are also a good starting point if you want to get into more complicated processors once you have more embedded experience.
Chapter 8 examines processors based on Digital Signal Processing (DSP) architectures. These processors are adept at mathematically intensive and complex algorithms and are especially suited to control and sampling applications (such as the processing of digital signals).
In Part III of the book, you'll learn how to add function to your embedded computers by using peripherals.
Chapter 9 covers SPI and I2C, two protocols that allow a wide range of small peripherals to be added to microcontrollers.
Chapter 10 covers serial interfaces. These give your embedded system access to host computers and to external peripherals such as modems. We'll also take a look at RS-232C, RS-422, infrared communication, and USB.
Networks are covered in Chapter 11, where you'll see how to add two low-cost industrial networks (RS-485 and CAN) to your embedded computer. Also in Chapter 11, you'll learn how to add an Ethernet port to your embedded system, by which you can connect to other computers, servers, and gateways and, through them, to the Internet.
Finally, Chapter 12 looks at real-world interfacing. You'll learn how to convert a nalog signals into digital values for processing and, conversely, how to convert digital values back into analog voltages. You'll learn how to measure temperature, light, pressure, acceleration, and magnetic fields in your embedded system using sensors, as well as how to use an embedded computer to control small electric motors.