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

Peripherals

Peripherals

Table 19-122 GPIO Pin Config [Opcode: 60h | Destination: 4]
Set GPIO Pin Config
Write Parameter(s)
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 Parameter(s)
Byte Description
Byte 0

Range = 0 to 87.

Return Parameter(s)
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 19-123 GPIO Pin [Opcode: 61h | Destination: 4]
Set GPIO Pin
Write Parameter(s)
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 Parameter(s)
Byte Description
Byte 0

Range = 0 to 87.

Return Parameter(s)
Byte Description
Byte 0

Logic Value

bit0: 1 = LogicVal 1

0 = LogicVal 0

Returns the logic value for the specified GPIO pin.

Table 19-124 Gen Purpse Clock Enable [Opcode: 63h | Destination: 4]
Set Gen Purpse Clock Enable
Write Parameter(s)
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 Purpse Clock Enable
Read Parameter(s)
Byte Description
Byte 0

DDP Clock Output.

Return Parameter(s)
Byte Description
Byte 0

Is Enabled

Table 19-125 Gen Purpse Clock Frequency [Opcode: 64h | Destination: 4]
Get Gen Purpse Clock Frequency
Read Parameter(s)
Byte Description
Byte 0

Clock for which the frequency configuration needs to be returned.

Return Parameter(s)
Byte Description
Bytes 0-3

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

Table 19-126 PWM Output Configuration [Opcode: 65h | Destination: 4]
Set PWM Output Configuration
Write Parameter(s)
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 Dutycycle 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 Parameter(s)
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 Parameter(s)
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 Dutycycle and frequency for the specified PWM port. It also returns whether the port is currently enabled or disabled.

Table 19-127 PWM Input Configuration [Opcode: 66h | Destination: 4]
Set PWM Input Configuration
Write Parameter(s)
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, dutycycle, 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 Parameter(s)
Byte Description
Byte 0

Port

0 = PWM Input Counter 0

1 = PWM Input Counter 1

Return Parameter(s)
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, dutycycle, 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 19-128 I2C Passthrough [Opcode: 67h | Destination: 4]
Set I2C Passthrough
Write Parameter(s)
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 Parameter(s)
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 Parameter(s)
Byte Description
Bytes 0- Number of bytes passed

Data Bytes

Reads data from specified I2C device address.

Table 19-129 DMD Temperature [Opcode: 69h | Destination: 4]
Get DMD Temperature
Return Parameter(s)
Byte Description
Bytes 0-1

value in degree CelciusNote : 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 19-130 EEPROM Lock State [Opcode: 6Ch | Destination: 4]
Set EEPROM Lock State
Write Parameter(s)
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 Parameter(s).

Gets the lock state of EEPROM.

Table 19-131 UART Configuration [Opcode: 6Dh | Destination: 4]
Set UART Configuration
Write Parameter(s)
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 Parameter(s)
Byte Description
Byte 0

UART Port

0 = Port0

1 = Port1

2 = Port2

Return Parameter(s)
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 19-132 Actuator EEPROM Free Memory Access [Opcode: 6Eh | Destination: 4]
Set Actuator EEPROM Free Memory Access
Write Parameter(s)
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 Parameter(s)
Byte Description
Bytes 0-1

Offset

Bytes 2-3

Size

Return Parameter(s)
Byte Description
Bytes 0- Number of bytes passed

Data Bytes

This Command reads data from Actuator EEPROM Free memory.

Table 19-133 Actuator EEPROM Free Memory Info [Opcode: 6Fh | Destination: 4]
Get Actuator EEPROM Free Memory Info
Return Parameter(s)
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.