DLPU082B August   2021  – August 2022 DLPC7540

 

  1.   Programmer's Guide
  2.   Trademarks
  3. Scope
  4. References
  5. Acronyms
  6. System Boot
    1. 4.1 Data In flash
    2. 4.2 Bootloader Application
    3. 4.3 Main Application
    4. 4.4 Commands Supported by Bootloader and Main Applications
    5. 4.5 Debug Terminal
    6. 4.6 HOST_IRQ/SYSTEM_BUSY
    7. 4.7 Heartbeat
    8. 4.8 Low-level Fault
  7. System Status
  8. Version
  9. Power Modes
  10. Display Modes
  11. Source Detection and Configuration
  12. 10Internal sources
    1. 10.1 Test Patterns (TPG)
    2. 10.2 Solid Field (SFG) Color
    3. 10.3 Curtain
  13. 11Display Formatting
  14. 12Image Processing
  15. 13Illumination Control
  16. 14Peripherals
    1. 14.1 GPIO
    2. 14.2 PWM
  17. 15Interface Protocol
    1. 15.1 Supported Interfaces
    2. 15.2 I2C Target
    3. 15.3 USB
  18. 16Command Protocol
    1. 16.1 Command Packet
    2. 16.2 Response Packet
    3. 16.3 Destination Details
    4. 16.4 Error Handling and Recovery
    5. 16.5 System Busy - I2C scenarios
      1. 16.5.1 GPIO implementation
      2. 16.5.2 Short Status response
    6. 16.6 Support for Variable Data Size
  19. 17Auto-Initialization Batch File
  20. 18Command Descriptions
  21. 19System Commands
    1. 19.1  3D
    2. 19.2  Administrative
    3. 19.3  Autolock
    4. 19.4  Blending
    5. 19.5  Bootloader
    6. 19.6  Calibration
    7. 19.7  Debug Internal
    8. 19.8  Debug
    9. 19.9  General Operation
    10. 19.10 Illumination
    11. 19.11 Image Processing
    12. 19.12 Manual WPC
    13. 19.13 Peripherals
    14. 19.14 Warping
  22.   Revision History

Calibration

Calibration

Table 19-37 Initialize On The Fly Load Splash Image [Opcode: A9h | Destination: 4]
Set Initialize On The Fly Load Splash Image
Write Parameter(s)
Byte Description
Bytes 0-19

Header of the pattern Image (same format as the splash header)

Bytes 20-21

Width of the splash image, in pixels, to which given pattern is to be replicated

Bytes 22-23

Height of the splash image, in pixels, to which given pattern is to be replicated

This Command Initializes the on the fly splash load operation. It is used to give the information about the image (dimensions, pixel format, compression used and so on) and sets the data path for the splash load operation. It also resets prior operations. It should be called once before loading an image on the fly.

Table 19-38 Load Splash Image On The Fly [Opcode: AAh | Destination: 4]
Set Load Splash Image On The Fly
Write Parameter(s)
Byte Description
Bytes 0 - *

Image Data

This Command receives the image data and writes it into the VPS DRAM Buffer. It performs decompression if required. Due to the limitation of USB, the entire image data may not be sent in one go. Hence, this command has to be called multiple times in order to load the entire image. It also stores any bytes that are unprocessed by the API (if the API does not have all the bytes required to perform an operation). These unprocessed bytes are sent over to callback function the next time data is received. The API displays the loaded splash once the entire image is loaded into the memory. The remaining pixels to load the image is also returned by the callback function.

Table 19-39 XPR Calibration Pattern Display [Opcode: ABh | Destination: 4]
Set XPR Calibration Pattern Display
Write Parameter(s)

This command loads a pre-defined XPR Calibration pattern as a splash image and displays it on the screen. A 64x64 pattern is repeated over a 3840x2160 display area.

Table 19-40 XPR 4Way Orientation [Opcode: B4h | Destination: 4]
Set XPR 4Way Orientation
Write Parameter(s)
Byte Description
Byte 0

Orientation number. Range 0 - 23.

This command sets the orientation number of the actuator position (which gets stored in EEPROM) There are 24 possible options 0 - 23; use this commmand while performing XPR calibration using TI provided XPR calibration splash image.

Note : Use Display Image Size command to make sure the display area is 3840x2160 If the reported display resolution is less than or equal to 1080p this command will not have any influence on the displayed image.

Get XPR 4Way Orientation
Data returned is in the same format as the Write Parameter(s).

This command retrieves the last set orientation number or the subframe order

Table 19-41 XPR Actuator Waveform Control Parameter [Opcode: B5h | Destination: 4]
Set XPR Actuator Waveform Control Parameter
Write Parameter(s)
Byte Description
Byte 0

XPR Command

0 = Fixed Output Enable

1 = DAC Gain

2 = Subframe delay

3 = Actuator Type (READ ONLY)

4 = Output Enable/Disable

5 = Clock Width

6 = DAC Offset

7 = Number of Segments

8 = Segment Length

9 = Invert PWM A

10 = Invert PWM B

11 = Subframe Filter Value

12 = Subframe Watch Dog

13 = Fixed Output Value

Byte 1

Channel number (0 or 1) of Actuator waveform control for which the command parameter has to be applied

Bytes 2-5

Data that needs to be passed to the command

This command configures/sets up the Actuator Waveform Control(AWC) block. Here, AWCx can be AWC 0 or 1. Bytes 2-5 contains the XPR command data as mentioned in Byte 0. Byte 1 contains AWC channel number, possible values are 0 or 1.

Fixed Output Enable : Configures Actuator in fixed output mode.

Byte 2 : 0x00 - Disable 0x01 - Enable

Bytes 3-5 : Reserved must be set to 0x000000

Gain : Set Waveform Generator DAC/PWM Gain.

Byte 2 : Range 0 - 255 format u1.7 (0 to 1.9921875)

Bytes 3-5 : Reserved must be set to 0x000000

Subframe delay : Subframe delay Bytes 2-5; Range 0 - 262143 and lsb = 133.333ns

Actuator Type (READ ONLY) : Actuator type

Byte 2 :

0x00 - NONE

0x01 - Optotune (XPR-25 Model)

0x80 - TI Actuator Interface (EEPROM)

0x81 - TI Actuator Interface (MCU)

Bytes 3-5 : Reserved must be set to 0x000000

Output Enable/Disable : Actuator output enable/disable

Byte 2 : 0x00 - Disable 0x01 - Enable

Bytes 3-5 : Reserved must be set to 0x000000

Note : Both AWC0 and AWC1 disabled/enabled together

Clock Width : Defines the high and low width for the output clock (the clock period will be 2*(ClkWidth+1))

0 = 1 (Clock period is two clocks); lsb = 8.33ns

Bytes 2-5 : ClkWidth

Example : ClkWidth = 0; will generate clock of 2*(0+1)*8.33 = 16.66ns

Offset : DAC/PWM Output Offset

Byte 2 : Range -128 - +127 format S7 (-128 to +127)

Bytes 3-5 : Reserved must be set to 0x000000

Number of Segments : Defines number of segments

Byte 2 : Range 2 - 255

Bytes 3-5 : Reserved must be set to 0x000000

Segments Length : Defines size of the segments

Bytes 2-3 : Range 19 - 4095

Bytes 4-5 : Reserved must be set to 0x0000

Invert PWM A : Applicable when AWC is configured to PWM type instead of DAC

Byte 2 : 0x00 - No inversion

0x01 - Inverted

Bytes 3-5 : Reserved must be set to 0x000000

Invert PWM B : Applicable when AWC is configured to PWM type instead of DAC

Byte 2 : 0x00 - No inversion 0x01 - Inverted

Bytes 3-5 : Reserved must be set to 0x000000

Subframe Filter Value : Sets Subframe Filter Value - defines the minimum time between Subframe edges. Edges closer than the set value will be filtered out

Byte 2 : 0 = Filter disabled, 0 = Filter time will be Val x 60us, Range : 0 - 255

Bytes 3-5 : Reserved must be set to 0x000000

Subframe Watch Dog : Defines the maximum time between Subframe edges; if timer expires, then the WG will automatically output the Fixed Output value, and the normal output will resume on the next subframe edge.

Bytes 2-3 : 0 = Subframe watchdog disabled, 0 = Watchdog time will be Time x 60us, Range : Range : 0 - 1023

Bytes 4-5 : Reserved must be set to 0x0000

Fixed Output Value : Defines the value to be output on DAC/PWM when fixed output mode is selected.

Byte 2 : Value to be output on DAC/PWM, Range -128 to 127 Bytes 3-5 : Reserved must be set to 0x000000

Note : To use Subframe Filter Value and Subframe Watch Dog care must be taken to set a value which aproximately 10% more than 2x of the operating frequency.

For example - 4K @ 60Hz, the value can be set as (1/(60*2))*1.10*10^6 = 9166us.

Get XPR Actuator Waveform Control Parameter
Read Parameter(s)
Byte Description
Byte 0

XPR Command

0 = Fixed Output Enable

1 = DAC Gain

2 = Subframe delay

3 = Actuator Type (READ ONLY)

4 = Output Enable/Disable

5 = Clock Width

6 = DAC Offset

7 = Number of Segments

8 = Segment Length

9 = Invert PWM A

10 = Invert PWM B

11 = Subframe Filter Value

12 = Subframe Watch Dog

13 = Fixed Output Value

Byte 1

Channel number of Actuator waveform control block for which the command parameter to be readback

Return Parameter(s)
Byte Description
Bytes 0-3

Parameter value obtained for the command passed

This command gets the parameter set to the AWC waveform generator.

Note : This command is supposed to be used only during the normal operating mode and not during the standby state.

Table 19-42 DB Border Configuration [Opcode: BBh | Destination: 4]
Set DB Border Configuration
Write Parameter(s)
Byte Description
Bytes 0-1

number of lines top of border. Range 0 - 4095

Bytes 2-3

number of lines bottom of border. Range 0 - 4095

Bytes 4-5

number of pixels of left border. Range 0 - 4095

Bytes 6-7

number of pixels of right border. Range 0 - 4095

This command configures area of the DynamicBlack border region for the border exclusion function. The border exclusion function allows the user to reduce the letterbox (black border) effect on a primarily bright image where letterbox area reduces the overall scene brightness for the algorithm. It also helps the algorithm better handle images with bright subtitles where the subtitles increase the overall scene brightness. This command will also be used in a multi-controller configuration to exclude any image overlap required for other image processing algorithms.

Get DB Border Configuration
Data returned is in the same format as the Write Parameter(s).

This Command returns the border region area for the DynamicBlack border exclusion function.

Table 19-43 DB Border Weight [Opcode: BCh | Destination: 4]
Set DB Border Weight
Write Parameter(s)
Byte Description
Byte 0

Weight value of border pixels 0 = 0% weighted; 1 = 25% weighted; 2 = 50% weighted; 3 = 75% weighted

0 = Weighted 0%

1 = Weighted 25%

2 = Weighted 50%

3 = Weighted 75%

Get DB Border Weight
Data returned is in the same format as the Write Parameter(s).

Sets weight value of the DynamicBlack border region for the border exclusion function

Table 19-44 DB Clip Pixels [Opcode: BDh | Destination: 4]
Set DB Clip Pixels
Write Parameter(s)
Byte Description
Bytes 0-1

Number of pixels that can be clipped. Range = 0 to 65535.

This command returns currently configured number of steps to allow the DynamicBlack aperture to move.

Get DB Clip Pixels
Data returned is in the same format as the Write Parameter(s).

This command returns the currently selected number of pixels that can be clipped.

Table 19-45 DB Gain [Opcode: BEh | Destination: 4]
Set DB Gain
Write Parameter(s)
Byte Description
Bytes 0-1

Gain value. Typical value range is 1.0 to 8.0.

Format = u4.12

This command controls the DynamicBlack gain value. Typical value range is 1.0 to 8.0. Manual Mode needs to be enabled to set the gain as it will override the gain value that is calculated every frame.

Get DB Gain
Data returned is in the same format as the Write Parameter(s).

This command gets the DynamicBlack gain value. Typical value range is 1.0 to 8.0

Table 19-46 DB Histogram [Opcode: C2h | Destination: 4]
Get DB Histogram
Return Parameter(s)
Byte Description
Bytes 0-135

Start address of the DB histogram array. Array size is 34. The LSB of each bin represents 32 pixels. Each bin saturates at 0x0003FFFF.

This command returns the start address of the DynamicBlack(DB) histogram data. The histogram contains scene brightness data from the previous frame. The DB histogram contains 34 bins measuring non-overlapping intensity ranges in the displayed image. The value of each bin equals the number of pixels within the bin's intensity range. Each pixel's intensity is calculated as the maximum of its red, green, and blue values. In other words, pixel intensity = MAX( R, G, B ). Each pixel has a format of unsigned 8.8, making 16 bit values. Bins 32 and 33 are special bins that represent pixels that have values of exactly zero and only fractional values respectively. This function can be used independently of aperture control for image improvement in dark scenes.

Table 19-47 Current Led Color Point [Opcode: C4h | Destination: 4]
Get Current Led Color Point
Return Parameter(s)
Byte Description
Bytes 0-1

Chromatic x coordinate in (Transmitted in u1.15 format)

Format = u1.15

Bytes 2-3

Chromatic y coordinate in (Transmitted in u1.15 format)

Format = u1.15

Bytes 4-7

Luminance Y coordinate

Gets x,y coordinates of system's current white point. WPC should be initialized and calibration data should be set before calling this command.

Table 19-48 WPC Optimal Duty Cycle [Opcode: C5h | Destination: 4]
Set WPC Optimal Duty Cycle
Write Parameter(s)

Searches available duty cycles and sets the optimal one for corerct LED white point. Sensor calibration Data should be set before using this command.

Get WPC Optimal Duty Cycle
Return Parameter(s)
Byte Description
Bytes 0-1

Red Ideal Duty Cycle (Transmitted in u8.8 format)

Format = u8.8

Bytes 2-3

Green Ideal Duty Cycle (Transmitted in u8.8 format)

Format = u8.8

Bytes 4-5

Blue Ideal Duty Cycle in (Transmitted in u8.8 format)

Format = u8.8

Bytes 6-7

Red Optimal Duty Cycle (Transmitted in u8.8 format)

Format = u8.8

Bytes 8-9

Green Optimal Duty Cyclee (Transmitted in u8.8 format)

Format = u8.8

Bytes 10-11

Blue Optimal Duty Cycle in (Transmitted in u8.8 format)

Format = u8.8

Gets Ideal Duty Cycle for Current Target Color Point and the closest Duty Cycle Avaialable. Sensor calibration Data should be set before using this command.

Table 19-49 WPC Calibration Data [Opcode: C6h | Destination: 4]
Set WPC Calibration Data
Write Parameter(s)
Byte Description
Byte 0

LED Color

0 = Red

1 = Green

2 = Blue

Bytes 1-2

Chromatic x coordinate in u1.15 format

Bytes 3-4

Chromatic y coordinate in u1.15 format

Bytes 5-8

Luminance Y coordinate

Set WPC sensor calibration data through this command. WPC_Init() should complete succesfully before invoking this command.

Get WPC Calibration Data
Read Parameter(s)
Byte Description
Byte 0

LED Color

0 = Red

1 = Green

2 = Blue

Return Parameter(s)
Byte Description
Bytes 0-1

Chromatic x coordinate in u1.15 format

Bytes 2-3

Chromatic y coordinate in u1.15 format

Bytes 4-7

Luminance Y coordinate

Bytes 8-11

Red Sensor Output

Bytes 12-15

Green Sensor Output

Bytes 16-19

Blue Sensor Output

Bytes 20-21

Duty Cycle

Format = u8.8

Gets WPC sensor calibration data through this command

Table 19-50 WPC Sensor Output [Opcode: CDh | Destination: 4]
Get WPC Sensor Output
Return Parameter(s)
Byte Description
Bytes 0-3

Red

Bytes 4-7

Green

Bytes 8-11

Blue

Returns Output of Integrating Sensor for Red, Blue and Green

Table 19-51 Maximum SSI Drive Level [Opcode: CEh | Destination: 4]
Set Maximum SSI Drive Level
Write Parameter(s)
Byte Description
Byte 0

Color

0 = SSI SPI/PWM designator for RED

1 = SSI SPI/PWM designator for GREEN

2 = SSI SPI/PWM designator for BLUE

3 = Sample1 for SPI systems.

4 = Sample2 C2

5 = SSI SPI Yellow/ IR for PWM systems.

6 = SSI CYAN for SPI SENSE for PWM systems

7 = SSI MAGENTA for SPI / Frequency for PWM systems

8 = SSI SPI designator for WHITE

9 = SSI SPI designator for Black

10 = SSI SPI designator for IR

Bytes 1-2

Max Drive Level

Set Maximum Drive Level

Get Maximum SSI Drive Level
Read Parameter(s)
Byte Description
Byte 0

Color

0 = SSI SPI/PWM designator for RED

1 = SSI SPI/PWM designator for GREEN

2 = SSI SPI/PWM designator for BLUE

3 = Sample1 for SPI systems.

4 = Sample2 C2

5 = SSI SPI Yellow/ IR for PWM systems.

6 = SSI CYAN for SPI SENSE for PWM systems

7 = SSI MAGENTA for SPI / Frequency for PWM systems

8 = SSI SPI designator for WHITE

9 = SSI SPI designator for Black

10 = SSI SPI designator for IR

Return Parameter(s)
Byte Description
Bytes 0-1

Max Drive Level

Get Maximum Drive Level

Table 19-52 SSI Duty Cycle Index [Opcode: CFh | Destination: 4]
Set SSI Duty Cycle Index
Write Parameter(s)
Byte Description
Bytes 0-1

Index

Select Duty Cycle index for SSI

Get SSI Duty Cycle Index
Return Parameter(s)
Byte Description
Bytes 0-1

Number Of Duty Cycles

Bytes 2-3

Current Duty Cycle Index

Bytes 4-5

Current Red Duty Cycle

Format = u8.8

Bytes 6-7

Current Green Duty Cycle

Format = u8.8

Bytes 8-9

Current Blue Duty Cycle

Format = u8.8

Bytes 10-11

Current Yellow Duty Cycle

Format = u8.8

Bytes 12-13

Current Cyan Duty Cycle

Format = u8.8

Bytes 14-15

Current Magenta Duty Cycle

Format = u8.8

Bytes 16-17

Current White Duty Cycle

Format = u8.8

Get Details of selected Duty Cycles and number of duty cycles available in current system look

Table 19-53 Enable XPR Calibration Mode [Opcode: D1h | Destination: 4]
Set Enable XPR Calibration Mode
Write Parameter(s)
Byte Description
Byte 0

1 - Calibration mode enabled

This command sets the system in bypass mode. Setting the system in bypass mode disables any image processing to establish one to one correspondence between pixels on input source image and display image. Desirable for seeing clear splits of XPR subframes. There is no exit from calibration mode. Please restart the system.

Get Enable XPR Calibration Mode
Data returned is in the same format as the Write Parameter(s).

This command gets the state of XPR calibration mode. Whether enabled or not.

Table 19-54 WPC Calibration Structure Override [Opcode: D2h | Destination: 4]
Set WPC Calibration Structure Override
Write Parameter(s)
Byte Description
Byte 0

LED Color

0 = Red

1 = Green

2 = Blue

Bytes 1-2

Chromatic x coordinate in u1.15 format

Bytes 3-4

Chromatic y coordinate in u1.15 format

Bytes 5-8

Luminance Y coordinate

Bytes 9-12

Red Sensor Output

Bytes 13-16

Green Sensor Output

Bytes 17-20

Blue Sensor Output

Bytes 21-22

Duty Cycle

Format = u8.8

Set the entire WPC sensor calibration data structure through this command. WPC_Init() should complete succesfully before invoking this command.