Other TMs
本指南文档介绍了 MSPM0G3507 MCU 及其与构成 DLPDLCR160CPEVM 的 DLPC3421 芯片组的交互。MCU 用作 DLPC 控制器的主机。本指南介绍了此 MCU 支持的功能和特性。
UART 数字通信是一种控制器/外设通信链路,其中 MSPM0 仅是外设。控制器设置数据传输开始和结束的时间。在控制器发出命令之前,外设不会将数据发送回至控制器。UART 接口上的逻辑 1 值被定义为隐性值(RXD 引脚上的弱上拉)。UART 接口上的逻辑 0 值被定义为显性值(RXD 引脚上的强下拉)。
UART 异步模式接口设计用于 2400bps 至 115200bps 的运行数据速率。与 UART 接口运行相关的其他参数包括:
数据和控制都采用小端字节序格式。数据以字节大小数据包形式通过 UART 接口进行传输。数据包字段的第一个位是起始位(显性)。该字段的接下来 8 个位是 UART 接收器要处理的数据位。该字段的最后一个位是停止位(隐性)。信息字节以及起始位和停止位组合在一起构成了一个 UART 字段。
TTL-232R-3V3 是 USB 转串行(TTL 电平)转换器电缆,可轻松地将 TTL 接口单元连接到 USB。此版本的 FTDI USB 转 TTL 串行适配器电缆具有配置为在 3.3V 电平下运行的 I/O 引脚。这是测试期间使用的一个 USB 转串行设备示例。
一组字段构成一个传输帧。一个传输帧由在 UART 接口上完成一次传输操作所需的字段组成。图 2-4 展示了一个传输帧中数据传输操作的结构。
UART 事件必须依赖中断,而不是轮询,这样当控制器发送 UART 有效载荷时,MSPM0 会进入 UART 中断服务例程 (ISR) 来处理传入的有效载荷。UART 控制器总传入有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 | 同步 | 0x55 | 同步字段是控制器发送的每个帧的第一个字段。MSPM0 器件使用同步字段来确认控制器发送的帧的正确波特率。 |
1 | 主命令 |
Bit0-1:命令模式 Bit2-6:命令大小 Bit7:MSPM0 地址 |
命令模式: 命令字段是控制器发送的每个帧中的第二个字段。命令字段包含有关如何处理数据以及将数据发送到特定 MSPM0 器件的位置的说明。命令字段还可指示 MSPM0 器件在读取操作期间将数据发送回控制器。要发送的数据字段的数量也由命令字段中的命令决定。 0x00 = DLPC3421 发出命令 0x01 = SSD1963 发出命令 0x02 = MSPM0 发出命令 0x03 = 保留/TI 内部命令 命令大小: 5 个位,用于指示(主命令)字节之后有效命令预期的写入字节数(最多 32 个字节),但计数中不包括校验和。MSPM0 预计接收到给定数量的字节以确定 UART 控制器传输完成,如果在接收到最后一个字节后的 100ms 内未收到预期数量的字节,则会发生超时以退出 UART 接收函数。 MSPM0 地址: 在 MSPM0 器件中,命令字段的最后一位保留用于 UART 地址信息。命令字段中的地址信息会与 MSPM0 源代码中定义的 UART_ADDR 参数进行比较。接收到命令字段后,MSPM0 器件会检查自地址是否与接收到的地址匹配。如果地址匹配,该器件会根据接收到的命令执行操作。如果地址不匹配,该器件会忽略接收到的帧。MSPM0 器件的默认预编程地址为 0。 |
2 ... n | 命令模式有效载荷 | n = 最多 32 个字节 | (有关详细信息,请参阅下面的各个命令模式有效载荷表。) |
2 ... n+1 | 校验码 | 1 字节 |
CheckSum8 模数 256:字节总和 % 256 同步字段不包含在校验和计算中。 |
1 | 分界符 | 0X0A | 定界符字节值为 0x0A,与 ASCII 中的换行符相同,表示整个 UART 有效载荷的末尾。 |
命令模式:
0x00 = DLPC3421 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 | 地址(芯片地址) | 1 字节 |
写入 = 0x36 或 0x3A 读取请求 = 0x36 或 0x3A 读取响应 = 0x37 或 0x3B |
1 | 读取数据长度 | 1 字节 | 支持的最大响应长度为 255(理论值),但限制为 29(实际值基于有效载荷结构)。对于写入命令,该值为“无关”。 |
2 | 子地址(命令) | 1 字节操作码 |
支持《DLPC3421 编程人员指南》中列出的所有命令类型,其中包括:
|
3 ... n | 其余数据字节(写入参数) | n = 最多 8 个或 29 个字节 | 所有命令所需的写入参数字节数不超过 8 个。根据写入图像裁剪 (10h) 命令,参数字节的最大数量限制为 8。不包括对多达 1024 个字节写入闪存开始 (E1h) 和写入闪存继续 (E2h) 命令的完全支持;由于 UART 控制器有效载荷的主命令大小为 32 个字节,因此这些命令限制为 29 个字节。 |
有关更多详细信息,请参阅 DLPC3421 软件编程人员指南。
0x01 = SSD1963 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 | 命令 | 1 字节十六进制代码 | 支持 SSD1963 LCD 控制器数据表中列出的所有命令。 |
1 ... n | 写入参数 | n = 最多 9 个字节 | 所有命令所需的写入参数字节数不超过 9 个。根据 set_dbc_th (D4h) 和 get_dbc_th (D5h) 命令,参数类型的最大数量限制为 9。 |
有关更多详细信息,请参阅 SSD1963 LCD 控制器数据表。
0x02 = MSPM0 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0-3 | MSPM0 32 位地址 | 4 字节 | MSPM0 使用 32 位(4 字节)地址长度。字节 0 为 MSB,字节 3 为 LSB。 |
4-7 | 寄存器读取数据 | 4 字节 | 每个寄存器地址存储一个 32 位数据长度值。字节 4 为 MSB,字节 7 为 LSB。 |
有关更多详细信息,请参阅 MSPM0G3507 数据表。
0x03 = TI 内部命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 ... n | 保留 | n = 最多 32 个字节 | TI 内部功能 |
如果 MSPM0 要将数据返回到外部主机控制器 (PC GUI),则 UART 外设的总传出有效载荷必须与传入有效载荷格式相匹配。传入有效载荷的独有数据会回送至控制器。PC GUI 可对读取/返回数据的预计时间进行编程,并在数据返回到控制器期间向外设发送 null (0xFF) 数据。
UART 外设总传出有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 | 同步 | 0x55 | 同步字段是控制器发送的每个帧的第一个字段。MSPM0 器件使用同步字段来确认控制器发送的帧的正确波特率。 |
1 | 主命令(控制器回波) | 1 字节 | 请参阅“传入有效载荷说明”。 |
2 ... n | 命令模式有效载荷 | n = 最多 32 个字节 | 有关详细信息,请参阅下面的各个命令模式有效载荷表。 |
2 ... n+1 | 校验码 | 1 字节 |
CheckSum8 模数 256:字节总和 % 256 同步字段不包含在校验和计算中。 |
1 | 分界符 | 0X0A | 定界符字节值为 0x0A,与 ASCII 中的换行符相同,表示整个 UART 有效载荷的末尾。 |
命令模式:
0x00 = DLPC3421 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 |
地址(芯片地址) (控制器回波) |
1 字节 |
写入 = 0x36 或 0x3A 读取请求 = 0x36 或 0x3A 读取响应 = 0x37 或 0x3B |
1 |
读取数据长度 (控制器回波) |
1 字节 | 支持的最大响应长度为 255(理论值),但限制为 29(实际值基于有效载荷结构)。对于写入命令,该值为“无关”。 |
2 |
子地址(命令) (控制器回波) |
1 字节 |
支持 DLPC3421 软件编程人员指南中列出的所有命令类型,其中包括:
|
3 ... n | 读取参数 | n = 最多 29 个字节 | 根据命令“读取序列头属性”(26h),返回参数的最大数量预计为 29 个字节。或者,可以考虑完全支持“读取闪存开始”(E3h) 和“读取闪存继续”(E4h) 命令的最多 256 个读取字节;由于 UART 控制器有效载荷的主命令大小为 32 个字节,因此这些命令限制为 29 个字节。 |
有关更多详细信息,请参阅 DLPC3421 软件编程人员指南。
0x02 = MSPM0 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 | 命令(控制器回波) | 1 字节十六进制代码 | 请参阅“传入有效载荷说明”。 |
1 ... n | 读取参数 | n = 最多 9 个字节 | 所有命令所需的读取参数字节数不超过 9 个。根据 set_dbc_th (D4h) 和 get_dbc_th (D5h) 命令,参数类型的最大数量限制为 9。 |
有关更多详细信息,请参阅 SSD1963 LCD 控制器数据表。
0x02 = MSPM0 命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0-3 | MSPM0 32 位地址(控制器回波) | 4 字节 | MSPM0 使用 32 位(4 字节)地址长度。字节 0 为 MSB,字节 3 为 LSB。 |
4-7 | 寄存器读取数据 | 4 字节 | 每个寄存器地址存储一个 32 位数据长度值。字节 4 为 MSB,字节 7 为 LSB。 |
有关更多详细信息,请参阅 MSPM0G3507 数据表。
0x03 = TI 内部命令子有效载荷:
字节编号 | 字节字段名称 | 值 | 说明 |
---|---|---|---|
0 ... n | 保留 | n = 最多 32 个字节 | TI 内部功能 |