DLPU134 April   2024

 

  1.   1
  2.   Trademarks
  3. 1Purpose and Scope
  4. 2UART Host Interface
    1. 2.1 UART Requirements
    2. 2.2 UART Commands
    3. 2.3 UART Read Commands
    4. 2.4 UART Command Builder Tool
  5. 3MicroSD Card Playback
    1. 3.1 MicroSD Card Overview
    2. 3.2 MicroSD Card Formatting and Configuration
    3. 3.3 MicroSD Card Playback Operation
  6. 4Graphics Library
    1. 4.1 Graphics Library Overview
    2. 4.2 Initial Animations
    3. 4.3 MicroSD Card Images
    4. 4.4 Splash Image
    5. 4.5 Smart Home Demo
  7. 5DSI Mode
    1. 5.1 DSI Mode Overview
  8. 6Revision History

UART Commands

A group of fields makes up a transmission frame. A transmission frame is composed of the fields required to complete one transmission operation on the UART interface. Figure 2-41 shows the structure of a data transmission operation in a transmission frame.


GUID-20240225-SS0I-V597-P3QD-XRRZMQ6MNNQK-low.png

Figure 2-4 UART Interface Transmission Frame

UART events must be interrupt dependent, not polled, such that when the controller sends a UART payload, the MSPM0 enters a UART Interrupt Service Routine (ISR) to process the incoming payload. UART controller total incoming payload:

Byte Number Byte Field Name Value Description
0 Sync 0x55 The sync field is the first field in every frame that is transmitted by the controller. The sync field is used by the MSPM0 device to confirm the correct baud rate of the frame that is sent by the controller.
1 Main Command

Bit0-1: Command Mode

Bit2-6: Command Size

Bit7: MSPM0 Address

Command Mode:

The command field is the second field in every frame sent by the controller. The command field contains instructions about what to do with and where to send the data that is transmitted to a particular MSPM0 device. The command field can also instruct the MSPM0 device to send data back to the controller during a read operation. The number of data fields to be transmitted is also determined by the command in the command field.

0x00 = DLPC3421 Command

0x01 = SSD1963 Command

0x02 = MSPM0 Command

0x03 = Reserved / TI Internal Command

Command Size:

5 bits to indicate the number of write bytes (up to 32 bytes) to expect for the active command following this (Main Command) byte, but excludes the checksum from the count. The MSPM0 expects the given number of bytes to consider the UART controller transfer complete, or timeout to exit the UART receive function if the number of expected bytes is not received within 100ms of the last byte received.

MSPM0 Address:

In the MSPM0 device, the last bit of the command field is reserved for UART address information. The address information in the command field is compared to the UART_ADDR parameter defined in the MSPM0 source code. Upon receiving the command field, the MSPM0 device checks if the self-address matches the received address. If it matches, the device executes on the received command. If the address does not match, the device disregards the received frame. The default preprogrammed address for the MSPM0 device is 0.

2 ... n Command Mode Payload n = up to 32 bytes (Refer to the individual command mode payload tables below for details.)
2 ... n+1 Checksum 1 Byte

CheckSum8 Modulo 256: Sum of Bytes % 256

The Sync field is not included in the checksum calculation.

1 Delimiter 0X0A The delimiter byte value of 0x0A is identical to the newline character is ASCII, and represents the end of the complete UART payload.

Command Mode:

0x00 = DLPC3421 Command sub-payload:

Byte Number Byte Field Name Value Description
0 Address (Chip Address) 1 byte

Write = 0x36 or 0x3A

Read Request = 0x36 or 0x3A

Read Response = 0x37 or 0x3B

1 Read Data Length 1 byte Max supported respond length is 255 (theoretical), but limit to 29 (actual based on payload structure). This value is "do not care" for a write commands.
2 Sub-Address (Command) 1 byte OpCode

Supports all command types listed in the DLPC3421 Programmer's Guide, which include:

  • General Operation
  • Illumination Control
  • Image Processing Control
  • General Setup
  • DSI Commands
  • Administrative
  • Flash Update
3 ... n Remaining Data Bytes (Write Parameters) n = up to 8 or 29 bytes All commands require 8 or less bytes as write parameters. The maximum number of parameter bytes is limited to 8 based on the Write Image Crop (10h) command. Excludes full support for up to 1024 bytes of the Write Flash Start (E1h) and Write Flash Continue (E2h) commands; these commands are limited to 29 bytes due to the UART controller payload's Main Command size of 32 bytes.

See the DLPC3421 Software Programmer's Guide for additional details.

0x01 = SSD1963 Command sub-payload:

Byte Number Byte Field Name Value Description
0 Command 1 byte hex code Supports all commands listed in the SSD1963 LCD Controller data sheet.
1 ... n Write Parameters n = up to 9 bytes All commands require 9 or less bytes as write parameters. The maximum number of parameter bytes is limited to 9 based on the set_dbc_th (D4h) and get_dbc_th (D5h) commands.

See the SSD1963 LCD Controller data sheet for additional details.

0x02 = MSPM0 Command sub-payload:

Byte Number Byte Field Name Value Description
0-3 MSPM0 32-bit Address 4 bytes MSPM0 uses a 32-bit (4 byte) address length. Byte 0 is MSB, and Byte 3 is LSB.
4-7 Register Read Data 4 bytes Each register address stores a 32-bit data length value. Byte 4 is MSB, and Byte 7 is LSB.

See the MSPM0G3507 data sheet for additional details.

0x03 = TI Internal Command sub-payload:

Byte Number Byte Field Name Value Description
0 ... n Reserved n = up to 32 bytes TI Internal functionality