LIMITED OFFER
Save 50% on book bundles
Immediately download your ebook while waiting for your print delivery. No promo code needed.
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
LIMITED OFFER
Immediately download your ebook while waiting for your print delivery. No promo code needed.
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.
Embedded systems engineers, undergraduates and graduates developing embedded applications
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
TW
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.
RT
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.