HDMI and the BeagleBone Black Multimedia Environment

Lead Image © ittichai anusarn, 123RF.com

Beagle Music

You'll need a little troubleshooting and some basic knowledge of HDMI if you plan to use your BeagleBone Black for multimedia applications.

The BeagleBone Black is a powerful, low-cost, and flexible platform suitable for a wide range of applications, but users who wish to set up the BeagleBone Black as a PC-style multimedia system – or even just configure ordinary audio and video – often experience difficulties. Understanding these problems and how to fix them requires a deep look at how BeagleBone uses the High-Definition Multi Media Interface (HDMI) standard. This article takes a look at the evolution of HDMI support in BeagleBone and how to configure the BeagleBone Black for audio output and set up the correct video resolution.

A Little History

The original BeagleBone board has no on-board hardware to convert digital multimedia signals into an analog form. The board has no connectors to physically connect a video display or a set of audio speakers. BeagleBone users who needed audio and video output capabilities turned to audio/video expansion "cape" boards attached to the P8/P9 connectors of the BeagleBone. (See the box titled "What Is a Cape?")

An add-on cape board can provide the hardware necessary to perform the digital-to-analog conversion of multimedia signals and the physical connectors for displays and speakers to interface with the system. This approach is effective, but it adds the expense of the multimedia cape board to the overall cost of the BeagleBone. Attaching an add-on cape board also reduces the number of applications that the BeagleBone is suitable for, because it uses pins on the P8/P9 connectors that would otherwise be available for other purposes.

The later BeagleBone Black board solves this problem by providing a built-in HDMI (High-Definition Multimedia Interface) cape for the output of audio and video. As long as the multimedia signals of the processor are properly muxed, this HDMI cape will drive a digital display that is plugged directly into the BeagleBone Black's microHDMI connector without requiring any additional hardware. Figure 1 shows the locations of the microHDMI connector and HDMI framer chip that form the HDMI cape of the BeagleBone Black.

Figure 1: The locations of the hardware components that implement HDMI on the BeagleBone Black board. Source: BeagleBone Black System Reference Manual [1].

Understanding HDMI

Older display methods, such as NTSC, PAL, and VGA, use analog signals to transmit data to televisions and monitors. HDMI uses a digital signal to transmit packets of data that contain discrete blocks of audio and/or video information. Transmitting these digital packets takes less bandwidth than the transmission of an analog signal containing equivalent information. HDMI therefore supports very large display resolutions (a maximum resolution of 4096x2160 at 24 bits per pixel color depth) and high-quality audio data (up to eight channels of 24-bit data sampled at 192 KHz).

The HDMI specification [2] describes how HDMI devices that generate multimedia signals package and transmit streams of audio and video information. Version 1.0 of the specification was created in 2002, and it describes the relationship between HDMI sources (like the BeagleBone Black) and sinks (digital displays like televisions and computer monitors). As technology has progressed over the past decade, numerous revisions and additions to the HDMI specification have incorporated larger video resolutions and support for new features like 3D video.

These changes have led to the most recent release of the standard (version 2.0) in September 2013. The HDMI hardware on the BeagleBone Black uses version 1.4a of the specification.

HDMI sources contain an HDMI transmitter that collects the data, packages the data as described in the HDMI specification, and transmits the packaged data to a receiving display device. Display devices contain an HDMI receiver that unpackages this data and prepares it for presentation. For the BeagleBone Black's HDMI, this transmitter is an NXP TDA19988 HDMI framer chip. Per the HDMI protocol, four logical data channels run between the HDMI transmitter and receiver: video, audio, auxiliary, and clock. The audio and auxiliary channels are not always used, but the video and clock channels are.

Another communication channel, the Consumer Electronics Control (CEC) line, exists for passing remote control commands from the HDMI source to the digital display. Figure 2 shows the logical flow of communication for these various information channels between a digital display and the BeagleBone Black.

Figure 2: Logical communication channels between the HDMI transmitter (the HDMI framer chip on the BeagleBone Black) and the HDMI receiver (a digital display). Drivers in the Linux kernel feed video and audio data to the HDMI transmitter via the LCD and McASP signals of the AM3359 processor. Control signals for the framer chip are sent via an I2C communications bus.

DVI (Digital Visual Interface) is another common standard that is used for communicating video data to digital displays, and it is gradually replacing VGA as display resolutions and features outgrow the capabilities of VGA's analog video signals. The video portion of an HDMI signal (the data transmitted over the video data channel) is electrically compatible with DVI, which means an HDMI output can drive a DVI display by using an HDMI-to-DVI adapter or a DVI display with an HDMI cable.

DVI and HDMI displays contain "extended display identification data" (EDID), which is stored on a ROM within the display hardware. EDID is a block of data that describes what resolutions and refresh rates the display supports. These displays support a feature called "EDID reporting," which is the transmission of a digital display's EDID block to the DVI/HDMI source driving it when the display is connected. Once the source receives the EDID block, it understands the capabilities and limitations of the display that it is talking to and knows which video resolutions are valid for it to use. A "Display Data Channel" exists in the HDMI protocol to handle this EDID reporting, which is shown in Figure 2.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Capemgr keeps track of the BeagleBone Black's expansion boards, known as capes

    The BeagleBone Black offers many interfacing options, but how can you control which ones are used and how they are configured? We take a detailed look at the Black's Capemgr subsystem and the device tree data structure it manages.

  • New Products

    What's new in the SBC, IoT, and maker realm.

  • Snapshot

    The remarkable Raspberry Pi has spawned a myriad of supporting projects – Android apps, program libraries, specialized Linux distributions, and an assortment of hardware accessories. The rapid changes within these projects is testament to the excitement and enthusiasm that developers around the world have given to the Raspberry Pi.

  • The Pi Wire

    News on Eben Upton’s CBE, a Rasp Pi IoT contest, the BeagleBone Green Wireless, and more!

  • The Pi Wire