Dlpu 078
Dlpu 078
User's Guide
Preface ........................................................................................................................................ 9
1 DLPC3436 Software Programmer's Guide ............................................................................. 10
1.1 Introduction .................................................................................................................. 10
1.1.1 Software Programmer’s Guide Overview ...................................................................... 10
2 Interface Specification ........................................................................................................ 11
2.1 Electrical Interface.......................................................................................................... 11
2.1.1 System Power-up Associated Signals .......................................................................... 11
2.2 System Initialization ........................................................................................................ 11
2.2.1 Boot ROM Concept ............................................................................................... 12
2.2.2 Internal vs. External Boot Software ............................................................................. 12
2.2.3 Flash and Flashless Product Configurations .................................................................. 12
2.2.4 Resident Boot Software (EXT-BOOT-EN = 0)................................................................. 12
2.3 Software Interface .......................................................................................................... 14
2.3.1 Software Command Philosophy ................................................................................. 14
2.3.2 I2C Considerations ................................................................................................ 14
3 List of System Write/Read Software Commands .................................................................... 15
3.1 System Write/Read Commands .......................................................................................... 20
3.1.1 Write Source Select (05h) ....................................................................................... 20
3.1.2 Read Source Select (06h) ....................................................................................... 22
3.1.3 Write Splash Screen Select (0Dh) ............................................................................. 23
3.1.4 Read Splash Screen Select (0Eh) ............................................................................. 23
3.1.5 Read Splash Screen Header (0Fh) ............................................................................ 24
3.1.6 Write Display Image Orientation (14h) ......................................................................... 26
3.1.7 Read Display Image Orientation (15h) ........................................................................ 27
3.1.8 Write Display Image Curtain (16h) ............................................................................. 28
3.1.9 Read Display Image Curtain (17h) ............................................................................. 29
3.1.10 Write Image Freeze (1Ah) ...................................................................................... 30
3.1.11 Read Image Freeze (1Bh) ...................................................................................... 32
3.1.12 Write 3-D Control (20h) ......................................................................................... 33
3.1.13 Read 3-D Control (21h) ......................................................................................... 34
3.1.14 Write Look Select (22h) ......................................................................................... 35
3.1.15 Read Look Select (23h) ........................................................................................ 36
3.1.16 Read Sequence Header Attributes (26h) ..................................................................... 37
3.1.17 Write Gamma/CMT Select (27h) .............................................................................. 39
3.1.18 Read Gamma/CMT Select (28h) .............................................................................. 39
3.1.19 Write CCA Select (29h) ......................................................................................... 40
3.1.20 Read CCA Select (2Ah) ........................................................................................ 40
3.1.21 Write Execute Flash Batch File (2Dh) ........................................................................ 41
3.1.22 Write 3-D Reference (30h) ..................................................................................... 41
3.1.23 Write Mirror Lock Control (39h) ................................................................................ 43
3.1.24 Read Mirror Lock Control (3Ah) ............................................................................... 44
3.1.25 Write FPD Link Pixel Map Mode (4Bh) ....................................................................... 45
3.1.26 Read FPD Link Pixel Map Mode (4Ch) ....................................................................... 49
3.1.27 Write FPGA Input Video Chroma Processing Select (4Dh) ................................................ 50
3.1.28 Read FPGA Input Video Chroma Processing Select (4Eh) ............................................... 50
List of Figures
1-1. DLPC343x Embedded Configuration .................................................................................... 10
2-1. Boot Code Flow Chart ..................................................................................................... 13
3-1. Long-Axis Flip ............................................................................................................... 26
3-2. Short-Axis Flip .............................................................................................................. 26
3-3. Bit Weight and Bit Order for Duty Cycle Data .......................................................................... 38
3-4. Parallel Data Bus (23:0) Encoding Options ............................................................................. 66
3-5. Return Parameters ......................................................................................................... 76
3-6. Bit Weight Definition for LABB Gain Value ............................................................................. 76
3-7. Bit Weight Definition for the CAIC Maximum Gain Value ............................................................. 77
3-8. Bit Weight Definition for the CAIC Clipping Threshold Value......................................................... 78
3-9. Bit Weight Definition for the CAIC RGB Intensity Gain Values....................................................... 78
3-10. Bit Weight Definition for the Projection Pitch Angle Data ............................................................. 93
3-11. Examples of Projection Pitch Angle...................................................................................... 93
3-12. Bit Order and Definition .................................................................................................. 112
List of Tables
2-1. Summary of Settings for Power-up Associated Signals ............................................................... 11
2-2. I2C Write and Read Transactions ........................................................................................ 14
3-1. Supported TI Generic Commands ....................................................................................... 15
3-2. Byte 1 Write Source Select Register Field Descriptions .............................................................. 20
3-3. Byte 1 Read Source Select Register Field Descriptions .............................................................. 22
3-4. Return Parameters ......................................................................................................... 23
3-5. Read Parameters........................................................................................................... 24
3-6. Return Parameters ......................................................................................................... 24
3-7. Splash Screen Header Definitions ....................................................................................... 25
3-8. Write Display Image Orientation Register Field Descriptions ........................................................ 26
3-9. Read Display Image Orientation Register Field Descriptions ........................................................ 27
3-10. Write Display Image Curtain Register Field Descriptions ............................................................. 28
3-11. Read Display Image Curtain Register Field Descriptions ............................................................. 29
3-12. Write Image Freeze Register Field Descriptions ....................................................................... 30
3-13. Partial List of Commands that May Benefit from the Use of Image Freeze ........................................ 31
3-14. Splash Screen Example Using Image Freeze ......................................................................... 31
3-15. Test Pattern Generator Example Using Image Freeze................................................................ 31
3-16. Read Image Freeze Register Field Descriptions ....................................................................... 32
3-17. Write 3-D Control Register Field Descriptions .......................................................................... 33
3-18. 3D Control ................................................................................................................... 33
3-19. Read 3-D Control Register Field Descriptions ......................................................................... 34
3-20. Write Look Select Register Field Descriptions ......................................................................... 35
3-21. Return Parameters ......................................................................................................... 36
3-22. Byte 1 Read Look Select Register Field Descriptions ................................................................. 36
3-23. Byte 2 Read Look Select Register Field Descriptions ................................................................. 36
3-24. Return Parameters ......................................................................................................... 37
3-25. Read Sequence Header Attributes Register Field Descriptions ..................................................... 38
3-26. Write Gamma/CMT SelectRegister Field Descriptions ................................................................ 39
3-27. Read Gamma/CMT Select Register Field Descriptions ............................................................... 39
3-28. Write CCA Select Register Field Descriptions.......................................................................... 40
3-29. Read CCA Select Register Field Descriptions ......................................................................... 40
3-79. Read Color Coordinate Adjustment Control Register Field Descriptions ........................................... 80
3-80. Write Parameters ........................................................................................................... 81
3-81. Write Keystone Correction Control Register Field Descriptions ..................................................... 81
3-82. Return Parameters ......................................................................................................... 81
3-83. Read Keystone Correction Control Register Field Descriptions ..................................................... 81
3-84. Write Parameters ........................................................................................................... 82
3-85. Read Parameters........................................................................................................... 82
3-86. Write Actuator Configuration Select Register Field Descriptions .................................................... 83
3-87. Read Actuator Configuration Select Register Field Descriptions .................................................... 83
3-88. Write Parameters ........................................................................................................... 84
3-89. Read Parameters........................................................................................................... 84
3-90. Write Actuator Period Stretch Value Register Field Descriptions .................................................... 85
3-91. Read Actuator Period Stretch Value Register Field Descriptions .................................................... 86
3-92. Write Parameters ........................................................................................................... 87
3-93. Read Parameters........................................................................................................... 87
3-94. Write Actuator Fixed Output Register Field Descriptions ............................................................. 88
3-95. Read Actuator Fixed Output Register Field Descriptions ............................................................. 88
3-96. Write Actuator Direction Register Field Descriptions .................................................................. 89
3-97. Read Actuator Direction Register Field Descriptions .................................................................. 89
3-98. Write Actuator Enable Register Field Descriptions .................................................................... 90
3-99. Read Enable Register Field Descriptions ............................................................................... 91
3-100. Read Auto Framing Information Fields .................................................................................. 92
3-101. Write Parameters ........................................................................................................... 93
3-102. Keystone Parameters Supported Range ................................................................................ 93
3-103. Return Parameters ......................................................................................................... 94
3-104. Write Actuator Watchdog Window Width - Byte 0 and 1 .............................................................. 95
3-105. Write Actuator Watchdog Window Width - Byte 2 and 3 .............................................................. 95
3-106. Read Actuator Watchdog Window Width - Byte 0 and 1.............................................................. 96
3-107. Read Actuator Watchdog Window Width - Byte 2 and 3.............................................................. 96
3-108. Write Actuator Subframe Filter Width - Byte 0 and 1 .................................................................. 97
3-109. Write Actuator Subframe Filter Width - Byte 2 and 3 .................................................................. 97
3-110. Read Actuator Subframe Filter Width - Byte 0 and 1 .................................................................. 98
3-111. Read Actuator Subframe Filter Width - Byte 2 and 3 .................................................................. 98
3-112. Write Actuator Stepped Output Invert Field Descriptions ............................................................. 99
3-113. Read Actuator Stepped Output Invert Field Descriptions ............................................................. 99
3-114. Read Short Status Register Field Descriptions ....................................................................... 101
3-115. Return Parameters ....................................................................................................... 102
3-116. Byte 1 Read System Status Register Field Descriptions ............................................................ 103
3-117. Byte 2 Read System Status Register Field Descriptions ............................................................ 103
3-118. Byte 3 Read System Status Register Field Descriptions ............................................................ 103
3-119. Byte 4 Read System Status Register Field Descriptions ............................................................ 105
3-120. Return Parameters ....................................................................................................... 106
3-121. Read Parameters ......................................................................................................... 107
3-122. Read Communication Status Register Field Descriptions ........................................................... 107
3-123. Return Parameters ....................................................................................................... 108
3-124. Byte 5 Read Communication Status Register Field Descriptions .................................................. 108
3-125. Read Communication Status Register Field Descriptions ........................................................... 109
3-126. Read Controller Device ID Register Field Descriptions .............................................................. 110
3-127. Controller Device ID Decode ............................................................................................ 110
Abstract
This guide details the software interface requirements for a DLPC3436 dual controller based system. It
defines all applicable communication protocols including I2C, initialization, default settings and timing.
Related Documentation
These data sheets describe the DLPC3436 chipset components.
• DLPC3436 (DLPS156) DLP Display controller for DLP230NP DMD
• DLPA2005 PMIC and High-Current LED Driver (DLPS047)
• DLPA2000 PMIC and High-Current LED Driver (DLPS043)
• DLPA3000 PMIC and High-Current LED Driver (DLPS052)
• DLP230NP 0.23 1080p DMD (DLPS144)
Trademarks
1.1 Introduction
Interface Specification
2.1.1.1 EXT-BOOT-EN
The controller hardware uses the EXT-BOOT-EN signal to determine which application to use during the
controller initialization process of the system power-up sequence. Either the internal boot application, or
an external boot application (located in FLASh), can be used. See also Section 2.2.
2.1.1.2 DIS-PGM-LD
The boot application uses the DIS-PGM-LD signal to direct the function of the system boot application
during the controller initialization process of the system power-up sequence. See also Section 2.2.
2.1.1.3 SPI-FLS-EN
The boot application uses the SPI-FLS-EN signal to direct the function of the system boot application
during the controller initialization process of the system power-up sequence. See also Section 2.2.
System Power-Up
Boot Code Flow Chart For lab use, the ICE box can be
Yes No connected via JTAG, allowing a
EXT-BOOT-EN = 1 new main app to be loaded into
iRAM while boot is waiting for DSI
Decision made by HW commands or is in a small NOP
Yes No
DIS-PGM-LD = 1 loop
No Yes
DIS-PGM-LD = 1
Setup FDMA
(Main App from
Flash to iRAM) No Yes Check GPIO(2:1)
SPI-FLS-EN = 1
for number of DSI
Loop Data Lanes
Start FDMA
Setup SPI Interface
for UCA Operation
Interrupt w/
Interrupt w/ ICE to ICE to push Enable DSI Port
push new software new software
FDMA No
Send Status
Done
Everything in this Request
Verify Flash
box is handled by Programmed
Yes Interrupt w/
code in an external (ID = ³)7$%´) No DSI
flash. This is NOT ICE to push
Give Main app Host No Cmd
new software
in the internal Boot execution control Ready?
Code Yes
No Yes
External Boot Code: In this FLASH case, the internal ³)7$%´
boot code is corrupted (for example) and external boot Send Data
Request (address New main app
code in Flash must be used. In one case, external Erase Entire Flash
Yes & length) loaded into iRAM
Flash boot code to transfer main app from Flash to
iRAM via FDMA. Control is then transferred to the main
app. In other case, external boot code waits in NOP Setup SPI Interface
loop for ICE box (Flash Parameters) Send Status No No
Request Done Done
Normal operational mode: In this FLASH case, the
boot code is responsible for transferring the main app Yes
Setup FDMA Yes
from Flash (via FDMA) into iRAM. Control is then
(Main App from
transferred to the main app. Data No
Flash to iRAM)
Ready? New full Flash image
Main Application Disabled: In this FLASH case, the programmed in Flash
DSI No
main app is corrupted (for example). The boot code is Yes
Start FDMA Cmd
responsible for receiving the entire flash build via DSI
and programming entire build into Flash. Once done, - Send Data CMD
the host must set the DSI-PGM-LD pin low and reset - Read Data No Yes
Done
the system to allow for normal operation. - UCA to iRAM
Give Main app
FDMA No
Yes execution control
Main Application Disabled: In the DSI NO FLASH Done
case, the boot code is always responsible for receiving
the main app via DSI and loading into iRAM. Control is Yes
then transferred (by DSI cmd) to the main app. Data No No DSI Flashless
DSI
(The main app is responsible for requesting all register Done?
Give Main app Cmd Configuration
data via the DSI port, along with the subsequent
execution control
distribution of this data throughout the ASIC) Yes
2.2.4.1.1 SPI-FLS-EN = 0
SPI-FLS-EN = 0 sets normal operational mode of the boot application for a flash-based product
configuration.
2.2.4.1.2 SPI-FLS-EN = 1
SPI-FLS-EN = 1 sets normal operational mode of the boot application for an SPI-based (flashless) product
configuration. In this case, the boot application expects to get the main application from the host via the
SPI port in response to TI command requests. The only SPI interface instructions that are supported by
the boot code are associated with requesting and read data from the host via this port.
The Write XPR FPGA Test Pattern Select (Section 3.1.43) command applies only when selecting the test
pattern generator from FPGA .
The Write Splash Screen Select (Section 3.1.3) command applies only when selecting the Splash Screen.
Enabling the External Calibration command reconfigures the system to disable all FPGA image
processing. This result allows the user to apply a custom test pattern for calibration purposes.
The External Video Port, Test Pattern Generator and Splash Screen input select options share the
following commands:
• Write Display Image Orientation
• Write Display Image Curtain
• Write Look Select
• Write Local Area Brightness Boost Control
• Write CAIC Image Processing Control
While the values for these commands may be the same across the different input source types, the
hardware settings may change. For example, if the user changes to a Test Pattern Generator input
source, the size of the test pattern must match the size of the DMD. Therefore, the display scaler settings
may need to be adjusted.
The user must specify the active data size for all external input sources using the Write Input Image Size
command. For input image data on the Parallel bus that doesn’t provide data framing information, the user
must provide manual framing data using the Parallel I/F Manual Image Framing command.
The software generates selected test patterns at the resolution of the DMD.
The Write Image Freeze command offers options for hiding on-screen artifacts when during the input
source selection process.
This command is used in conjunction with the Write Source Select (Section 3.1.1) command. It specifies
which splash screen to display when the Source Select command selects splash screen as the image
source. The software retains the settings for this command until changed using this command.
The steps required to display a splash screen are:
1. Select the desired splash screen (this command)
2. Change the input source to splash screen (using Write Source Select)
Follow these guidelins for proper operation.
• The Splash Screen is a unique source since it is read from Flash and sent down the processing path of
the controller one time, to be stored in memory for display at the end of the processing path. As such,
all image processing settings (for example image crop, image orientation, display size, splash screen
select, splash screen as input source, and so forth) should be set appropriately by the user before
executing the Write Source Select command.
• It is important that the user review the notes for the Write Source Select command in Section 3.1.1 to
understand the concept of source associated commands. This concept determines when source
associated commands are executed by the system. This command is a source-associated command.
• The availability of splash screens is limited by the available space in flash memory.
• All splash screens must be landscape oriented.
• For single controller applications which support DMD resolutions up to 1280 × 720, the minimum
splash image size allowed for flash storage is 427 × 240, with the maximum being the resolution of the
product DMD. For this system the maximum splash screen size is 960 × 540. Typical splash image
sizes for flash are 427 × 240 and 640 × 360. The full resolution size is typically used to support an
Optical Test splash screen.
• For dual controller applications which support DMD resolutions up to 1980 × 1080, the minimum splash
image size allowed for flash storage is 854 × 480, with the maximum being the resolution of the
product DMD. Typical splash image sizes for flash are 854 × 480. The full resolution size is typically
used to support an Optical Test splash screen.
• The user must specifying how the splash image displays on the screen.
• Because the splash selection loads the frame memory only once, it must be re-selected after changing
image display settings such as image orientation.
Normal use of the Image Freeze capability typically has two main functions. The first function is to allow
the end user to freeze the current image on the screen for their own uses. The second function is to allow
the user (host system/OEM) to reduce/prevent system changes from showing up on the display as visual
artifacts. In this second case, the image would be frozen, system changes would be made, and when
complete, the image is unfrozen. In all cases, when the image is unfrozen, the display starts showing the
most recent input image. Thus input data between the freeze point and the unfreeze point is lost.
Section 3.1.10.1 discusses suggestions to the host system for the types of image changes likely to
necessitate the use of the image freeze command to hide artifacts.
The controller software never freezea or unfreezea the image, neither automatically nor under-the-
hood.The controller software does not freeze or unfreeze the image for any reason except when explicitly
commanded by the Write Image Freeze command. If the OEM chooses not to make use of the Image
Freeze function, make sure to change the source itself before changing image parameters to minimize
transition artifacts.
NOTE: Review the notes for the Write Source Select command in Section 3.1.1 to understand the
concept of source associated commands. This concept determines when the system
executes source associated commands.
Table 3-13. Partial List of Commands that May Benefit from the Use of Image Freeze
Command Command Offset Notes
Write Source Select 05h
Write XPR FPGA Video Source Format Select 6Dh
Write Look Select 22h
Table 3-14 and Table 3-15 show a few examples of how to use the image freeze command.
NOTE: The system automatically enables and disables 3-D operation. Bit(0) indicates the state of
2-D/3-D operation.
In this product, a look typically specifies a target white point. The number of looks available may be limited
by the available space in flash memory.
This command allows the host to select a look (target white point) from a number of looks stored in flash.
Based on the look selected and measured data obtained from an appropriate light sensor, the software
automatically selects and loads the most appropriate sequence or duty cycle set available in the look, to
get as close as possible to the target white point.
looks are specified in this byte by an enumerated value (such as 0, 1, 2, 3). There must always be at least
one look, with an enumerated value of 0.
There are two other items that the host should specify in addition to the look. These are:
• A desired degamma curve, achieved by selecting the appropriate degamma/CMT, which has the
desired degamma curve and correct bit weights for the sequence selected.
• The desired color points, achieved by selecting the appropriate CCA parameters using the CCA select
command.
The sequence header data is stored in two separate flash data structures (the look structure and the
sequence structure), and the values from each should match.
The bit weight and bit order for the duty cycle data is shown in Figure 3-3.
Figure 3-3. Bit Weight and Bit Order for Duty Cycle Data
MSB Byte 2 LSB MSB Byte 1 LSB
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
27 26 25 24 23 22 21 20 2–1 2–2 2–3 2–4 2–5 2–6 2–7 2–8
The duty cycle data is specified as each color's percent of the frame time. The sum of the three duty
cycles must add up to 100 (for example, R = 30.5 = 1E80h , G = 50 = 3200h, B = 19.5 = 1380h) .
The sequence maximum and minimum frame counts are specified in units of 66.67 ns (based on the
internal 15-MHz clock used to time between input frame syncs). These are specified in this way to enable
fast and simple comparisons to the frame count by software.
CCA parameter sets are used to set a target color points for the system. The sets are stored in Flash until
needed.
CCA parameter sets are specified in this byte by an enumerated value (that is, 0, 1, 2, 3, and so forth) .
This number specifies the actual CCA number reference in the flash structure.
This command is used to command the execution of a batch file stored in the Flash of the display module.
Any system write command that can be sent by itself can be grouped together with other system
commands or command parameters into a Flash batch file, with the exception of those listed in Table 3-
31. Flash batch files are created using the GUI tool, and then stored in the Flash build. One example for a
Flash batch file might be the commands and command parameters required for initialization of the system
after power-up.
The Flash batch file numbers to be specified in this byte are enumerated values (that is, 0, 1, 2, 3, and so
forth) .
Flash batch file 0 is a special Auto-Init batch file that is run automatically by the DLPC3436 software
immediately after system initialization has been completed. As such, Flash batch file 0 is not typically
called using the Write Execute Batch File command (although the system allows it). This special Flash
batch file would typically be used to specify the source to be used (for example, splash screen, data port)
once the system is initialized.
Embedding Flash batch file calls within a Flash batch file is not allowed (for example, calling another batch
file from within a batch file is not allowed). If it is desired to have two batch files executed back to back,
they should be called by back to back execute batch file commands.
The system provides the ability to add an execution delay between commands within a Flash batch file.
This is done using the Write Flash Batch File Delay command (Section 3.1.103).
The order of command execution for commands within a Flash batch file is the same as if the commands
had been received over the I2C port.
Table 3-33. Write Execute Flash Batch File Register Field Descriptions
Bit Type Description
7-1 R Reserved
0 W 3-D Reference
0h = Next Frame Left
1h = Next Frame Right
The 3-D Reference is used to specify whether a frame of data contains left eye data or right eye data. The
3-D reference can be provide to the display as a hardware signal or by using this command (selection is
made using the Write 3-D Control command in Section 3.1.12). When using this command as the
reference, it is recommend that the command be sent every frame, or at least at the start of each eye pair
(for example, sent before each left eye frame). At a minimum, it must be sent once at the start of 3-D
operation. If the 3-D Reference is misaligned with the data, it can be corrected using this command or by
using the polarity of 3-D Reference parameter in the Write 3-D Control command.
When the Write 3-D Reference command is received, teh device applies its parameter value at the next
VSYNC (that is, the parameter value is applied to the image data following the next VSYNC or Start of
Frame command).
When this command is received, software establishes the internal controller 3-D reference generator. If
the command is sent every frame, software can monitor to ensure that the output of the internal controller
3-D reference generator is still correct.
Table 3-35. Write Execute Flash Batch File Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 W Mirror Lock State Selection
0h = Reserved
1h = DMD Interface Lock
2h = DMD Interface Unlock
3h = DMD Interface Unlock, Delay 100ms, DMD Interface Lock
Table 3-37. Write Execute Flash Batch File Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 R Mirror Lock State
0h = DMD Interface is Locked
1h = DMD Interface is Unlocked
Table 3-39. Write FPD Link Pixel Map Mode Register Field Descriptions
Bit Type Description
7-4 R Reserved
3-0 W Pixel Map Mode
1h = Mode #1
2h = Mode #2
3h = Mode #3
4h = Mode #4
5h = Mode #5
6h = Mode #6
7h = Mode #7
8h = Mode #8
Input video data is encoded into the FPD data buses as indicated in the following tables.
Table 3-42. Read FPD Link Pixel Map Mode Register Field Descriptions
Bit Type Description
7-4 R Reserved
3-0 R Pixel Map Mode
1h = Mode #1
2h = Mode #2
3h = Mode #3
4h = Mode #4
5h = Mode #5
6h = Mode #6
7h = Mode #7
8h = Mode #8
Table 3-43. Write FPD Input Video Chroma Processing Select Register Field Descriptions
Bit Type Description
7-4 R Reserved
3 W Chroma Channel Swap
0h = CbCr
1h = CrCb
2-0 R Reserved
Table 3-44. Read FPGA Input Video Chroma Processing Select Register Field Descriptions
Bit Type Description
7-4 R Reserved
3 R Chroma Channel Swap
0h = CbCr
1h = CrCb
2-0 R Reserved
Table 3-45. Write LED Output Control Method Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 W LED control method
0h = Manual RGB LED currents (disables CAIC algorithm)
1h = CAIC (automatic) RGB LED power (enables CAIC algorithm)
2h = Reserved
3h = Reserved
NOTE: This command selects the method to be used to control the output of the red, green, and
blue LEDs. Based on the method chosen, a specific set of commands are available for
controlling the LED outputs. These are shown in Table 3-46.
The Manual RGB LED Currents method provides for manual control of the LED currents, and as such, the
CAIC algorithm (Section 3.1.62) is disabled.
The CAIC (Automatic) RGB LED Current Control method provides automatic control of the LED currents
using the CAIC algorithm.
Table 3-47. Read LED Output Control Method Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 W LED control method
0h = Manual RGB LED currents (disables CAIC algorithm)
1h = CAIC (automatic) RGB LED power (enables CAIC algorithm)
2h = Reserved
3h = Reserved
When an all white image is being displayed, this command allows the system white point to be adjusted
while also establishing the total LED power. This is true whether the CAIC algorithm is enabled or
disabled.
The parameters specified by this command have a resolution of 10 bits, and are defined by the
appropriate PAD specification.
When the CAIC algorithm is disabled, this command directly sets the LED currents (that is, the R, G, and
B values provided are sent directly to the PAD device) regardless of the image being displayed.
When CAIC algorithm is enabled:
• This command directly sets the LED currents when an all-white image is displayed. If the image is
changed from an all-white image, depending on the image, the CAIC algorithm may alter one or more
of the LED currents from those specified by this command and the total LED power may also drop.
Command Read CAIC RGB LED Current (5Fh) can be used to read the actual LED currents for the
image currently being displayed.
• In the case of an all-white image, the values read by the command Read CAIC RGB LED Current
(5Fh) closely matches (but may not exactly match) those requested using command Write RGB LED
Current (54h) . For an all-white image command Read CAIC RGB LED Current (5Fh) allow currents
within ±4 PAD device current steps for each LED color relative to those requested by command Write
RGB LED Current (54h) .
• When command Write RGB LED Current (54h) is used to change the LED currents, the LED current
for any color should not be changed by more than ±25% from the nominal current used for that color
when the CAIC LUTs were created. Furthermore, no LED current should be set to a current value
beyond the maximum value supported in the CAIC Intensity-to-Current LUT for the corresponding
color.
• The maximum total LED power for any displayed image occurs for an all-white image since in this case
the CAIC algorithm requests the CAIC LED maximum available power. The maximum available LED
power for CAIC is controlled by the command Write RGB LED Current since this command controls
currents for an all-white image. After the currents are adjusted, command Read CAIC LED Maximum
Available Power (57h) can be used to see the maximum power in Watts that CAIC derived.
During low battery operation, the DLPC3436 reverts its RGB LED current settings automatically to their
default boot-up value. This feature is only available in select system configurations.
The parameters specified by this command have a resolution of 10 bits, and are to be as defined by the
appropriate PAD specification.
This command sets the maximum LED currents that can be used when the CAIC algorithm is disabled.
When the CAIC algorithm is enabled, the maximum LED currents are determined by the CAIC algorithm
LUTs stored in Flash.
For further information about LED current and the CAIC algorithm, see the notes for the Write RGB LED
Current (54h) command.
Unused most significant bits should be set to ‘0’.
See the Write RGB LED Current Control command for a detailed description of the return parameters.
Unused most significant bits is set to ‘0’.
When the CAIC algorithm is enabled using the LED Output Control Method command.
• The Write RGB LED Current command directly sets the LED currents when an all white image is being
displayed. If the image is changed from an all white image, depending on the image, the CAIC
algorithm may alter one or more of the LED currents from those specified the Write RGB LED current
command and the total LED power may also drop. The actual LED currents for the image currently
being displayed can be read using this command (the Read CAIC RGB LED Current (5Fh) command)
• In the case of an all white image, the values returned by this command closely match (but may not
exactly match) those specified using the Write RGB LED Current command. For an all white image,
this command provides values within ±4 PAD device current steps for each LED color relative to those
specified with the Write RGB LED Current command.
Table 3-57. Byte 1 Write XPR FPGA Test Pattern Select Register Field Descriptions
Bit Type Description
7 W Test Pattern Boarder
0h = Disabled (default)
1h = Enabled
6-4 W Color
0h = Black
1h = Blue
2h = Red
3h = Magenta
4h = Green
5h = Cyan
6h = Yellow
7h = White
3-0 W Pattern Select
0h = Solid Field
1h = Grids
2h = Horizontal Ramp
4h = Checkerboard
5h = Horizontal Lines
6h = Vertical Lines
7h = Diagonal Lines
8h = Actuator Calibration Pattern
9h = 3D Test Pattern
Ah = Color Bars
Bh = Frame & Cross
Ch - Fh = Reserved
Byte 2: Varies depending on configuration selected. It is ignored for Solid Field, Grids, Horizontal, Vertical
and Diagonal lines, 3D test patterns and Color Bars.
For Horizontal and Vertical Ramps, Byte 2 represents the pixel level intensity at the brightest part of the
ramp ranging from 0-255.
For Checkerboards, Byte 2 specifies the size of each checker in 4 pixel resolution so a value of 10 would
generate 40 pixel checkers.
For Actuator Calibration test patterns, Byte 2 specifies the sub-frames to be displayed:
• Byte 2 (7:0) = 0: Actuator Calibration Pattern - Sub-Frame 0 and 1 Only (HD only)
• Byte 2 (7:0) = 3: Actuator Calibration Pattern - Sub-Frames 0, 1, 2, 3 (Full HD only)
For Frame & Cross, Byte 2 is divided into two nibbles. Each nibble is a pixel position from the upper left
corner of the image with a resolution of (Pixel Count / 16). So 720p has 80 pixel increments horizontally
and 45 pixel increments vertically. 1080p has 120 pixel increments horizontally and 68 pixel increments
vertically.
• MS-Nibble (7:4): Horizontal position
• LS-Nibble (3:0): Vertical position
Table 3-58. Read XPR FPGA Test Pattern Select Register Field Descriptions
Bit Type Description
7 R Test Pattern Boarder
0h = Disabled (default)
1h = Enabled
6-4 R Color
0h = Black
1h = Blue
2h = Red
3h = Magenta
4h = Green
5h = Cyan
6h = Yellow
7h = White
3-0 R Pattern Select
0h = Solid Field
1h = Grids
2h = Horizontal Ramp
4h = Checkerboard
5h = Horizontal Lines
6h = Vertical Lines
7h = Diagonal Lines
8h = Actuator Calibration Pattern
9h = 3D Test Pattern
Ah = Color Bars
Bh = Frame & Cross
Ch - Fh = Reserved
Byte 2: Varies depending on configuration selected. It is ignored for Solid Field, Grids, Horizontal, Vertical
and Diagonal lines, 3D test patterns and Color Bars.
For Horizontal and Vertical Ramps, Byte 2 represents the pixel level intensity at the brightest part of the
ramp ranging from 0-255.
For Checkerboards, Byte 2 specifies the size of each checker in 4 pixel resolution so a value of 10 would
generate 40 pixel checkers.
For Actuator Calibration test patterns, Byte 2 specifies the sub-frame(s) to be displayed:
• Byte 2 (7:0) = 0: Actuator Calibration Pattern - Sub-Frame 0 and 1 Only (HD only)
• Byte 2 (7:0) = 3: Actuator Calibration Pattern - Sub-Frames 0, 1, 2, 3 (Full HD only)
For Frame & Cross, Byte 2 is divided into two nibbles. Each nibble is a pixel position from the upper left
corner of the image with a resolution of (Pixel Count / 16). So 720p has 80 pixel increments horizontally
and 45 pixel increments vertically. 1080p has 120 pixel increments horizontally and 68 pixel increments
vertically.
• MS-Nibble (7:4): Horizontal position
Table 3-59. Write XPR FPGA Parallel Video Control Register Field Descriptions
Bit Type Description
7-4 R Reserved
3 W VSync Polarity
0h = Active Low
1h = Active High
2 W HSync Polarity
0h = Active Low
1h = Active High
1 W IValid Polarity
0h = Active Low
1h = Active High
0 W Pixel Clock Sampling Edge
0h = Falling Edge
1h = Rising Edge
Table 3-60. Read XPR FPGA Parallel Video Control Register Field Descriptions
Bit Type Description
7-4 R Reserved
3 R VSync Polarity
0h = Active Low
1h = Active High
2 R HSync Polarity
0h = Active Low
1h = Active High
1 R IValid Polarity
0h = Active Low
1h = Active High
0 R Pixel Clock Sampling Edge
0h = Falling Edge
1h = Rising Edge
Table 3-61. Write XPR FPGA Video Format Select Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 W Input source format
• 0h = RGB888
• 1h = RGB565
• 2h = RGB666
• 3h = YCbCr422
• 4h = YCbCr444
• 5h = YCbCr565
• 6h = YCbCr666
When adjusting the XPR FPGA Video Format selection, the parallel video data input must be properly
aligned with the 24-bit bus of the FPGA. The appropriate data encoding format is provided in Figure 3-4.
Table 3-62. Read XPR FPGA Video Format Select Register Field Descriptions
Bit Type Description
7-2 R Reserved
1-0 W Input source format
• 0h = RGB888
• 1h = RGB565
• 2h = RGB666
• 3h = YCbCr422
• 4h = YCbCr444
• 5h = YCbCr565
• 6h = YCbCr666
NOTE: Valid latency input values range from 000h to 3FFh, with a step size of 133.333 ns. This
yields a minimum latency of 0 ns and a maximum latency of 34952312.619 ns.
Table 3-66. Write Manual Actuator Sync Delay Register Field Descriptions
Bit Type Description
7-2 R Reserved
1 W Auto-scaling enable. Applicable only when manual Actuator Sync Delay override mode is enabled,
b(0)=1.
0h = No scaling is performed. Actuator Sync delay is applied as defined in Byte 1-3
1h = Auto scaling is performed with frame rate change.
0 W Manual Actuator Sync Delay override enable
0h = Actuator Sync Delay defined in Byte 1 to 3 is not applied only when this bit is disabled.
Instead, the Actuator Sync Delay defined in the flash as part of the sequence data is applied.
1h = Actuator Sync Delay defined in Byte 1 to 3 is applied only when this bit is enabled.
NOTE: This command is executed in conjunction with Write Actuator Latency command. Latency
corrections are always made to the Actuator delay before writing to the hardware register. In
case Latency correction is not required, then Latency should be set to 0.
Table 3-67. Read Manual Actuator Sync Delay Register Field Descriptions
Bit Type Description
7-2 R Reserved
1 R Auto-scaling enable. Applicable only when manual Actuator Sync Delay override mode is enabled,
b(0)=1.
0h = No scaling is performed. Actuator Sync delay is applied as defined in Byte 1-3
1h = Auto scaling is performed with frame rate change.
0 R Manual Actuator Sync Delay override enable
0h = Actuator Sync Delay defined in Byte 1 to 3 is not applied only when this bit is disabled.
Instead, the Actuator Sync Delay defined in the flash as part of the sequence data is applied.
1h = Actuator Sync Delay defined in Byte 1 to 3 is applied only when this bit is enabled.
NOTE: This command is executed in conjunction with Write Actuator Latency command. Latency
corrections are always made to the Actuator delay before writing to the hardware register. In
case Latency correction is not required, then Latency should be set to 0.
Table 3-68. Byte 4 Write Manual Actuator Offset Register Field Descriptions
Bit Type Description
7-1 R Reserved
0 W Auto DC Offset Enable
0h = Auto DC offset disabled
1h = Auto DC offset enabled
NOTE: This Actuator Manual Offset is presented in 16-bit signed 9.7 format (01h = 00.0078130)
Valid values of Actuator Manual Offset range from -255 to +255.
The sum of the Auto-DC offset and the Manual offset cannot be less than -255 or greater
than +255.
Table 3-69. Byte 4 Read Manual Actuator Offset Register Field Descriptions
Bit Type Description
7-1 R Reserved
0 W Auto DC Offset Enable
0h = Auto DC offset disabled
1h = Auto DC offset enabled
NOTE: This Actuator Manual Offset is presented in 16-bit signed 9.7 format (01h = 00.0078130)
Valid values of Actuator Manual Offset range from -256 to 256.
Table 3-71. Write Local Area Brightness Boost Control Register Field Descriptions (1) (2) (3) (4) (5)
Bit Type Description
7-4 W Sharpness strength
3-2 R Reserved
1-0 W LABB control
0h = Disabled
1h = Enabled: Manual strength control (no light sensor)
2h = Enabled: Automatic strength control (uses light sensor)
3h = Reserved
(1)
The key function of the LABB is to adaptively gain up darker parts of the image to achieve an overall brighter image.
(2)
For automatic strength control, a light sensor is used to automatically adjust the applied image strength based on the measured black
level of the screen, or the ambient lighting level of the room.
(3)
For LABB Strength, 0 indicates no boost applied, and 255 indicates the maximum boost that is considered viable in a product. The
strength is not a direct indication of the gain because the gain varies depending on image content.
(4)
Sharpness strength can range from 0 to 15, with 0 indicating sharpness disabled, and 15 indicating the maximum sharpness. The LABB
function must be enabled (either Manual or Automatic) to make use of Sharpness.
(5)
LABB is supported in TPG, Splash, External Input mode, but auto-disabled in curtain mode.
Table 3-72. Read Local Area Brightness Boost Control Register Field Descriptions
Bit Type Description
7-4 R Sharpness strength
3-2 R Reserved
1-0 R LABB control
0h = Disabled
1h = Enabled: Manual strength control (no light sensor)
2h = Enabled: Automatic strength control (uses light sensor)
3h = Reserved
Figure 3-6 shows the bit order and weighting for the LABB gain value, which ranges from 1 to 8 (the
controller software should limit the lower value to 1).
The software equation to calculate LABB Gain as a fixed point value is shown below:
LABB_gain = add_8lsb(APL) / pre_LABB_APL (//add 8 LSBs (u8.0 / u8.0 = u8.8 / u8.0 = u8.8)
Table 3-74. Write CAIC Image Processing Control Register Field Descriptions (1) (2) (3) (4)
Bit Type Description
7 W CAIC gain display enable
0h = Disabled
1h = Enabled
6 W CAIC gain display scale
0h = 100% = 1024 pixels
1h = 100% = 512 pixels
5-3 R Reserved
2-0 W CAIC WPC control
0h = White point correction disabled
1h = White point correction enabled
(1)
The CAIC algorithm (Content Adaptive Illumination Control) provides adaptive control of the LED currents and the digital gain applied to
the image. In addition, when an external sensor is provided by the OEM (and when WPC is enabled by this command), the algorithm
provides automatic white point correction.
(2)
The CAIC algorithm is enabled or disabled based on the method of LED current control selected by the OEM using the Write LED Output
Control Method command. When enabled, the CAIC algorithm provides automatic control of the LED currents as specified by this
command and the Write LED Output Control Method command.
(3)
The CAIC Gain Display provides a visual presentation of the instantaneous gain provided by the CAIC algorithm. This is typically used as
a debug tool and to show the performance of the algorithm. It should never be used for normal operation. The display is made up of 5
bars, where the bottom three bars (green, red, and blue) show the respective CAIC gain for each color. The top two bars are for TI
debug use only. For SW, the CAIC Gain Display Enable is controlled by CAIC_DEBUG_MODE (2:0), where Disabled = 0h, and Enabled
= 3h. The Display Scale is set using CAIC_DEBUG_MODE(3).
(4)
Figure 3-7 shows the bit order and weighting for the CAIC Maximum Lumens Gain value, which has a valid range from 1.0 to 4.0. The
device considers values outside of this range as an error (invalid command parameter value – communication status) anddoes not
execute the command.
Figure 3-7. Bit Weight Definition for the CAIC Maximum Gain Value
b7 b6 b5 b4 b3 b2 b1 b0
22 21 20 2–1 2–2 2–3 2–4 2–5
The CAIC Maximum Lumens Gain parameter sets the maximum lumens gain that a pixel can have as a
result of both digital gain and increasing LED currents. It also serves to bias the CAIC algorithm towards
either Constant Power (variable brightness) or Constant Lumens (variable power). Some examples are
listed below:
• Maximum Gain value = 1.0h = This biases CAIC performance to Constant Lumens. In this case, LED
power is reduced for those images where this is possible, but lumens do not increase or decrease.
• Maximum Lumens Gain value = 4.0h = This biases CAIC performance to Constant Power. In this
typical case, power holds constant for most images, while the lumens gain. In the rare case where the
gain exceeds 4.0, lumens stop increasing and the power reduces.
.
Figure 3-8 shows the bit order and weighting for the CAIC Clipping Threshold value, which has a valid
range from 0.0% to 2.0%. The device considers values outside of this range as an error (invalid command
parameter value – communication status) and the device does not execute this command.
Figure 3-8. Bit Weight Definition for the CAIC Clipping Threshold Value (1) (2)
b7 b6 b5 b4 b3 b2 b1 b0
21 20 2–1 2–2 2–3 2–4 2–5 2–6
(1)
The CAIC Clipping Threshold parameter sets the percentage of pixels that can be clipped by the CAIC algorithm over the full frame of
active data due to the digital gain being applied by the CAIC algorithm.
(2)
Figure 3-9 shows the bit order and weighting for the CAIC RGB Intensity Gain values, which have a valid range from 0.0 to almost 1.0.
The device considers values outside of this range as an error (invalid command parameter value – communication status) and the device
does not execute the command.
Figure 3-9. Bit Weight Definition for the CAIC RGB Intensity Gain Values
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
Res Res Res Res Res Res 2–1 2–2 2–3 2–4 2–5 2–6 2–7 2–8 2–9 2–10
CAIC can be enabled in TPG and external input mode, but auto-disabled in splash and curtain mode.
Table 3-77. Read CAIC Image Processing Control Register Field Descriptions
Bit Type Description
7 R CAIC gain display enable
0h = Disabled
1h = Enabled
6 R CAIC gain display scale
0h = 100% = 1024 pixels
1h = 100% = 512 pixels
5-3 R Reserved
2-0 R CAIC WPC control
0h = White point correction disabled
1h = White point correction enabled
Information on these parameters can be found in Write CAIC Image Processing Control Section 3.1.62.
Table 3-78. Write Color Coordinate Adjustment Control Register Field Descriptions
Bit Type Description
7-1 R Reserved
0 R CCA enable
0h = Disabled
1h = Enabled
This command is for TI debug purposes only. This function must remain enabled during normal operation.
When CCA is disabled, use an identity matrix.
Table 3-79. Read Color Coordinate Adjustment Control Register Field Descriptions
Bit Type Description
7-1 R Reserved
0 R CCA enable
0h = Disabled
1h = Enabled
NOTE: Refer to Table 3-102 for valid range of Keystone Control Parameters.
This command is applied to the default voice coil or the one most recently selected via the Write Actuator
Configuration Select command.
The command is programmed when transmitted and therefore applies to any waveform programmed until
this command is sent again.
This command is associated with the default voice coil or the one most recently selected via the Write
Actuator Configuration Select command.
NOTE: This command simply stores the selected actuator configuration information in global data.
When a subsequent command arrives that depends on an axis and / or voice coil selection,
this global data is used to configure the appropriate actuator component(s).
This command is applied to the default voice coil or the one most recently selected via the Write Actuator
Configuration Select command.
The command is programmed when transmitted and therefore applies to any waveform programmed until
this command is sent again.
This command is associated with the default voice coil or the one most recently selected via the Write
Actuator Configuration Select command.
Table 3-90. Write Actuator Period Stretch Value Register Field Descriptions
Bit Type Description
7-3 R Reserved
2-0 W Clock Stretch Value (Range is 0 to 7). The clock period equals:
2 × (Clock Stretch Value+1).
The DAC Clock Generator function generates a 50% duty cycle clock signal for driving the external digital
to analog converter (DAC). The LSB of this configuration parameter represents the DAC input clock
period so a DAC output clock period of 2 (high+low) to 16 times the DAC input clock period is supported.
This command is applied to the default axis or the one most recently selected via the Write Actuator
Configuration Select command.
Table 3-91. Read Actuator Period Stretch Value Register Field Descriptions
Bit Type Description
7-3 R Reserved
2-0 W Clock Stretch Value (Range is 0 to 7). The clock period equals:
2 × (Clock Stretch Value+1).
This return value is associated with the default voice coil or the one most recently selected via the Write
Actuator Configuration Select command.
Figure 3-10 shows the bit order and weighting for the 2’s-complement projection pitch angle data.
Figure 3-10. Bit Weight Definition for the Projection Pitch Angle Data
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
27 26 25 24 23 22 21 20 2–1 2–2 2–3 2–4 2–5 2–6 2–7 2–8
This command is used in conjunction with the Write Keystone Correction Control command.
Format of pitch angle is defined as: Projection pitch angle = s7.8.
Refer to Table 3-102 for valid range of keystone control parameters. Figure 3-11 shows examples of the
projection pitch angle.
(Side View)
Screen
Table Mount
Non-Inverted Orientation
When either of the AWG values equals zero, the device disables the auto-calculation for Actuator
Subframe Filter Width and Actuator Watchdog Window Width. If a system error is encountered as a result
of incorrectly configuring either of these values, ensure all fields are nonzero to resume auto-calculation
mode. Flash download cannot be initiated while this system error is present.
NOTE: When either of the AWG values equals zero, the device disables the auto-calculation for
Actuator Subframe Filter Width and Actuator Watchdog Window Width. If a system error is
encountered as a result of incorrectly configuring either of these values, ensure all fields are
nonzero to resume auto-calculation mode. Flash download cannot be initiated while this
system error is present.
When either of the AWG values equals zero, the device disables the auto-calculation for Actuator
Subframe Filter Width and Actuator Watchdog Window Width. If a system error is encountered as a result
of incorrectly configuring either of these values, ensure all fields are nonzero to resume auto-calculation
mode. Flash download cannot be initiated while this system error is present.
When either of the AWG values equals zero, the device disables the auto-calculation for Actuator
Subframe Filter Width and Actuator Watchdog Window Width. If a system error is encountered as a result
of incorrectly configuring either of these values, ensure all fields are nonzero to resume auto-calculation
mode. Flash download cannot be initiated while this system error is present.
The flash erase complete status bit is set at the start of the flash erase process and is cleared when the
erase process is complete. The flash status can be obtained during or after the erase process. To obtain
this status during the erase process, only this command can be sent after the start of the flash erase. If
any other command is sent during the erase process, the device holds it without processing until the flash
erase has completed (thus blocking any following status requests until the previously sent command is
processed).
The flash error bit is used to indicate an error during any flash operation. For flash writes, this bit updates
at the end of each write transaction, however, once an error has been detected, this bit remains in the
error state until cleared. This function allows the OEM the option of checking the status between each
write transaction, or at the end of the update. After a write transaction starts, the flash status (and this
error bit) is not accessible until the write transaction completes.
The communication error bit indicates any error on the I2C command interfaces. The device reports
specific details about communication errors using the read communication status command.
Any errors other than flash error and communication error are indicated by the system error bit. Specific
details about system errors are available using the read system status command.
The flash error, communication error, and system error bits clear when the read short status is read.
Don't check the read short status command continuously, but only periodically. It is likely that continuous
access severely reduces system performance.
NOTE: All system status error bits are cleared when the read system status is read.
The system sets the DMD device error for the following conditions:
• The system cannot read the DMD device ID from the DMD
• The firmware specified DMD device ID does not match the actual DMD Device ID
The system sets the DMD interface error when there are power management setup conflicts on this
interface.
The system sets the DMD training error when the training algorithm can’t find a data eye that meets the
specified requirements.
Table 3-118. Byte 3 Read System Status Register Field Descriptions (continued)
Bit Type Description
0 R Sequence abort error
0h = No error
1h = Error
The system sets the SPI flashless data request error bit if the display does not start sending the requested
data before the SPI flashless data request timeout is exceeded. After the timeout is exceeded, the display
aborts the current request, and then reattempts the request.
The system sets the SPI flashless communication error bit if the display has three consecutive SPI
flashless data request errors. If this happens, it is assumed that the SPI communication link is not
operational, and system operations halt. The system requires a reset to restart operations.
The system sets the master versus slave bit as appropriate in both single and dual controller
configurations.
The system sets the product configuration error bit if it determines that some piece of the product
configuration is not correct. Some examples are:
• Invalid controller/DMD combination
• Invalid controller/DLPA300x combination
• Invalid flash build for current controller, DMD, or DLPA300x configuration
The system sets the watchdog timer timeout bit if the system has been reset due to a watchdog timer
timeout.
This command returns the communication status for the command bus specified.
• Reserved: This selection returns status bytes 1 through 6
• Reserved: This selection returns status bytes 1 though 4
• I2C only: This selection returns status bytes 5 though 6
All communication status error bits are cleared when the Read Communication Status is read.
The system sets the invalid command error bit when it does not recognize the command offset. The
invalid command offset is reported in the I2C CMD error offset byte of this status.
The system sets the invalid command parameter error bit when the it detects that the value of a command
parameter is not valid (for example, out of allowed range).
The system sets the command processing error bit when a fault is detected when processing a command.
In this case, the command aborts and the system moves to the next command. The offset for the aborted
command is reported in the I2C CMD error offset byte of this status.
The system sets the flash batch file error bit when an error occurs during the processing of a flash batch
file. When this bit is set, typically another bit is set to indicate what kind of error was detected (for
example, invalid command error).
The system sets the read command error bit when the host terminates the read operation before all of the
requested data has been provided, or if the host continues to request read data after all of the requested
data has been provided.
The system sets the Invalid number of command parameters error bit when too many or too few command
parameters are received. In this case, the command abortes with the system moving on to the next
command. The offset for the aborted command is reported in the I2C CMD error offset byte of this status.
The system sets the bus timeout by display error bit when the display releases control of the bus because
the bus timeout value was exceeded.
The CMD error offset is associated with various I2C communication status bits, and reports the offset for
an I2C command as noted.
Figure 3-12 shows the bit order and definition for the signed magnitude system temperature data (in °C).
The unspecified msbits (bits 15:12) are set to ‘0’.
Sign of Temperature:
0 = Positive Temperature
1 = Negative Temperature
Magnitude of Temperature:
Divide by 10 (Decimal) to Find Magnitude
The OEM is allowed to specify a version number for the controller flash build in the format specified by this
command. This command allows the OEM to read back this version information.
This command is used to specify an execution delay time within a flash batch file. It can only be used
within a flash batch file, and is not a valid command on the I2C interfaces.
The flash batch file delay is to be specified in units of 1 ms (for example, 500 ms = 1F4h) .
Applications typically use this command in the auto-init flash batch file (batch file 0), but it is valid for use
in any batch file (See write execute flash batch file).
Ensure that the software uses the available hardware timers.
Table 3-131. Byte 1 Read DMD I/F Training Data Register Field Descriptions
Bit Type Description
7-5 R Reserved
4 R Training data selection
0h = High/Low/Selected
1h = Full profile
3-0 R Controller pin pair selection
0h = A
1h = B
2h = C
3h = D
4h = E
5h = F
6h = G
7h = H
8h - Fh = Reserved
This command will return the DMD I/F training data specified for the controller pin pair specified.
• High/Low/Selected: This selection will return bytes 1 through 4
• Full profile: This selection will return bytes 5 though 11
Table 3-133. Byte 1 Read DMD I/F Training Data Register Field Descriptions
Bit Type Description
7-6 R Reserved
5 R Training error
0h = No error
1h = Error
4 R Pin pair selected for training
0h = No
1h = Yes
3-0 R Controller pin pair selection
0h = A
1h = B
2h = C
3h = D
4h = E
5h = F
6h = G
7h = H
8h - Fh = Reserved
Table 3-134. Byte 2 Read DMD I/F Training Data Register Field Descriptions
Bit Type Description
7-6 R Reserved
5-0 R Selected DLL (delay-locked loop) value
Table 3-135. Byte 3 Read DMD I/F Training Data Register Field Descriptions
Bit Type Description
7-6 R Reserved
5-0 R Low pass DLL value
Table 3-136. Byte 4 Read DMD I/F Training Data Register Field Descriptions
Bit Type Description
7-6 R Reserved
5-0 R High pass DLL value
This command is typically used for debug or characterization of the controller to DMD interface.
The return data is specified by the read parameter data.
DMD I/F training tests/calibrates the DLL that is associated with each contoller pin pair, trying each of the
DLL parameter values (0 to 50), looking for a pass (‘0’) or fail (‘1’) response for each value. Thus, the full
training profile for each pin pair is made up of a 51 bit pass/fail result. This result is provided on full profile
bits 50:0.
The full profile response should have a region of passing DLL values. The highest DLL value for this
region is returned as the high pass DLL value, the smallest DLL value is returned as the low pass DLL
value, and the algorithm selected value as the selected DLL value.
This command does not run the DMD I/F training algorithm. This is done automatically by the system. This
command returns the result from the most recent training event.
This command is used in conjunction with the flash data type select command. This command would be
sent after the flash data type has been selected, but before any other flash operation. The purpose is to
verify that the desired flash update is compatible, and will fit within the existing flash space, for the current
flash configuration.
The flash build data size specifies the size of the flash update package in bytes.
When the controller software receives the flash build data size, it will verify that the package is appropriate
for the specified location. This includes size, identifier, sequence build type, and so forth.
A package size error indicates that the flash package is too large to fit into the specified location. A few
examples are listed:
• If replacing the entire flash, the size of the flash build exceeds the size of the flash device in the
system.
• If replacing the entire flash except for the OEM blocks, the size of the flash build will either overwrite
some portion of the existing OEM blocks, or exceed the size of the flash device in the system.
• If replacing the look block, the size of the flash build exceeds the size of the existing look block in the
flash.
• If replacing a single sequence (for example, a partial update), the size of the flash build exceeds the
size of the existing splash screen.
A package configuration error indicates that the flash package is not appropriate for the flash update
requested. An example is listed below.
• If replacing a single splash screen (for example, a partial update), and the specified splash screen
index value (identifier) is not being used in the flash build. Partial updates can only replace an existing
flash entity.
If an error is returned by this command, the OEM is responsible for correcting the error before updating
the flash. If the OEM chooses to ignore the error and update the flash anyway, the system will allow this.
In this case, the OEM is responsible for any problems or system behaviors that arise from this. It should
also be noted that this pre-check does not cover all possible mismatches that might arise when replacing
blocks or partial blocks in the flash.
Table 3-139. Flash Data Type Select Register Field Descriptions (continued)
Bit Type Description
7-0 W OEM Splash screen data
90h = Entire OEM splash screen data set
91h = Partial OEM splash screen data set
92h - 9Fh = Reserved
OEM Calibration data
A0h = OEM calibration data set
A1h - AFh = Reserved
OEM scratchpad data
B0h = Entire OEM scratchpad data set 0
B1h = Partial OEM scratchpad data set 0
B2h = Entire OEM scratchpad data set 1
B3h = Partial OEM scratchpad data set 1
B4h = Entire OEM scratchpad data set 2
B5h = Partial OEM scratchpad data set 2
B6h = Entire OEM scratchpad data set 3
B7h = Partial OEM scratchpad data set 3
B8h - BFh = Reserved
LUT data sets
C0h = Entire CAIC LUT Data Set
D0h = Entire FPGA LUT Data Set
E0h = Entire Actuator Calibration Data Set
The flash data type command must be provided each time a new flash write or read operation is desired
to ensure that the appropriate data type parameters are provided. The system expects four parameter
bytes regardless of whether all four bytes are needed. Any unused bytes should be set to zero.
The flash data length must be provided to indicate the amount of flash data that will be provided for each
write or read transaction.
The specified flash data will be written to or read from flash using the write flash start, write flash continue,
read flash start, and read flash continue commands.
While all of the flash data sets indicated can be written/replaced in their entirety, a few will also support
partial writes/updates. Partial update command parameters will use an “odd” command number (for
example, 91h, B1h) which will indicate that one to three additional command parameter bytes of
information must be provided to specify which subset of data is to be updated. The additional command
parameter data required is described below.
While all of the flash data sets indicated can be read starting at the beginning of the data set, a few will
also support read starts at the beginning of a data subset. The partial update command parameters which
use an “odd” command number (for example, 41h, 43h, 75h) will indicate that one to three additional
command parameter bytes must be provided to specify the start location for these reads. The additional
command parameter data required is described in the previous table.
It is expected that all TI formatted factory calibration data, including the golden ratio, the power-up RGB
currents, and the OEM thermister LUT trim data, will be stored in the OEM calibration block of the flash. It
will be the responsibility of the OEM to manage updates to this block, which may require the OEM to read
the entire block, modify, and then rewrite the entire block when making an update within the block.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
It is recommended that the OEM make use of the flash update pre-check command before updating an
existing flash build.
The system allows the OEM to allocate up to four separable blocks of flash space for their own use (OEM
scratchpad data). The OEM can also specify the size of each of these blocks, where each block can be
one or more sectors in (one sector = 4 kB). This is all defined via the GUI. It is the responsibility of the
OEM to manage these data sets, including updates, which may require the OEM to read an entire sector,
modify, and then rewrite the entire sector when making an update within a sector. References to an
unavailable data set will result in an invalid command parameter value error in the communication status.
When this command is executed, the system will erase all sectors associated with the data type specified
by the flash data type select command. As such, this command does not make use of the flash data
length parameter
Since the process of erasing flash sectors can take a significant amount of time, the flash erase complete
status bit in the read short status command should be checked periodically (not continuously) to determine
when this task has been completed. This bit will be set at the start of the erase process, and will be
cleared when the erase process is complete. Flash writes should not be started before the erase process
has been completed.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
The signature bytes are used to minimize unintended flash erases. The command offset and four
signature bytes must be received correctly before this command will be recognized and executed.
The flash data length command must be used to specify how much data will be sent by the write flash
start command.
The write flash start command is used to write up to 1024 bytes of data starting at the first address of the
data type selected. If more than 1024 bytes are to be written, the write flash continue command must be
used. Up to 1024 bytes of data can be written with each write flash continue command, which starts at the
end of the last data written.
The flash error bit of the write short status command will indicate if the flash update was successful. This
bit will be set for an error at the end of each write transaction, however, once an error has been detected,
this bit will remain in the error state until a new data type is selected (selecting a new data type will clear
this bit). This will allow the OEM the option of checking the status between each write transaction, or at
the end of the update of a specific data type. Once a write transaction has started, the flash status (and
this error bit) will not be accessible until the write transaction has completed.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
NOTE: To prevent system error, avoid issuing I2C commands or manipulating the display hardware
connections while a flash write sequence is in process. Wait until after rebooting the system
to issue new I2C commands or modifying display connections.
The flash data length command must be used to specify how much data will be sent by the write flash
start command.
The write flash start command is used to write up to 1024 bytes of data starting at the first address of the
data type selected. If more than 1024 bytes are to be written, the write flash continue command must be
used. Up to 1024 bytes of data can be written with each write flash continue command, which starts at the
end of the last data written.
The flash error bit of the write short status command will indicate if the flash update was successful. This
bit will be set for an error at the end of each write transaction, however, once an error has been detected,
this bit will remain in the error state until a new data type is selected (selecting a new data type will clear
this bit). This will allow the OEM the option of checking the status between each write transaction, or at
the end of the update of a specific data type. Once a write transaction has started, the flash status (and
this error bit) will not be accessible until the write transaction has completed.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
NOTE: To prevent system error, avoid issuing I2C commands or manipulating the display hardware
connections while a flash write sequence is in process. Wait until after rebooting the system
to issue new I2C commands or modifying display connections.
The flash data length command must be used to specify how much data is to be read by the read flash
start command.
The read flash start command is used to read up to 256 bytes of data starting at the specified address, or
at the first address of the data type selected. If more than 256 bytes are to be read, the read flash
continue command must be used. Up to 256 bytes of data can be read with each read flash continue
command, which starts at the end of the last data read.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
The full profile response should have a region of contiguous passing DLL values. The highest DLL value
for this contiguous region is returned as the high, the smallest DLL value is returned as the low, and the
algorithm selected value as the selected.
This command does not run the DMD I/F training algorithm. This is done automatically by the system. This
command returns the result from the most recent training event.
The flash data length command must be used to specify how much data is to be read by the read flash
continue command.
The read flash start command is used to read up to 256 bytes of data starting at the specified address, or
at the first address of the data type selected. If more than 256 bytes are to be read, the read flash
continue command must be used. Up to 256 bytes of data can be read with each read flash continue
command, which starts at the end of the last data read.
While flash processing requires that flash commands be executed in the proper order (for example, flash
must be erased prior to being written), due to the flexibility provided for flash updates, command order
checking is not provided.
Appendix
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE
DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS”
AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD
PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate
TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable
standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you
permission to use these resources only for development of an application that uses the TI products described in the resource. Other
reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third
party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims,
damages, costs, losses, and liabilities arising out of your use of these resources.
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on
ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable
warranties or warranty disclaimers for TI products.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2019, Texas Instruments Incorporated