This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

  • Resolved

[FAQ] Light Control EVMs (DLP3010EVM-LC and DLP2010EVM-LC)

We hope these FAQ pages will help you get started with the Light Control EVMs. We will continuously update this page with corrections and more information. For official specifications please see the respective controller and DMD datasheets. If you have further unanswered questions please don't hesitate to ask on the E2E forms! 

FAQ Table of Contents

What are the DLP3010EVM-LC and DLP2010EVM-LC products?

  • These products are new evaluation modules (EVMs) that enable both video projection and light control applications (structured light, 3D printing, etc.) using Texas Instrument’s DLP® technology. The DLP3010EVM-LC uses the 0.3” 720p DMD, DLPC3478 controller, and DLPA3000 PMIC/LED driver while the DLP2010EVM-LC uses the 0.2” WVGA DMD, DLPC3470 controller, and DLPA2005 PMIC/LED driver.  Structured light features include support for input and output triggers, 1-bit and 8-bit patterns, internal pattern mode, and more!

What is Internal Pattern Streaming Mode?

  • Internal pattern mode allows one to rapidly display patterns without the need to external stream them. Instead, 1D patterns are loaded into flash memory and then displayed by the controller. Various pattern frame rates are supported and many patterns can be stored in flash thanks to the use of 1D patterns. These patterns can be displayed with various exposure times and multiple patterns can be shown with various illumination types.

What are 1D patterns?

  • 1D patterns are patterns that can be completely described in one dimension. In other words, a horizontal 1D pattern is a column repeated image and a vertical pattern is a row repeated image.
    • Horizontal 1D pattern examples
      • 1-bit depth
      • 8-bit depth
    • Vertical 1D pattern examples
      • 1-bit depth
      • 8-bit depth

Why would I want to use 1D patterns?

  • 1D patterns are useful for a variety of reasons. First, many time encoded structured light approaches use 1D patterns (such as gray codes and phase shifted patterns). Second, since 1D patterns can be represented with a 1 by x image (where x is either the row or column resolution), complete pattern information can be saved without copying the entire pattern into memory. This approach is what enables many patterns to be rapidly displayed using the DLPC347x controllers. 

What are 1-bit and 8-bit patterns?

  • 1-bit patterns means each pattern pixel is represented by 1 bit and has either of two distinct values (on or off). A pixel that is Off will not be illuminated by an LED. A pixel that is On will be illuminated by either a red, green, or blue LED.  Alternatively, the On pixel could be illuminated by all three LEDs for white light (note that each LED will not turn on at the same time but instead turns on sequentially). 
  • An 8-bit pattern will have each pixel be represented by 8-bits. This provides a binary pulse-width modulation (PWM) where each pixel is turned On or Off for a specific amount of time in order to achieve the proper binary weighted illumination. See the image below which shows the relative time each bit is illuminated. Note that the below image is just an example of the relative times each bit is displayed in an 8 bit pattern; actual bit display order may vary. 

How do I get started using the EVMs?

  • First you will want to download the user's guide for either the DLP3010EVM-LC or the DLP2010EVM-LC. You will also want to download the EVM GUI software and checkout the GUI user's guide. If you would like to download the design files, view TIDA-080003 for the 3010EVM-LC and TIDA-080001 for the 2010EVM-LC. This software and these documents (combined with the rest of this FAQ) should get you well on your way to developing your light control application! 

How do I stream internal patterns?

  • See section 4.3.2 of the GUI User's Guide. You will need to create a pattern set composed of the various 1D patterns. Next you will select the exposure time of each pattern along with which LED will be used for each pattern. Finally you will configure input and output trigger settings before displaying the patterns.

What are pattern sets?

  • pattern set is a grouping of patterns that shares similar characteristics. Specifically, each pattern set has either 1-bit or 8-bit 1D patterns that are either a horizontal or vertical pattern. Pattern sets are initially stored in the flash and copied into the controllers' internal memory before being displayed. If only one pattern set is being used, the patterns can be displayed at a maximum rate of speed. If multiple pattern sets are used there will be a small load penalty when switching between pattern sets. Users can change which order pattern sets are displayed through the use of a pattern order table

How many patterns can be stored in each pattern set?

  • The maximum number of patterns that can be stored in each pattern set is limited by the DLPC347x internal memory. See the below tables to see the image limit. Multiple pattern sets can be stored in the external flash and dynamically loaded into the DLPC347x. Therefore, the maximum number of patterns that can be used in internal streaming mode is limited by the external flash memory. 
  • DLPC3478 (DLP3010EVM-LC)
    • 1D Pattern Type Max # of Patterns
      8-bits vertical patterns 6
      8-bits horizontal patterns 8
      1-bits vertical patterns 51
      1-bits horizontal patterns 64

  • DLPC3470 (DLP2010EVM-LC)
    • 1D Pattern Type Max # of Patterns
      8-bits vertical patterns 8
      8-bits horizontal patterns 8
      1-bits vertical patterns 64
      1-bits horizontal patterns 64

How to I change the frame rate for Internal Patterns?

  • Each Pattern Set enables the user to set the pattern exposure time. The exposure time is the time during which a pattern is displayed with the illumination on. Additionally, the user will set the Pre-exposure Dark time and Post-Exposure Dark timePre-exposure dark time is the time before the pattern exposure where no pattern is displayed and illumination is turned off. Post-exposure dark time is dark time after pattern exposure during which no pattern is displayed and the illumination is turned off. The effective pattern frame rate is equal to 1 / (pre-exposure dark time + exposure time + post-exposure dark time).  Note that even though you can calculate an effective pattern frame rate, the exposure time of a pattern can be for a shorter duration than 1/(frame rate) due to pre and post-dark time. This allows more flexibility with short pattern display times.

Why is there minimum required pre-exposure and post-exposure dark times?

  • Pre-exposure and post-exposure dark times are required due to the implementation of the system. The system uses these times without illumination to load the patterns to the DMD. The user can use these dark times to allow an external camera to properly capture and process images. 

What is actually happening with these pre-exposure and post-exposure time requirements?

  • Internally, the DLP controller uses PWM sequencesPWM sequences are specialized instruction sets that tell the LEDs when to turn on, what order to turn on, and how long to turn on. They also help control the loading of the DMD with the actual pattern data. When one sets a desired exposure timepre-exposure dark time, and post-exposure dark time, internally the controller looks for a PWM sequence that supports the given timing. If the controller is unable to find a match within range of the selected timing, the DLPC347x controller will set the Light Control Sequence Error bit (bit 6) in Short Status register and it can be read through the I2C command (0xD0). 

What are the supported timings for internal pattern streaming mode?

  • For a desired exposure time, find the proper sequence number (using the exposure time range) in the below table. Then calculate the minimum pre-exposure dark time and minimum post-exposure dark time using the below equations.
    • Tmin pre-exposure dark time  = tsequence min pre-exposure dark time * (Tdesired exposure / Tsequence exposure minimum)
    • Tmin post-exposure dark time = tsequence min post-exposure dark time * (Tdesired exposure / Tsequence exposure minimum)
  • For example, if a 300us exposure is desired
    • Tmin pre-exposure dark time = 170us * (300us / 200us) = 255us
    • Tmin post-exposure dark time = 30us * (300us / 200us) = 45us
  • Note: various numbers in the table may be off by one. I2C commands may differ compared to the GUI (due to more conservative GUI design principles).
  • Note: The sequence timings depend on which sequence binary version is being used. The current sequence version is 0.5.46 and is released with EVM firmware 1.0.0. You can obtain the sequence version through the GUI or I2C command 0x9B. 

Internal Pattern Streaming  Mode Timings (Sequence Version 0.5.46)
Num. Bits Illumination Sequence Number Exposure Time Range Sequence Min Pre-Exposure Dark Time Sequence Min Post-Exposure Dark Time
1 Mono 17 200us - 400us 170us 30us
16 401us - 799us 170us 30us
15 800us - 1799us 170us 30us
14 1800us - 3799us 170us 30us
13 3800us - TBD 170us 30us
RGB 22 600us - 1799us 170us 30us
21 1800us - 3799us 170us 30us
20 3800us - TBD 170us 30us
8 Mono 18 3464us - TBD 170us 30us
RGB 19 10912us - TBD 170us 30us

Do I have to do these minimum dark time calculations?

  • No, you do not manually have to do these calculations! If you enter a desired exposure time in the GUI and click Program Pattern Data, the controller will respond with the minimum required pre-exposure dark time and post-exposure dark time. This is accomplished through the help of an I2C command, 0x9D in DLPC347x controller. 

How do I validate the exposure time?

  • The easiest way to validate the exposure time is do use the Program Pattern Databutton in the GUI as mentioned above. However, one can also enter the advanced mode in the GUI to better understand what is happening by following the below steps. Both of these modes make use of I2C command 0x9D.
    • Ensure the EVM is properly powered and connected to the computer through the USB cable
    • Open the Advanced GUI
    • Select the Light Control option in the Project Explorer on the left side of the screen
    • Scroll down on the right and find Read Validate Exposure time block (see below)
    • Select your desired Pattern Mode, Bit Depth, and exposure time and then select Get
    • If the exposure time is supported, the GUI will return 0x1 - True under Exposure Time Supported. Otherwise it will return 0x0 - False
    • If the exposure time is supported the  minimum Pre Exposure Dark Time (us) and Post Exposure Dark Time (us) will both be returned. 

What if I want to quickly stream 2D patterns? 

  • You can use external pattern streaming mode. This mode makes use of the parallel input on the DLPC347x controllers. On the EVMs this mode can be used by hooking up a video source to the HDMI input (additional circuitry on the EVMs converts this signal to the parallel input on the DLPC347x controller). In this mode each the patterns are encoded into the bitplanes. 

What are the supported timings for external pattern streaming mode? 

  • For a desired exposure time, find the proper sequence number (using the exposure time range) in the below table. Then calculate the minimum pre-exposure dark time and post-exposure dark time using the same equations as for internal pattern streaming above. 
External Pattern Streaming  Mode Timings (Sequence Version 0.5.46)
Num. Bits Illumination Sequence Number Exposure Time Range Sequence Min Pre-Exposure Dark Time Sequence Min Post-Exposure Dark Time
1 Mono 5 200us - 400us 170us 30us
4 401us - 799us 170us 30us
3 800us - 1799us 170us 30us
2 1800us - 3799us 170us 30us
1 3800us - TBD 170us 30us
RGB 10 451us - 799us 170us 30us
9 800us - 1799us 170us 30us
8 1800us - 3799us 170us 30us
7 3800us - TDB 170us 30us
8 Mono 6 2545us - TBD 170us 40us
RGB 0 10902us - TBD 170us 40us


What if I want to display 2D patterns that are stored in flash?

  • One can utilize splash pattern mode. This mode is primarily intended for applications where very high speed pattern display is not needed (such as 3D printing). Note there will be a load time penalty when switching between different splash patterns.

What are the supported timings for splash pattern mode? 

  • For a desired exposure time, find the proper sequence number (using the exposure time range) in the below table. Then calculate the minimum pre-exposure dark time and post-exposure dark time using the same equations as for internal pattern streaming above.
Splash Pattern Mode Timings (Sequence Version 0.5.46)
Num. Bits Illumination Sequence Number Exposure Time Range Sequence Min Pre-Exposure Dark Time Sequence Min Post-Exposure Dark Time
1 Mono  12  793us - TBD 170us 30us
8 11 7737us - TBD 170us 30us

 

 

  • Thanks for the informative post, Kyle!
  • Hello everyone! The above FAQ has been update on 10/9/2018 with the following:

    • Added 8-bit 1D image examples
    • Mentioned the utilized PMIC/LED driver
    • Added TI design links
    • Added external pattern mode and splash pattern mode descriptions
    • Added splash pattern mode timings 
    • Added additional information about how to validate pattern timings
    • Created a table of contents
    • Other minor changes

    If you have an unanswered question feel free to create a separate E2E post and we may add it to the next update!

    Thanks,

    Kyle

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.