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

Command Packet

The command packet defines the packet format to follow when commands are sent to the DLP Controller. Fields that are always present are indicated in bold, and optional fields are indicated in normal font.

The definition of which fields are present is based on the 1-byte header field. The length field is mandatory if a command is defined as having variable data size.

Table 16-1 Command Packet format
FieldSize (bytes)Description
Header1See Table 16-2 below.
Opcode1 or 2 based on opcode length field in the headerCommand opcode. Command opcode number greater than 0xFF should be sent using 2 bytes. Other opcodes can be sent with 1 byte or 2 bytes. In case of 2-byte opcode, first byte is the LSB.
Length2 or 0
based on data length present field in the header
Length of the command data in bytes following this byte. Checksum is not included in length.
For example length=10 means there are 10 bytes of data) after this length field. LSB of length shall be sent first followed by MSB.
Data0-511 ( total of maximum 512 bytes in the whole message including header and checksum)Parameters/data
Checksum1 or 0
(optional as checksum present field of header byte)
Checksum of all bytes in the message including header bytes. Fletcher's checksum is implemented as below:-
uint32  SimpleChecksum = 0;
uint32 SumofSumChecksum = 0;
uint08 *Addr = (uint08 *) StartAddress;
while (NumBytes--)
{
    SimpleChecksum += *Addr++;
    SumofSumChecksum += SimpleChecksum;
}
Table 16-2 Command Header Byte
BitsField nameValues
0:2DestinationSee Section 16.3
3Opcode Length1 = Two byte opcode
0 = One byte opcode
4Datalength Present1 = Length field present in the extended header
0 = No length field
5Checksum Present1 = Checksum present after data bytes
0 = Checksum not present
6Reply Requested1 = Device will send a response packet to every write command. This field is applicable only for write commands
0 = Response packet not sent for write commands
7Read Command1 = Read Command
0 = Write Command