Page 5
Figure 2-3. Gamma Chart................................42 Figure 2-4. DLPC900 Single Controller System Block Diagram....................54 Figure 2-5. DLPC900 Dual Controller System Block Diagram....................Figure 2-6. Bit-Planes of a 24-Bit RGB Image...........................56 Figure 2-7. Bit Partition in a Frame for an 8-Bit Monochrome Image..................
Page 7
™ and E2E ™ are trademarks of Texas Instruments. ® is a registered trademark of Texas Instruments. All trademarks are the property of their respective owners. DLPU018G – OCTOBER 2014 – REVISED APRIL 2022 DLPC900 Programmer's Guide Submit Document Feedback...
Read This First Preface Read This First About This Manual This document specifies the command and control interface to the DLPC900 controller and defines all applicable commands, default settings, and control register bit definitions. Related Documents from Texas Instruments •...
C Secondary Controller Address The DLPC900 offers a programmable Secondary controller address. Refer to the App Defaults Settings found in the DLPC900 LightCrafter GUI Firmware tab to set a different Secondary controller address. The default I settings are shown in Table 1-1.
USB protocol. The DLPC900 internal command buffer has a maximum of 512 bytes and it is shared between the Read and Write commands; therefore, whenever a Read command is executed it must be followed by I...
DLPC900 places the response into its internal buffer and waits for the host to perform an API level Readfile to the HID driver and only then does the DLPC900 transmit the response data back to the host.
Interface Protocol www.ti.com 1.2.2 USB Read Transaction Sequence Example To perform a Read operation on the DLPC900, the host must assemble a sequence of bytes that corresponds to the command being used. The following Table 1-5 shows an example on how to read the curtain color intensity of each color.
Interface Protocol 1.2.3 USB Write Transaction Sequence Example To perform a Write operation on the DLPC900, the host must assemble a sequence of bytes that corresponds to the command being used. The following Table 1-7 shows an example on how to set the curtain color intensity of each color to 511.
DLPC900 Control Commands This chapter lists the DLPC900 control commands. The following sections list the supported control commands of the DLPC900. In the Type column, ‘wr’ type is a writeable field through I C or USB write transactions. Data can also be read through I C or USB read transactions for ‘wr’...
When the DLPC900 is combined with a single controller DMD, this bit is 0. When two DLPC900 controllers are combined with a dual controller DMD, this bit must be 1 for proper operation. If the bit is 0 and the DLPC900 is combined with a dual controller DMD, this indicates a malfunction in one or both controllers.
0 = Internal Memory Test failed 1 = Internal Memory Test passed Reserved 2.1.3 Main Status The main status command provides the status of DMD park and DLPC900 sequencer, frame buffer, and gamma correction. Table 2-5. Main Status Command Read...
DLPC900 Control Commands www.ti.com 2.1.4 Retrieve Firmware Version This command reads the version information of the DLPC900 firmware. Table 2-7. Retrieve Firmware Version Command Read 0x0205 0x11 Table 2-8. Get Version Command Definition BYTE BITS DESCRIPTION RESET TYPE Application software revision:...
Internal Error 2.1.7 Read Error Description This command retrieves the error descriptive string from the DLPC900 of the last executed command. The string is composed of character bytes ending with a null termination character. Table 2-13. Read Error Description Command...
The Programming commands manage downloading a new firmware image into flash memory. Firmware Programming can be done over I C or USB interfaces. The commands in the DLPC900 Programming Commands section are only valid in program mode except for Enter Program Mode (I C: 0x30 or USB 0x3001), which exits normal mode and enters program mode.
This command stops the given controller from executing any further commands until enabled by the same command. This command is intended to be used when two DLPC900 controllers are combined with a dual controller DMD, where one controller is the I C Primary and the other is the I C Secondary.
Enable Standby mode only after all data for the last frame to be displayed has been transferred to the DLPC900. Standby mode must be disabled prior to sending any new data. After executing this command, the host may poll the system status using C commands 0x20, 0x21, and 0x22 or USB commands 0x1A0A, 0x1A0B, and 0x1A0C to attain status.
Page 32
Note Once Standby has been issued the only command accepted by the DLPC900 controller board is Return to Normal (0). Any other command can result in unexpected behavior. Particularly a Park/Unpark is not accepted until Normal mode is resumed.
Read from EDID 32:0 Active Area - pixels per line Read from EDID Note For dual DLPC900 DMDs this is half of the width of the native DMD resolution 32:0 Active Area - lines per frame Read from EDID 32:0...
The Input Data Channel Swap commands configure the specified input data ports and maps the data sub- channels. The DLPC900 interprets channel A as Green, channel B as Red, and channel C as Blue. Table 2-42. Input Data Channel Swap Command...
Dual Pixel refers to the parallel data that is connected to port 1 and port 2 and the input source pixel clock that is less than 141 MHz. 2.3.3.2 Input Source Configuration The Input Source Configuration command selects the input source to be displayed by the DLPC900: 30-bit parallel port, Internal Test Pattern or flash memory. After executing this command, the host may poll the system...
DLPC900 Control Commands 2.3.3.3 Input Pixel Data Format The Input Pixel Data Format command defines the pixel data input format to the DLPC900. Table 2-48. Input Pixel Data Format Command Read Write 0x1A02 0x02 0x82 Table 2-49. Input Pixel Data Format Command Definition...
Image Index. Loads the image at this index. Reading this back provides the index that was loaded most recently through this command. 2.3.4 Image Flip The DLPC900 supports long- and short-axis image flips to support rear- and front-projection, as well as table- and ceiling-mounted projection. Note...
LED specifications, selected display mode, and so forth). Therefore, the recommended and absolute-maximum settings vary greatly. 2.3.7.1 LED Enable Outputs The DLPC900 offers three sets of pins to control the LED enables: • RED_LED_EN for the red LED •...
DLPC900 Control Commands www.ti.com 2.3.8 GPIO Commands DLPC900 offers 9 general-purpose input/output pins (GPIO). Some of these pins can be configured for PWM output, PWM input, or clock output functionality. By default, all pins are configured as GPIO inputs. 2.3.8.1 GPIO Configuration The GPIO Configuration command enables GPIO functionality on a specific set of DLPC900 pins.
2.3.9 Pulse Width Modulated (PWM) Control DLPC900 provides four general-purpose PWM channels that can be used for a variety of control applications, such as fan speed. If the PWM functionality is not needed, these signals can be programmed as GPIO pins. To enable the PWM signals: 1.
2.3.10 Batch File Commands During power-up and initialization or during normal operation, the DLPC900 can be commanded to execute a batch file containing a set of commands. The set of commands are created and saved in a text file. The text file then becomes an additional part of the firmware and is uploaded into the flash memory.
Once the batch file has been created and saved as a text file, see the DLPC900 LightCrafter Dual Controller or Single Controller EVM User's Guide on how to add batch files to the firmware.
Page 53
Mode), or dynamically loaded (Pattern On-The-Fly Mode). These modes are well-suited for techniques such as structured light, additive manufacturing, or digital exposure. The DLPC900 also has the capability to display a set of patterns and signal a camera to capture when these patterns are displayed.
In Video mode, the DLPC900 operates on a per-frame basis where it takes the input data and appropriately allocates it in a frame. For example, a 24-bit RGB input image is allocated into a 60-Hz frame by dividing each color (red, green, and blue) into specific percentages of the frame.
For a 24-bit RGB frame image inputted to the DLPC900 controller, the DLPC900 controller creates 24 bit-planes, stores them in internal embedded DRAM, and sends them to the DMD, one bitplane at a time. The bit weight controls the illumination intensity of the bit-plane where smaller the bit weight is the less intense the bit-plane becomes.
DLPC900 Control Commands www.ti.com 2.4.1.1 Video Mode Resolution When Display Mode is set to Video Mode see the DLPC900 data sheet for resolutions supported with various DLPC900 / DMD combinations and any reduced blanking requirements. 2.4.1.2 Input Display Resolution The Input Display Resolution command defines the active input resolution and active output (displayed) resolution.
In order to minimize Flash storage requirements, it is recommended (but not required) that pattern images be stored in a compressed format. The compression format supported by the DLPC900 is a subset of BMP Run-Length Encoding (RLE). The DLPC900 is able to perform the decompression of pattern images as they are loaded from external flash or when using Pattern On-The-Fly mode to its internal memory.
2-line packed 24-bit compressed bitmap. The compressed data on the left is stored sequentially in Flash memory. The DLPC900 firmware automatically expands the data as shown on the right which is stored in internal memory.
2.4.4 Pattern Display Commands In pattern display modes 0, 2, and 3, the DLPC900 supports 1-, 2-, 3-, 4-, 5-, 6-, 7-, and 8- bit images streamed through the 24-bit RGB parallel interface, pre-stored patterns in the flash memory, or dynamically with Pattern On-The-Fly.
Page 70
DLPC900 Control Commands www.ti.com 2.4.4.3.2 Pattern Display Invert Data The Pattern Display Invert Data command dictates how the DLPC900 interprets a value of 0 or 1 to control mirror position for displayed patterns. Note Before executing this command, stop the current pattern sequence. Once the command has been sent to the DLPC900, the Pattern Display LUT Definition for all the patterns must be re-sent to the DLPC900.
Page 71
This command is only applicable in Pre-stored Pattern Mode and Pattern On-The-Fly Mode. Patterns can be referenced in any order and can be repeated in the Pattern Display LUT. Moreover, a subset of patterns stored in the DLPC900 pattern memory can be referenced. NOTES: •...
Page 72
Regardless of the input source, the pattern definition must be set. NOTES: • Pattern definition data can be changed using this command without reloading pattern data into the DLPC900 pattern memory. • It is possible to use Pattern Display LUT Definition commands to change the pattern definitions for some or all of the patterns in a previously set default Display Pattern LUT .
Page 74
Load the images in the reverse order. Suppose there are 3 images 0,1 and 2 then the order for loading the image is 2, 1 and 0. When the DLPC900 is combined with a Dual Controller DMD, the user must perform...
DLPC900 Fault Status Chapter 3 DLPC900 Fault Status 3.1 DLPC900 FAULT_STATUS Location(s) The DLPC900 produces error codes, or fault statuses, under certain error conditions. The FAULT_STATUS pin on the DLPC900 is AC11 (See DLPC900 datasheet DLPS037 for pin details). 3.2 DLPC900 FAULT_STATUS Interpretation...
This chapter describes the initial power-up and power-down considerations, as well as other initialization considerations. 4.1 Power-Up The DLPC900 is initialized and ready to process commands sometime after the signal RESET is driven high. Detailed power-up timing is given in the DLPC900 data sheet, DLPS037. 4.2 Power-Down...
5.4 I C Pass Through Write Example The following table lists the steps to communicate with an external device using one of the DLPC900 I C ports. The example shows how to write 16 bytes to an EEPROM starting at address location 16.
Page 93
Updated Single DLPC900 and Dual DLPC900 Block Diagrams with proper Voltage notation, Primary & Secondary DLPC900s, and Cables instead of FLEX..................• Removed TI component part number from Block Diagrams and added links to the Single DLPC900 EVM and Dual DLPC900 EVM design files for current TI component numbers...............52 •...
Need help?
Do you have a question about the DLPC900 and is the answer not in the manual?
Questions and answers