You are previewing Fast and Effective Embedded Systems Design.
O'Reilly logo
Fast and Effective Embedded Systems Design

Book Description

  • A hands-on introduction to the field of embedded systems;
  • A focus on fast prototyping of embedded systems;
  • All key embedded system concepts covered through simple and effective experimentation;
  • An understanding of ARM technology, one of the world’s leaders;
  • A practical introduction to embedded C;
  • Applies possibly the most accessible set of tools available in the embedded world.

 This book is an introduction to embedded systems design, using the ARM mbed and C programming language as development tools.

The mbed provides a compact, self-contained and low-cost hardware core, and the on-line compiler requires no download or installation, being accessible wherever an internet link exists. The book further combines these with a simple "breadboard" approach, whereby simple circuits are built up around the mbed, with no soldering or pcb assembly required.

The book adopts a "learning through doing" approach. Each chapter is based around a major topic in embedded systems. The chapter proceeds as a series of practical experiments; the reader sets up a simple hardware system, develops and downloads a simple program, and immediately observes and tests the outcomes. The book then reflects on the experimental results, evaluating the strengths and weaknesses of the technology or technique introduced, explores how precise the link is between theory and practice, and considers applications and the wider context.



      • The only book that explains how to use ARM’s mbed development toolkit to help the speedy and easy development of embedded systems.
      • Teaches embedded systems core principles in the context of developing quick applications, making embedded systems development an easy task for the non specialist who does not have a deep knowledge of electronics or software
      • All key concepts are covered through simple and effective experimentation

    Table of Contents

    1. Cover image
    2. Title page
    3. Table of Contents
    4. Please visit the Companion
    5. Copyright
    6. Introduction
    7. Acknowledgments
    8. PART I: Essentials of Embedded Systems, using the mbed
      1. Chapter 1. Embedded Systems, Microcontrollers and ARM
        1. 1.1 Introducing Embedded Systems
        2. 1.2 Microprocessors and Microcontrollers
        3. 1.3 Development Processes in Embedded Systems
        4. 1.4 The World of ARM
        5. Chapter Review
        6. Quiz
        7. REFERENCES
      2. Chapter 2. Introducing the mbed
        1. 2.1 Introducing the mbed
        2. 2.2 Getting Started with the mbed: A Tutorial
        3. 2.3 The Development Environment
        4. Chapter Review
        5. Quiz
        6. REFERENCES
      3. Chapter 3. Digital Input and Output
        1. 3.1 Starting to Program
        2. 3.2 Voltages as Logic Values
        3. 3.3 Digital Output on the mbed
        4. 3.4 Using Digital Inputs
        5. 3.5 Interfacing Simple Opto Devices
        6. 3.6 Switching Larger DC Loads
        7. 3.7 Mini-Project: Letter Counter
        8. Chapter Review
        9. Quiz
        10. REFERENCES
      4. Chapter 4. Analog Output
        1. 4.1 Introducing Data Conversion
        2. 4.2 Analog Outputs on the mbed
        3. 4.3 Another Form of Analog Output: Pulse Width Modulation
        4. 4.4 Pulse Width Modulation on the mbed
        5. Chapter Review
        6. Quiz
        7. REFERENCE
      5. Chapter 5. Analog Input
        1. 5.1 Analog-to-Digital Conversion
        2. 5.2 Combining Analog Input and Output
        3. 5.3 Processing Data from Analog Inputs
        4. 5.4 Some Simple Analog Sensors
        5. 5.5 Exploring Data Conversion Timing
        6. 5.6 Mini-Project: Two-Dimensional Light Tracking
        7. Chapter Review
        8. Quiz
        9. REFERENCES
      6. Chapter 6. Further Programming Techniques
        1. 6.1 The Benefits of Considered Program Design and Structure
        2. 6.2 Functions
        3. 6.3 Program Design
        4. 6.4 Working with Functions on the mbed
        5. 6.5 Using Multiple Files in C/C++
        6. 6.6 Modular Program Example
        7. Chapter Review
        8. Quiz
      7. Chapter 7. Starting with Serial Communication
        1. 7.1 Introducing Synchronous Serial Communication
        2. 7.2 Serial Peripheral Interface
        3. 7.3 Intelligent Instrumentation and a SPI Accelerometer
        4. 7.4 Evaluating SPI
        5. 7.5 The Inter-Integrated Circuit Bus
        6. 7.6 Communicating with an I2C Temperature Sensor
        7. 7.7 Using the SRF08 Ultrasonic Range Finder
        8. 7.8 Evaluating I2C
        9. 7.9 Asynchronous Serial Data Communication
        10. 7.10 Mini-Project: Multi-Node I2C Bus
        11. Chapter Review
        12. Quiz
        13. REFERENCES
      8. Chapter 8. Liquid Crystal Displays
        1. 8.1 Display Technologies
        2. 8.2 Using the PC1602F LCD
        3. 8.3 Using the mbed TextLCD Library
        4. 8.4 Displaying Analog Input Data on the LCD
        5. 8.5 More Advanced LCDs
        6. 8.6 Mini-Project: Digital Spirit Level
        7. Chapter Review
        8. Quiz
        9. REFERENCES
      9. Chapter 9. Interrupts, Timers and Tasks
        1. 9.1 Time and Tasks in Embedded Systems
        2. 9.2 Responding to Event-Triggered Events
        3. 9.3 Simple Interrupts on the mbed
        4. 9.4 Getting Deeper into Interrupts
        5. 9.5 An Introduction to Timers
        6. 9.6 Using the mbed Timer
        7. 9.7 Using the mbed Timeout
        8. 9.8 Using the mbed Ticker
        9. 9.9 The Real Time Clock
        10. 9.10 Switch Debouncing
        11. 9.11 Mini-Projects
        12. Chapter Review
        13. Quiz
      10. Chapter 10. Memory and Data Management
        1. 10.1 A Memory Review
        2. 10.2 Using Data Files with the mbed
        3. 10.3 Example mbed Data File Access
        4. 10.4 Using External Memory with the mbed
        5. 10.5 Introducing Pointers
        6. 10.6 Mini-Project: Accelerometer Data Logging on Exceeding Threshold
        7. Chapter Review
        8. Quiz
        9. REFERENCES
    9. PART II: Moving to Advanced and Specialist Applications
      1. Chapter 11. An Introduction to Digital Signal Processing
        1. 11.1 What is a Digital Signal Processor?
        2. 11.2 Digital Filtering Example
        3. 11.3 An mbed DSP Example
        4. 11.4 Delay/Echo Effect
        5. 11.5 Working with Wave Audio Files
        6. 11.6 Summary on DSP
        7. 11.7 Mini-Project: Stereo Wave Player
        8. Chapter Review
        9. Quiz
        10. REFERENCES
      2. Chapter 12. Advanced Serial Communications
        1. 12.1 Introducing Advanced Serial Communication Protocols
        2. 12.2 Bluetooth Serial Communication
        3. 12.3 Introducing USB
        4. 12.4 Introducing Ethernet
        5. 12.5 Local Network and Internet Communications with the mbed
        6. Chapter Review
        7. Quiz
        8. REFERENCES
      3. Chapter 13. An Introduction to Control Systems
        1. 13.1 Control Systems
        2. 13.2 Closed Loop Digital Compass Example
        3. 13.3 Communicating Control Data over the Controller Area Network
        4. Chapter Review
        5. Quiz
        6. REFERENCES
      4. Chapter 14. Letting Go of the mbed Libraries
        1. 14.1 Introduction
        2. 14.2 Control Register Concepts
        3. 14.3 Digital Input/Output
        4. 14.4 Getting Deeper into the Control Registers
        5. 14.5 Using the DAC
        6. 14.6 Using the ADC
        7. 14.7 A Conclusion on using the Control Registers
        8. Chapter Review
        9. Quiz
        10. REFERENCE
      5. Chapter 15. Extension Projects
        1. 15.1 Where do We Go from Here?
        2. 15.2 Pololu Robot for mbed
        3. 15.3 Advanced Audio Projects
        4. 15.4 The Internet of Things
        5. 15.5 Introducing the mbed LPC11U24
        6. 15.6 From mbed to Manufacture
        7. 15.7 Closing Thoughts
        8. REFERENCES
    10. APPENDIX A: Some Number Systems
    11. APPENDIX B: Some C Essentials
    12. APPENDIX C: mbed Technical Data
    13. APPENDIX D: Parts List
    14. APPENDIX E: The Tera Term Terminal Emulator
    15. Index