Hardware Reference
In-Depth Information
8.0 Introduction
Sometimes, when BeagleBone Black interacts with the physical world, it needs to respond
in a timely manner. For example, your robot has just detected that one of the driving motors
needs to turn a bit faster. Systems that can respond quickly to a real event are known as
real-time systems. There are two broad categories of real-time systems: soft and hard.
In a soft real-time system, the real-time requirements should be met most of the time,
where most depends on the system. A video playback system is a good example. The goal
might be to display 60 frames per second, but it doesn't matter much if you miss a frame
now and then. In a 100 percent hard real-time system, you can never fail to respond in
time. Think of an airbag deployment system on a car. You can't even be 50 ms late.
Systems running Linux generally can't do 100 percent hard real-time processing, because
Linux gets in the way. However, the Bone has an ARM processor running Linux and two
additional 32-bit programmable real-time units (PRUs [ http://bit.ly/1EzTPZv ]) available to
do real-time processing. Although the PRUs can achieve 100 percent hard real-time, they
take some effort to use.
This chapter shows several ways to do real-time input/output (I/O), starting with the effort-
less, yet slower BoneScript and moving up with increasing speed (and effort) to using the
PRUs.
NOTE
In this chapter, as in the others, we assume that you are logged in as root (as indicated by the
bone# prompt). This gives you quick access to the general-purpose input/output (GPIO) ports
without having to use sudo each time.
Search WWH ::




Custom Search