CHAPTER 10Real-Time Interfacing Using External Slave Processors

In this chapter, you are introduced to real-time interfacing with the Beagle board. Linux has difficulty performing certain real-time interfacing tasks, such as generating or sampling bit patterns on GPIOs at high speeds. The chapter describes how you can expand the number of available GPIOs and UART devices on the Beagle board. This chapter investigates the use of dedicated real-time external slave processors and associated communication frameworks. There are many suitable slave processors available, but this chapter is focused on just one platform—the Arduino. This chapter describes how a Beagle board can interface effectively to the Arduino using UART serial and I2C communication. Examples are provided of the Arduino in use as an input/output extender and as a dedicated high-speed slave processor.

EQUIPMENT REQUIRED FOR THIS CHAPTER:

  • Any Beagle board
  • GPIO expander ICs (MCP23017, MCP23S17)
  • USB UART device (e.g., CP2102 or CH340G compatible)
  • An Arduino Uno or equivalent (with a logic-level translator) and/or an Arduino Pro Mini with 3.3 V or 5 V logic levels
  • Sensors: TMP36 analog temperature sensor and a HC-SR04 distance sensor

Further resources for this chapter are available at www.exploringbeaglebone.com/chapter10/.

Real-Time Beagle Board

The advantages of integrating the Linux OS with an embedded system are described throughout this book. The quantity and quality of device drivers, software packages, programming ...

Get Exploring BeagleBone, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.