CHAPTER 15Real-Time Interfacing with the PRU-ICSS
The Beagle board AM335x SoC contains two programmable real-time units (PRUs) that can be used for certain real-time operations, and these are the focus of this chapter. The chapter begins with input and output examples that help explain the operation of the PRUs and their encompassing industrial communication subsystem (PRU-ICSS). The real-time capabilities of the AM335x are demonstrated using two applications—the first generates custom waveforms on a GPIO, and the second uses a low-cost ultrasonic distance sensor that requires precise timing to communicate the distance to an obstacle.
EQUIPMENT REQUIRED FOR THIS CHAPTER:
- Any Beagle board
- LED, FET (e.g., BS270), push button, capacitors, and resistors
- Oscilloscope (optional but useful)
- HC-SR04 ultrasonic sensor and logic-level translator board
Further resources for this chapter are available at www.exploringbeaglebone.com/chapter15/
.
The PRU-ICSS
The Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) on the Beagle board's AM335x SoC contains two 32-bit 200 MHz RISC cores, called PRUs. These PRUs have their own local memory allocation, but they can also use the BeagleBone P8/P9 or PocketBeagle P1/P2 header pins and share memory with the Linux host device.
The PRU-ICSS is a valuable addition to a general embedded Linux platform, as it can provide support for interfacing applications that have hard real-time constraints. It is important to note that the ...
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.