ZHCSZ33 October 2025 DRV8311-Q1
PRODUCTION DATA
SDI 输入数据的字长为 24 位,包含以下格式:
SDO 输出数据字长为 24 位。最高有效位是状态位,最低有效 16 位是所访问寄存器的数据内容。
| R/W | 地址 | 奇偶校验 | 奇偶校验 | DATA | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B23 | B22 | B21 | B20 | B19 | B18 | B17 | B16 | B15 | B14 | B13 | B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
| W0 | A5 | A4 | A3 | A2 | A1 | A0 | P | P | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| 状态 | DATA | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B23 | B22 | B21 | B20 | B19 | B18 | B17 | B16 | B15 | B14 | B13 | B12 | B11 | B10 | B9 | B8 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
| S7 | S6 | S5 | S4 | S3 | S2 | S1 | S0 | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
SDI 输入数据的字长为 32 位,包含以下格式:
SDO 输出数据字长为 24 位。前 8 位是状态位,后 16 位是所访问寄存器的数据内容。格式与表 7-8 中所示的标准 SPI 相同
| R/W | 次级器件 ID | 地址 | 00 | 奇偶校验 | 奇偶校验 | DATA | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| B31 | B30 | B29 | B28 | B27 | B26 - B19 | B18 | B17 | B16 | B15 | B14 - B0 | |||||||||||||||||
| W0 | 0 | 0 | AD1 | AD0 | A7 - A0 | 0 | 0 | P | P | D14 - D0 | |||||||||||||||||
下面详细介绍了 SPI 和 tSPI 帧格式中使用的各个位。
读取/写入位 (R/W):R/W (W0) 位为 0 表示 SPI/tSPI 写入事务。对于读取操作,RW 位需要为 1。
次级器件 ID 位 (AD):同一片选信号上的每个 tSPI 次级器件都应具有唯一标识符。次级器件 ID 字段是 tSPI 次级器件的 4 位唯一标识符。要成功执行读取/写入事务,次级器件 ID 字段需要与次级器件地址匹配。在 DRV8311P/S-Q1 中,次级器件地址的两个最高有效位设置为 00。次级器件地址的两个最低有效位可以使用 AD1 和 AD0 引脚进行配置。次级器件地址 15 (0xF) 保留用于通用广播,当次级器件 ID 字段设置为 15 时,同一总线上的所有器件都将接受写入操作。因此,DRV8311P/S-Q1 的有效 tSPI 次级器件地址范围为 0 至 3 和 15(通用广播地址)。
地址位 (A):tSPI 次级器件采用 8 位寄存器地址,而 SPI 次级器件采用 6 位寄存器地址。每个 tSPI 次级器件都有两个专用的 8 位地址指针,一个用于读取,一个用于写入。在顺序读取事务期间,读取地址指针自动递增。在顺序写入事务期间,写入地址指针和读取地址指针都将自动递增。
奇偶校验位 (P):SPI/tSPI 输入数据帧的标头和数据字段都包含用于单比特错误检测的奇偶校验位。使用的奇偶校验机制是偶校验,例如 16 位块(包括奇偶校验位)中 1 的数量是偶数。仅当奇偶校验成功时,数据才会写入内部寄存器。在读取操作期间,tSPI 次级器件在所读取数据的 MSB 上插入一个奇偶校验位。可通过配置 SYS_CTRL 寄存器的 SPI_PEN 位来启用或禁用奇偶校验。默认情况下会禁用奇偶校验。
奇偶校验错误:检测到奇偶校验错误时,次级器件会通过以下方式做出响应。锁存奇偶校验错误并在 nFAULT 上报告。错误状态可在 SYS_STS 寄存器的 SPI_PARITY 字段上读取。标头中的奇偶校验错误不会阻止次级器件使用数据进行响应。SDO 将由所指向的次级器件驱动。检测到奇偶校验错误时,对写入地址指针和器件寄存器的更新将被忽略。对于顺序写入,检测到奇偶校验错误时,任何后续寄存器写入都将被忽略。
帧错误:任何不完整的 tSPI 帧都将报告为帧错误。如果 tSPI 时钟周期数不是 16 的倍数,则传输视为不完整。帧错误将锁存在 SYS_STS 寄存器的 FRM_ERR 字段中并在 nFAULT 上指示。
SPI 读取序列:SPI 读取事务包含一个 8 位标头(R/W - 1 位,地址 - 6 位和相关方 - 1 位),后跟 16 位虚拟数据字。接收到标头的第一个字节后,次级器件会返回 8 位的器件状态信息作为响应。接收到标头的地址字段后,读取地址指针会立即更新。标头中的读取地址用作寄存器读取的起始地址。16 位传输完成后,读取地址指针自动递增。数据传输长度不受次级器件限制。只要初级器件传输虚拟字,次级器件就会返回数据作为响应。如果启用了奇偶校验错误检查,则读取数据的 MSB 将替换为计算出的奇偶校验位
SPI 写入序列:SPI 写入事务包含一个 8 位标头,后跟要写入寄存器组的 16 位数据字。与读取事务类似,被寻址的次级器件在接收到标头的第一个字节时返回 8 位的器件状态信息作为进行响应。接收到标头字节后,写入地址指针就会更新。标头中的写入地址用作顺序寄存器写入的起始地址。读取地址指针将保留前一个 tSPI 事务中读取的寄存器的地址。数据传输长度不受次级器件限制。16 位传输完成后,读取和写入地址指针都将自动递增。从初级器件接收数据时,SDO 将由读取地址指针所指向的寄存器数据驱动。
tSPI 的功能与常规 SPI 类似,但在同一片选信号 (nSCS) 下增加了对多个器件的支持。任何现有的 SPI 初级器件都能够通过修改帧格式来实现与 tSPI 次级器件通信。有效的 tSPI 帧必须满足以下条件(类似于 SPI 接口):
图 7-34 同一片选信号上有多个器件的 tSPI 方框图
图 7-35 具有 PWM_SYNC 的 tSPItSPI 读取序列:tSPI 读取事务具有一个 16 位标头(R/W - 1 位,次级器件 ID - 4 位,地址 - 8 位,保留 - 2 位和相关方 - 1 位),后跟 16 位虚拟数据字。接收到标头的第一个字节后,匹配的次级器件 ID 字段(使用 AD0 和 AD1 引脚配置)所指向的次级器件会返回 8 位器件状态信息作为响应。标头中的读取地址用作寄存器读取的起始地址。16 位传输完成后,该地址自动递增。数据传输长度不受次级器件限制。只要初级器件传输虚拟字,次级器件就会返回数据作为响应。如果启用了奇偶校验错误检查,则读取数据的 MSB 将替换为计算出的奇偶校验位。
tSPI 写入序列:tSPI 写入事务具有一个 16 位标头,后跟要写入寄存器组的 16 位数据字。与读取事务类似,被寻址的次级器件在接收到标头的第一个字节时返回 8 位的器件状态信息作为进行响应。标头中的写入地址用作顺序寄存器写入的起始地址。数据传输长度不受次级器件限制。16 位传输完成后,写入和读取地址指针都将自动递增。从初级器件接收数据时,SDO 将由读取地址指针所指向的寄存器数据驱动
tSPI 读取地址更新序列:次级器件中的独立读写地址指针允许在将数据写入一组寄存器的同时从另一组寄存器读取数据。为实现这一点,初级器件应在 tSPI 写入事务之前首先发送一个读取地址更新帧。读取地址帧只是带有标头的 tSPI 读取序列。第一个 tSPI 事务将读取地址指针更新为所需的寄存器地址。第二个 tSPI 事务是寄存器写入序列。在此序列期间,次级器件通过 SDO 发送的数据将来自在上一个 tSPI 读取序列中初始化的读取地址指针所指向的寄存器。
带奇偶校验的 tSPI 读取/写入序列如图 7-36 所示。SPI 帧标头标记为 CMD[15:8] 和 CMD[7:0]。