Skip to main content

Fast and Effective Embedded Systems Design

Applying the ARM mbed

Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed and its web-based development environme… Read more

Early spring sale

Nurture your knowledge

Grow your expertise with up to 25% off trusted resources.

Description

Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded system design, applying the innovative ARM mbed and its web-based development environment. Each chapter introduces a major topic in embedded systems, and proceeds as a series of practical experiments, adopting a "learning through doing" strategy. Minimal background knowledge is needed. C/C++ programming is applied, with a step-by-step approach which allows the novice to get coding quickly. Once the basics are covered, the book progresses to some "hot" embedded issues – intelligent instrumentation, networked systems, closed loop control, and digital signal processing.

Written by two experts in the field, this book reflects on the experimental results, develops and matches theory to practice, evaluates the strengths and weaknesses of the technology or technique introduced, and considers applications and the wider context. Numerous exercises and end of chapter questions are included.

Key features

  • A hands-on introduction to the field of embedded systems, with a focus on fast prototyping
  • Key embedded system concepts covered through simple and effective experimentation
  • Amazing breadth of coverage, from simple digital i/o, to advanced networking and control
  • Applies the most accessible tools available in the embedded world
  • Supported by mbed and book web sites, containing FAQs and all code examples
  • Deep insights into ARM technology, and aspects of microcontroller architecture
  • Instructor support available, including power point slides, and solutions to questions and exercises

Readership

Embedded systems engineers, undergraduates and graduates developing embedded applications

Table of contents

Please visit the Companion

Introduction

Acknowledgments

PART I: Essentials of Embedded Systems, using the mbed

Chapter 1. Embedded Systems, Microcontrollers and ARM

1.1 Introducing Embedded Systems

1.2 Microprocessors and Microcontrollers

1.3 Development Processes in Embedded Systems

1.4 The World of ARM

Chapter Review

Quiz

REFERENCES

Chapter 2. Introducing the mbed

2.1 Introducing the mbed

2.2 Getting Started with the mbed: A Tutorial

2.3 The Development Environment

Chapter Review

Quiz

REFERENCES

Chapter 3. Digital Input and Output

3.1 Starting to Program

3.2 Voltages as Logic Values

3.3 Digital Output on the mbed

3.4 Using Digital Inputs

3.5 Interfacing Simple Opto Devices

3.6 Switching Larger DC Loads

3.7 Mini-Project: Letter Counter

Chapter Review

Quiz

REFERENCES

Chapter 4. Analog Output

4.1 Introducing Data Conversion

4.2 Analog Outputs on the mbed

4.3 Another Form of Analog Output: Pulse Width Modulation

4.4 Pulse Width Modulation on the mbed

Chapter Review

Quiz

REFERENCE

Chapter 5. Analog Input

5.1 Analog-to-Digital Conversion

5.2 Combining Analog Input and Output

5.3 Processing Data from Analog Inputs

5.4 Some Simple Analog Sensors

5.5 Exploring Data Conversion Timing

5.6 Mini-Project: Two-Dimensional Light Tracking

Chapter Review

Quiz

REFERENCES

Chapter 6. Further Programming Techniques

6.1 The Benefits of Considered Program Design and Structure

6.2 Functions

6.3 Program Design

6.4 Working with Functions on the mbed

6.5 Using Multiple Files in C/C++

6.6 Modular Program Example

Chapter Review

Quiz

Chapter 7. Starting with Serial Communication

7.1 Introducing Synchronous Serial Communication

7.2 Serial Peripheral Interface

7.3 Intelligent Instrumentation and a SPI Accelerometer

7.4 Evaluating SPI

7.5 The Inter-Integrated Circuit Bus

7.6 Communicating with an I2C Temperature Sensor

7.7 Using the SRF08 Ultrasonic Range Finder

7.8 Evaluating I2C

7.9 Asynchronous Serial Data Communication

7.10 Mini-Project: Multi-Node I2C Bus

Chapter Review

Quiz

REFERENCES

Chapter 8. Liquid Crystal Displays

8.1 Display Technologies

8.2 Using the PC1602F LCD

8.3 Using the mbed TextLCD Library

8.4 Displaying Analog Input Data on the LCD

8.5 More Advanced LCDs

8.6 Mini-Project: Digital Spirit Level

Chapter Review

Quiz

REFERENCES

Chapter 9. Interrupts, Timers and Tasks

9.1 Time and Tasks in Embedded Systems

9.2 Responding to Event-Triggered Events

9.3 Simple Interrupts on the mbed

9.4 Getting Deeper into Interrupts

9.5 An Introduction to Timers

9.6 Using the mbed Timer

9.7 Using the mbed Timeout

9.8 Using the mbed Ticker

9.9 The Real Time Clock

9.10 Switch Debouncing

9.11 Mini-Projects

Chapter Review

Quiz

Chapter 10. Memory and Data Management

10.1 A Memory Review

10.2 Using Data Files with the mbed

10.3 Example mbed Data File Access

10.4 Using External Memory with the mbed

10.5 Introducing Pointers

10.6 Mini-Project: Accelerometer Data Logging on Exceeding Threshold

Chapter Review

Quiz

REFERENCES

PART II: Moving to Advanced and Specialist Applications

Chapter 11. An Introduction to Digital Signal Processing

11.1 What is a Digital Signal Processor?

11.2 Digital Filtering Example

11.3 An mbed DSP Example

11.4 Delay/Echo Effect

11.5 Working with Wave Audio Files

11.6 Summary on DSP

11.7 Mini-Project: Stereo Wave Player

Chapter Review

Quiz

REFERENCES

Chapter 12. Advanced Serial Communications

12.1 Introducing Advanced Serial Communication Protocols

12.2 Bluetooth Serial Communication

12.3 Introducing USB

12.4 Introducing Ethernet

12.5 Local Network and Internet Communications with the mbed

Chapter Review

Quiz

REFERENCES

Chapter 13. An Introduction to Control Systems

13.1 Control Systems

13.2 Closed Loop Digital Compass Example

13.3 Communicating Control Data over the Controller Area Network

Chapter Review

Quiz

REFERENCES

Chapter 14. Letting Go of the mbed Libraries

14.1 Introduction

14.2 Control Register Concepts

14.3 Digital Input/Output

14.4 Getting Deeper into the Control Registers

14.5 Using the DAC

14.6 Using the ADC

14.7 A Conclusion on using the Control Registers

Chapter Review

Quiz

REFERENCE

Chapter 15. Extension Projects

15.1 Where do We Go from Here?

15.2 Pololu Robot for mbed

15.3 Advanced Audio Projects

15.4 The Internet of Things

15.5 Introducing the mbed LPC11U24

15.6 From mbed to Manufacture

15.7 Closing Thoughts

REFERENCES

APPENDIX A: Some Number Systems

APPENDIX B: Some C Essentials

APPENDIX C: mbed Technical Data

APPENDIX D: Parts List

APPENDIX E: The Tera Term Terminal Emulator

Index

Review quotes

"The authors address a wide range of topics, including digital and analog input and output, interrupts, LCDs, and digital signal processing. The book provides deep insights into computer architecture, memory management, and input/output processes…Overall, this is a great book for computer hobbyists, embedded systems engineers, and students."—ComputingReviews.com, October 2013

"Toulson…and Wilmshurst…explain how to program circuits on ARM's mbed microprocessor-based hardware platform and provide instructions for building a digital-to-analog converter, serial data links, and a liquid crystal display."—Reference and Research Book News, February 2013

Product details

About the authors

TW

Tim Wilmshurst

Tim Wilmshurst has designed numerous embedded and electronic systems, including systems in climatic monitoring, earthquake research, wind tunnels, and autonomous vehicles. He is the author of several textbooks on embedded system design. In his teaching, Tim advocates “learning through doing” and problem-based learning. He has been Head of Electrical Engineering at Botswana Polytechnic, Senior Design Engineer at Cambridge University, and Head of Electronics at Derby University. He is now a freelance technical author and educator.

Affiliations and expertise
Freelance technical author and educator

RT

Rob Toulson

Rob Toulson is a Visiting Professor at the University of Westminster, as well as founder and director of RT Sixty, a company that develops innovative applications for the audiovisual and music industries. His expertise covers a broad range of fields, including mobile application development, digital signal processing, embedded systems, musical acoustics, music production, and interactive sound design.

Affiliations and expertise
Professor of Creative Industries at the University of Westminster, London, UK.

View book on ScienceDirect

Read Fast and Effective Embedded Systems Design on ScienceDirect