DLPU110B April   2021  – August 2022 DLPC6540

 

  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
  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-Initilization Batch File
  20. 18Command Descriptions
  21. 19 System 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 Peripherals
    13. 19.13 Warping
    14. 19.14 Manual WPC
  22. 20Revision History

Peripherals

Peripherals

Table 19-113 GPIO Pin Config [Opcode: 60h | Destination: 4]
Set GPIO Pin Config
Write Parameter(s)
Byte Description
Byte 0

GPIO to select.

Range = 0 to 87.

Byte 1

Input Output

bit 0: 1 = Output (Output buffer enabled)

0 = Input (Output buffer High Z)

Byte 2

Logic Value

bit 0: 1 = LogicVal 1

0 = LogicVal 0

Byte 3

Open Drain Configuration

bit 0: 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

GPIO to select.

Range = 0 to 87.

Return Parameter(s)
Byte Description
Byte 0

Input Output

bit 0: 1 = Output (Output buffer enabled)

0 = Input (Output buffer High Z)

Byte 1

Logic Value

bit 0: 1 = LogicVal 1

0 = LogicVal 0

Byte 2

Open Drain Configuration

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

GPIO to select.

Range = 0 to 87.

Byte 1

Logic Value

bit 0: 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

GPIO to select.

Range = 0 to 87.

Return Parameter(s)
Byte Description
Byte 0

Logic Value

bit 0: 1 = LogicVal 1

0 = LogicVal 0

Returns the logic value for the specified GPIO pin.

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

DLPC Clock Output.

Return Parameter(s)
Byte Description
Byte 0

Is Enabled

Table 19-116 Gen Purpse Clock Frequency [Opcode: 64h | Destination: 4]
Get General Purpose 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-117 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

Sub-address Present

0 = No sub-address present; 1 = sub-address 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

Sub-address Present

0 = No sub-address present; 1 = sub-address 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-118 DMD Temperature [Opcode: 69h | Destination: 4]
Get DMD Temperature
Return Parameter(s)
Byte Description
Bytes 0-1

Value in degree Celcius

Note: As a default condition, the firmware is configured to read TMP411A outputs using I2C port 2.

Range = -256 to 255 with step size 1

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

Table 19-119 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 saved to the EEPROM. The locked mode is to be used only in factory where user wants to test with various settings without actually recording them in the EEPROM. In normal use mode, the lock state parameters should not be modified.

Get EEPROM Lock State
Data returned is in the same format as the Write Parameter(s).

Gets the lock state of EEPROM.

Table 19-120 UART Configuration [Opcode: 6Dh | Destination: 4]
Set UART Configuration
Write Parameter(s)
Byte Description
Byte 0

UART Port

0 = Port 0

1 = Port 1

2 = Port 2

Byte 1

Enable State

bit 0: 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 = Port 0

1 = Port 1

2 = Port 2

Return Parameter(s)
Byte Description
Byte 0

Enable State

bit 0: 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 = Reserved

Gets current configuration for the specified UART port.

Table 19-121 Actuator EEPROM Free Memory Access [Opcode: 6Eh | Destination: 4]
Write to Actuator EEPROM Free Memory
Write Parameter(s)
Byte Description
Byte 0 -1

Offset

Byte 2 - 3

Size

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 saved to the EEPROM. The locked mode is to be used only in factory where user wants to test with various settings without actually recording them in the EEPROM. In normal use mode, the lock state parameters should not be modified.

Get EEPROM Lock State
Data returned is in the same format as the Write Parameter(s).

Gets the lock state of EEPROM.

Table 19-122 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