In this Hardware Assessment, we'll check out a LightCrafter cape from TI, designed to work with the BeagleBone Black. We'll look at its features and what technologies are used to achieve them. For the LightCrafter, we'll look at optics, data communication, and oscilloscope readings for testing.

The Texas Instruments DLPDLCR2000EVM is a demonstration cape designed to plug into a BeagleBone Black (which I'll refer to as the "BBB" throughout this article) and provide instant-on projection capabilities using a digital micromirror device and a relatively high-power RGB LED. DLP stands for digital light processing and is a technology pioneered by Dr. Larry Hornbeck at TI in the late 1980s.

LightCrafter Cape from TI.

TI touts the LightCrafter as a possible solution for projection displays in applications in medical, scientific, and industrial applications. More specific applications might be on-surface projectable interfaces, heads-up displays, digital signage, and various consumer devices with portable projector functionality.

Another proposed use of LightCrafter technology is projection for wearable devices.

This 640x360 pixel projector display is the least expensive and lowest resolution evaluation module in TI’s LightCrafter lineup.

This screen capture from July 2018 shows the various EVMs available in TI’s LightCrafter lineup. Check the TI website for updated info.

The DLPDLCR2000EVM costs less than the other boards because it uses the BeagleBone Black as a host processor. Texas Instruments likely chose this board because it is based on the TI Sitara processor.

How Does it Work?

These displays work by reflecting light from a strobing red/green/blue (RGB) LED off of an array of microscopic mirrors. The mirrors reflect the light through a series of focusing optics to either a distant reflecting surface (on state) or into a light-sink (off state). In this device, the mirrors are arranged in an orthogonal pattern and pivot 12° along their diagonal.

Randomly rotated mirrors are shown with constant illumination (for clarity).

Randomly rotated mirrors are shown with the strobing RGB LED on the right.

Red, green, and blue LEDs sequentially illuminate the surface, and if the mirror is rotated when a specific color of light shines on it, it will reflect that light through the optical path to a distant screen. This method requires one mirror per pixel, and three colors per frame—one each for the red, green, and blue portions of the image. Pixel color intensity is adjusted by precisely controlling the time spent in the on or off state. Color mixing is done inside the human eye.

This array demonstrates how larger images and shapes can be formed by larger mirror arrays. The actual speed of the mirror rotation exceeds the limits of human perception.

One second of video is composed of multiple “frames” or still images. Each frame requires three different mirror-array sub-divided frames—one each for the red, green, and blue parts of the image.

As arrays increase in size, the amount of data quickly rises. A minimum data rate of approximately 40 MB/s is needed for this small display.

$$640\;\text{[pixels]}\cdot360\;\text{[pixels]}\cdot\frac{3\;\text{[colors]}}{1\;[frame]}\cdot\frac{8\;\text{[bits]}}{1\; \text{[color]}} \cdot \frac{60\;\text{[frames]}}{1\;\text{[s]}}\approx 40\frac{\text{[MBytes]}}{\text{[s]}}$$

This is just an approximation with certain assumptions (for example 24 bit data at 60 Hz), but it should demonstrate that most serial protocols are not up to the challenge of delivering this kind of data, especially as displays increase in size.

Data Communication: So how did the engineers decide to move all of this data?

Let’s start with the BBB and move towards the micromirror device. P9.19 and P9.20 provide SCL and SDA data connection to the device via I2C—this allows the LightCrafter’s settings (off, on, invert, flip, brightness, etc.) to be configured. Configuration commands are sent on an as-needed basis.

The video signal source is the BBB, and more specifically, the Sitara AM335x processor. The datasheet for the Sitara processor indicates that the device can output 8 bits per pixel at up to 2048 x 2048 pixel resolution—far greater resolution than the projector is capable of displaying. The display data is shifted out, one pixel at a time, in parallel via 24 GPIO lines (P8.11-P8.17, P8.19, and P8.31-P8.46). Each pixel is described by 8 bits of red data, 8 bits of green data, and 8 bits of blue data.

BBB pinout from the datasheet. The headers P1 and P2 correspond to BBB headers P8 and P9, respectively.

So to send a video frame over this interface, the VSync (P8.27) and HSync (P8.29) signals transition and, after a very brief delay, 24 bits (i.e., one pixel of data) begin to simultaneously stream out along the 24 parallel data lines. This continues until the end of the first row of the image is reached. Then the Hsync signal transitions again and another row of information is sent.

This process repeats for each row until the bottom of the display is reached, at which point the VSync signal is sent and the next frame is transferred. For a more thorough discussion, see the Sitara datasheet (page 202).

Shown above is the horizontal sync (Channel 1, yellow) and the end of the data stream for a row of pixels (Channel 2, cyan)

The data leaves the BBB and travels to the LightCrafter cape, where it encounters the DLPC2607, a low-power digital micromirror device (DMD) display controller.

DLPC2607 block diagram (modified from datasheet)

The DLPC2607 is capable of interpreting several popular parallel data formats: YCrCb666,YCrCb888, RGB565, RGB666, and in this case, RGB888 (where the numbers indicate bits per pixel and the letters indicate the color space).

The DLPC2607 can manipulate pixel data so as to invert, rotate, change resolution, change refresh rate, etc. Data is shuffled back and forth to an external memory IC.

From there, the DLPC2607 communicates directly with the DLPA1000 and the DLP2000 digital micromirror device (DMD). The DLPC2607 converts the original image information into mirror-state and duty-cycle information that it sends to the DMD, while communicating strobe sequence information to the DLPA1000 (for the RGB LED).

I saw a great deal of ringing on the signal lines while testing the device and I wanted to know more—so I decided to pull out my trusty Textronix MDO3104 to investigate.

Testing the Device

On header 8, pins 27 and 29 correspond to the vertical and horizontal synchronization signals—regularly timed signals that should be quite easy to capture. I started my investigation there.

The trouble with these two signals is that they have very different periods. The vertical sync signal occurs after the horizontal sync signal has occurred hundreds of times (one per pixel row + extras for the back and front porch). Additionally, the logic-low time of the horizontal sync signal is several orders of magnitude shorter than the logic-low time of the vertical sync. So, unfortunately, I cannot show them both on the same screen.

If you look closely at the images that follow, you’ll see some overshoot and ringing on the VSync signal—1 V maximum peak-to-peak amplitude on a 3.3V signal; this indicates a signal line that is underdamped. If you look even more closely, you’ll see artifacts on the VSync signal that correspond to the HSync pulses.

Shown below are the horizontal (cyan, Channel 2) and vertical (yellow, Channel 1) synchronization pulses from the BBB to the LightCrafter. Notice the artifacts during logic high and the odd shape of the vertical sync pulses—that rounding is actually ringing that is visible in the next two images.

In the next image (below) are the horizontal (cyan, Channel 2) and vertical (yellow, Channel 1) synchronization pulses from the BBB. This image shows ringing following the logic-low and logic-high transitions of the horizontal sync pulse.

Finally, below is the rising edge of the vertical sync signal. Substantial ringing is visible following the logic-low to logic-high transition. Additionally, noise artifacts corresponding to the horizontal sync are visible during logic-low and logic-high states.

Now obviously the circuit works just fine, but this amount of noise and ringing seems a bit excessive. I was unable to find any details on the VSync pin in the LCD controller datasheet, but the BBB is based on the Sitara AM335x. The datasheet for the Sitara MCU (page 34) indicates that the sync signals have a buffer strength of 6 mA—and that is the only information I found about the sync lines for either the Sitara processor or the DLPC2607. There are several documents that describe the function of these devices. If you saw something I might have missed, please let me know in the comments below.

The ringing is significant enough that artifacts are visible on the main power input for the board, before the regulators, as shown below.





Vertical synchronization pulse (Channel 1, yellow) alongside the main power input (Channel 2, cyan). The transition causes a minor disturbance in the power line.

Device Reset Threshold

So what’s going on here? Since the BBB is designed as a multi-purpose device and P9.27 is not dedicated exclusively to VSync, the BBB engineers have no idea what sort of device will be connected to the BBB. Maybe the LightCrafter engineers noticed the problem but decided that it was not serious enough to justify respinning the board.

But that power-input-line ringing gave me an idea: What amount of power-line ringing could reliably cause the device to reset? So I purposely disturbed the 5VDC input. The results were instantaneous—and repeatable. A disturbance with amplitude slightly higher than the ripple caused by the digital transitions causes the device to perform a power-on reset.

Power-line ripple (Channel 1, yellow) causes the EVM to reset

The next question is, why would a supply ripple of such high frequency and relatively low amplitude be able to affect the device at all? And is there a simple way to protect against this problem?

The input voltage is near 5 V, and the power regulation on the board consists of two TPS62260 step-down converters configured for 1.8 V and 1.0 V, as well as a single TPS71501 low dropout (LDO) linear regulator configured for 2.5 V. Additionally, the board has the DLPA1000 ASIC to control the RGB LEDs. I cannot imagine the LDO being involved, but it is conceivable that one of the step-down converters or the ASIC is perturbed enough by the ripple to cause an undervoltage condition.

Unfortunately, I cannot perform any in-circuit tests on these components due to their size and location on the circuit board—so perhaps a reader or the fine folks at TI can give me a better understanding of what is happening.

Conclusion

The DLPDLCR2000EVM is an inexpensive way to learn more about digital micromirror displays and their associated control circuitry. Since this is an evaluation board, I would like to see a generous assortment of test points that allow me to probe and better understand the signals on the board.