DLPU082C August   2021  – March 2024 DLPC7540

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Scope
  5. References
  6. Acronyms
  7. 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
  8. System Status
  9. Version
  10. Power Modes
  11. Display Modes
  12. Source Detection and Configuration
  13. 10Internal Sources
    1. 10.1 Test Patterns (TPG)
    2. 10.2 Solid Field (SFG) Color
    3. 10.3 Curtain
  14. 11Display Formatting
  15. 12Image Processing
  16. 13Warping
    1. 13.1 Control Point Table
    2. 13.2 Manual Warp Table
    3. 13.3 Table Constraints
    4. 13.4 Example Warp Table
    5. 13.5 Manual Warping Commands
      1. 13.5.1 CMD_SetManualWarpControlPoints [Command ID: 0x35, Destination: 4]
      2. 13.5.2 CMD_GetManualWarpControlPoints [Command ID: 0x35, Destination: 4]
      3. 13.5.3 CMD_WriteManualWarpTable [Opcode: 0x34, Destination: 4]
      4. 13.5.4 CMD_ReadManualWarpTable [Opcode: 0x34, Destination: 4]
      5. 13.5.5 CMD_ConfigureSmoothWarp [Command ID: 0x38, Destination: 4]
      6. 13.5.6 CMD_ApplyManualWarping [Command ID: 0x36, Destination: 4]
    6. 13.6 Optical (Lens) Distortion Correction
  17. 14Introduction to Blending
    1. 14.1  Blend Map Control Points
    2. 14.2  Blend Map Gain Values
    3. 14.3  Blend Map Offset Value
    4. 14.4  Constraints
    5. 14.5  Manual Blending Commands
      1. 14.5.1 CMD_EnableEdgeBlending [Command ID: 0x2F]
      2. 14.5.2 CMD_SetBlendMapControlPoints [Opcode: 0x2E]
      3. 14.5.3 CMD_ GetBlendMapControlPoints [Command ID: 0x2E]
      4. 14.5.4 CMD_SetBlendMapGainValues [Command ID: 0x2B]
      5. 14.5.5 CMD_ GetBlendMapGainValues [Command ID: 0x2B]
      6. 14.5.6 CMD_ SetBlendMapOffsetValues [Command ID: 0x2D]
      7. 14.5.7 CMD_ GetBlendMapOffsetValues [Command ID: 0x2D]
      8. 14.5.8 CMD_ApplyBlendMap [Command ID: 0x2C]
    6. 14.6  Manual Blending Application Commands
      1. 14.6.1 CMD_SetEdgeBlendingSystemParams [Command ID: 0x3D]
      2. 14.6.2 CMD_GetEdgeBlendingSystemParams [Command ID: 0x3D]
      3. 14.6.3 CMD_SetEdgeBlendingConfiguration [Command ID: 0x3E]
      4. 14.6.4 CMD_GetEdgeBlendingConfiguration [Command ID: 0x3E]
    7. 14.7  Cropping of Input Image for Blending Setup
    8. 14.8  Storing Edge Blend Configuration in EEPROM
    9. 14.9  Storing in EEPROM or Secondary Flash
    10. 14.10 Manual Blending GUI in Control Program
  18. 15Illumination Control
  19. 16Peripherals
    1. 16.1 GPIO
    2. 16.2 PWM
  20. 17Interface Protocol
    1. 17.1 Supported Interfaces
    2. 17.2 I2C Target
    3. 17.3 USB
  21. 18Command Protocol
    1. 18.1 Command Packet
    2. 18.2 Response Packet
    3. 18.3 Destination Details
    4. 18.4 Error Handling and Recovery
    5. 18.5 System Busy - I2C scenarios
      1. 18.5.1 GPIO Implementation
      2. 18.5.2 Short Status Response
    6. 18.6 Support for Variable Data Size
  22. 19Auto-Initialization Batch File
  23. 20Command Descriptions
  24. 21System Commands
    1. 21.1  3D
    2. 21.2  Administrative
    3. 21.3  Autolock
    4. 21.4  Bootloader
    5. 21.5  Calibration
    6. 21.6  Blending
    7. 21.7  Debug Internal
    8. 21.8  Debug
    9. 21.9  General Operation
    10. 21.10 Illumination
    11. 21.11 Image Processing
    12. 21.12 Manual WPC
    13. 21.13 Peripherals
    14. 21.14 Vision
    15. 21.15 Warping
  25.   Revision History

Peripherals

Peripherals

Table 21-122 GPIO Pin Config [Opcode: 60h | Destination: 4]
Set GPIO Pin Config
Write Parameters
Byte Description
Byte 0

Range = 0 to 87.

Byte 1

Input Output

bit0: 1 = Output(Output buffer enabled)

0 = Input(Output buffer High Z)

Byte 2

Logic Value

bit0: 1 = LogicVal 1

0 = LogicVal 0

Byte 3

Open Drain Configuration

bit0: 1 = Open Drain output

0 = Standard output

Programs the direction, logic value and open drain characteristics of a single general purpose I/O pin.

Get GPIO Pin Config
Read Parameters
Byte Description
Byte 0

Range = 0 to 87.

Return Parameters
Byte Description
Byte 0

Input Output

bit0: 1 = Output(Output buffer enabled)

0 = Input(Output buffer High Z)

Byte 1

Logic Value

bit0: 1 = LogicVal 1

0 = LogicVal 0

Byte 2

Open Drain Configuration

bit0: 1 = Open Drain output

0 = Standard output

Returns the direction, logic value and open drain configuration for a single general purpose I/O pin.

Table 21-123 GPIO Pin [Opcode: 61h | Destination: 4]
Set GPIO Pin
Write Parameters
Byte Description
Byte 0

Range = 0 to 87.

Byte 1

Logic Value

bit0: 1 = LogicVal 1

0 = LogicVal 0

Sets the output logic value for the specified GPIO Pin.

Get GPIO Pin
Read Parameters
Byte Description
Byte 0

Range = 0 to 87.

Return Parameters
Byte Description
Byte 0

Logic Value

bit0: 1 = LogicVal 1

0 = LogicVal 0

Returns the logic value for the specified GPIO pin.

Table 21-124 Gen Purpose Clock Enable [Opcode: 63h | Destination: 4]
Set Gen Purpose Clock Enable
Write Parameters
Byte Description
Byte 0

Clock to Configure

Byte 1

TRUE = Enable clock

FALSE = Disable clock.

Bytes 2-5

Amount to divide the selected clock. This parameter is ignored if the clock is to be disabled. Range 2-127.

Get Gen Purpose Clock Enable
Read Parameters
Byte Description
Byte 0

DDP Clock Output.

Return Parameters
Byte Description
Byte 0

Is Enabled

Table 21-125 Gen Purpose Clock Frequency [Opcode: 64h | Destination: 4]
Get Gen Purpose Clock Frequency
Read Parameters
Byte Description
Byte 0

Clock for which the frequency configuration needs to be returned.

Return Parameters
Byte Description
Bytes 0-3

Clock frequency in kHz. Range = 787 to 50,000 kHz.

Table 21-126 PWM Output Configuration [Opcode: 65h | Destination: 4]
Set PWM Output Configuration
Write Parameters
Byte Description
Byte 0

Port

0 = Output PWM 0

1 = Output PWM 1

2 = Output PWM 2

3 = Output PWM 3

4 = Output PWM 4

5 = Output PWM 5

6 = Output PWM 6

7 = Output PWM 7

8 = Color Wheel 0 PWM

9 = Color Wheel 1 PWM

10 = Color Wheel 2 PWM

11 = Input PWM 0

12 = Input PWM 1

13 = Used for setting the DynamicBlack PWM port when DB PWM is not used

14 = Invalid PWM Port

Bytes 1-4

Frequency

Range = 20 to 10390000 with step size 1

Byte 5

Duty Cycle

Range = 0 to 100 with step size 1

Byte 6

Output Enabled Byte

bit0: 1 = Enabled

0 = Disabled

Sets the Duty cycle and frequency for the specified PWM port. It also enables or disables the port.

NOTE : The frequency of LED PWM Ports is fixed and cannot be changed.

Get PWM Output Configuration
Read Parameters
Byte Description
Byte 0

Port

0 = Output PWM 0

1 = Output PWM 1

2 = Output PWM 2

3 = Output PWM 3

4 = Output PWM 4

5 = Output PWM 5

6 = Output PWM 6

7 = Output PWM 7

8 = Color Wheel 0 PWM

9 = Color Wheel 1 PWM

10 = Color Wheel 2 PWM

11 = Input PWM 0

12 = Input PWM 1

13 = Used for setting the DynamicBlack PWM port when DB PWM is not used

14 = Invalid PWM Port

Return Parameters
Byte Description
Bytes 0-3

Frequency

Range = 20 to 10390000 with step size 1

Byte 4

Duty Cycle

Range = 0 to 100 with step size 1

Byte 5

Output Enabled

bit0: 1 = Enabled

0 = Disabled

Gets the Duty cycle and frequency for the specified PWM port. It also returns whether the port is currently enabled or disabled.

Table 21-127 PWM Input Configuration [Opcode: 66h | Destination: 4]
Set PWM Input Configuration
Write Parameters
Byte Description
Byte 0

Port

0 = PWM Input Counter 0

1 = PWM Input Counter 1

Bytes 1-4

Sample Rate

Byte 5

In Counter Enabled

Sets the sample rate, duty cycle, high pulse width and low pulse width of the specified PWM incounter port. It also enables or disables the port.

Get PWM Input Configuration
Read Parameters
Byte Description
Byte 0

Port

0 = PWM Input Counter 0

1 = PWM Input Counter 1

Return Parameters
Byte Description
Bytes 0-3

Sample Rate

Range = 317 to 20780000 with step size 1

Byte 4

In Counter Enabled

Bytes 5-6

High Pulse Width

Bytes 7-8

Low Pulse Width

Byte 9

Duty Cycle

Range = 0 to 100 with step size 1

Gets the sample rate, duty cycle, high pulse width and low pulse width of the specified PWM incounter port. It also returns whether the port is currently enabled or disabled.

Table 21-128 I2C Passthrough [Opcode: 67h | Destination: 4]
Set I2C Passthrough
Write Parameters
Byte Description
Byte 0

Port

0 = I2C Port 0

1 = I2C Port 1

2 = I2C Port 2

3 = Only three Ports are supported

Byte 1

7-bit Address - 0 = 10-bit Address; 1 = 7-bit Address

Byte 2

SubAddress Present - 0 = No sub-addr present; 1 = sub-addr present

Bytes 3-6

Clock Rate - 100Khz or 400Khz supported

Bytes 7-8

Device Address

Bytes 9- Number of bytes passed

Sub-address (if present)

Bytes 9 - *

Data Bytes

Writes data to specified I2C device address.

Get I2C Passthrough
Read Parameters
Byte Description
Byte 0

Port

0 = I2C Port 0

1 = I2C Port 1

2 = I2C Port 2

3 = Only three Ports are supported

Byte 1

7-bit Address

0 = 10-bit Address

1 = 7-bit Address

Byte 2

SubAddress Present - 0 = No sub-addr present; 1 = sub-addr present

Bytes 3-6

Clock Rate

Bytes 7-8

Device Address

Bytes 9-10

Byte Count

Bytes 11- Number of bytes passed

sub-address (if present)

Return Parameters
Byte Description
Bytes 0- Number of bytes passed

Data Bytes

Reads data from specified I2C device address.

Table 21-129 DMD Temperature [Opcode: 69h | Destination: 4]
Get DMD Temperature
Return Parameters
Byte Description
Bytes 0-1

Value in degree Celsius. Note : As a default condition, the firmware is configured to read TMP411A outputs using I2C port 2. This can be changed as desired. Using latest DLP Composer SW, the firmware can be rebuilt to receive serial data via I2C at ports 1 and 2 to which the hardware would need to be configured.

Range = -256 to 255 with step size 1

This command applicable only if TMP411A temperature sensor is installed in the system.

Table 21-130 EEPROM Lock State [Opcode: 6Ch | Destination: 4]
Set EEPROM Lock State
Write Parameters
Byte Description
Byte 0

'0' - Unlocked

'1' - Locked

Sets the lock state of EEPROM. When lock is set, all writes to EEPROM settings and/or calibration data from application software will not be actually written to the EEPROM. The locked mode is to be used only in factory where user wants to play around with various settings without actually recording them in the EEPROM. In normal use mode, the lock is not supposed to be set.

Get EEPROM Lock State
Data returned is in the same format as the Write Parameters.

Gets the lock state of EEPROM.

Table 21-131 UART Configuration [Opcode: 6Dh | Destination: 4]
Set UART Configuration
Write Parameters
Byte Description
Byte 0

UART Port

0 = Port0

1 = Port1

2 = Port2

Byte 1

Enable State

bit0: 0 = Disable

1 = Enable

Byte 2

Baud Rate

0 = 1200

1 = 2400

2 = 4800

3 = 9600

4 = 14400

5 = 19200

6 = 38400

7 = 57600

8 = 115200

9 = 230400

10 = 460800

11 = 921600

Byte 3

Data Bits

0 = 5

1 = 6

2 = 7

3 = 8

Byte 4

Stop Bits

0 = 1

1 = 2

Byte 5

Parity

0 = Parity bit is neither transmitted or checked

1 = Even parity is transmitted and checked

2 = Odd parity is transmitted and checked

Byte 6

Flow Control

0 = Off

1 = Hardware flow control

Byte 7

Rx Trig Level

0 = One Eighth Full

1 = One Fourth Full

2 = One Half Full

3 = Three Fourths Full

4 = Seven Eighths Full

Byte 8

Tx Trig Level

0 = One Eighth Full

1 = One Fourth Full

2 = One Half Full

3 = Three Fourths Full

4 = Seven Eighths Full

Byte 9

Rx Data Polarity

0 = Supply non-inverted version of UART_RXD input

1 = Supply inverted version of UART_RXD input

Byte 10

Rx Data Source

0 = UART_x.RXD is sourced by UART_x_RXD pin

1 = UART_x.RXD is sourced by LAMPSTAT pin

Initializes all programmable parameters for the specified UART port.

Get UART Configuration
Read Parameters
Byte Description
Byte 0

UART Port

0 = Port0

1 = Port1

2 = Port2

Return Parameters
Byte Description
Byte 0

Enable State

bit0: 0 = Disable

1 = Enable

Byte 1

Baud Rate

0 = 1200

1 = 2400

2 = 4800

3 = 9600

4 = 14400

5 = 19200

6 = 38400

7 = 57600

8 = 115200

9 = 230400

10 = 460800

11 = 921600

Byte 2

Data Bits

0 = 5

1 = 6

2 = 7

3 = 8

Byte 3

Stop Bits

0 = 1

1 = 2

Byte 4

Parity

0 = Parity bit is neither transmitted or checked

1 = Even parity is transmitted and checked

2 = Odd parity is transmitted and checked

Byte 5

Flow Control

0 = Off

1 = Hardware flow control

Byte 6

Rx Trig Level

0 = One Eighth Full

1 = One Fourth Full

2 = One Half Full

3 = Three Fourths Full

4 = Seven Eighths Full

Byte 7

Tx Trig Level

0 = One Eighth Full

1 = One Fourth Full

2 = One Half Full

3 = Three Fourths Full

4 = Seven Eighths Full

Byte 8

Rx Data Polarity

0 = Supply non-inverted version of UART_RXD input

1 = Supply inverted version of UART_RXD input

Byte 9

Rx Data Source

0 = UART_x.RXD is sourced by UART_x_RXD pin

1 = UART_x.RXD is sourced by LAMPSTAT pin

Gets current configuration for the specified UART port.

Table 21-132 Actuator EEPROM Free Memory Access [Opcode: 6Eh | Destination: 4]
Set Actuator EEPROM Free Memory Access
Write Parameters
Byte Description
Bytes 0-1

Offset

Bytes 2-3

Size

Bytes 4 - *

Data Bytes

Writes data to Actuator EEPROM available memory.

Get Actuator EEPROM Free Memory Access
Read Parameters
Byte Description
Bytes 0-1

Offset

Bytes 2-3

Size

Return Parameters
Byte Description
Bytes 0- Number of bytes passed

Data Bytes

This Command reads data from Actuator EEPROM Free memory.

Table 21-133 Actuator EEPROM Free Memory Info [Opcode: 6Fh | Destination: 4]
Get Actuator EEPROM Free Memory Info
Return Parameters
Byte Description
Bytes 0-1

Offset

Bytes 2-3

Size

This command returns the XPR EEPROM address offset which corresponds to the start of free memory area and size available.