ZHCSY52A September 2024 – March 2025 DRV81242-Q1
PRODUCTION DATA
图 7-27 显示了 SPI 通信期间 SDI 和 SDO 内容之间的关系。SDI 线路表示从微控制器发送的帧,SDO 线路是器件提供的应答。
SPI 协议仅在微控制器触发下一次传输时提供对命令帧的应答。尽管器件中实现的绝大多数命令和帧都可以进行解码而无需知道之前所发生的情况,但建议考虑微控制器在之前传输中发送的内容,以完全解码响应帧。读取和写入寄存器内容的命令序列如下所示:
在 3 种特殊情况下,发送回微控制器的帧与前一个接收的帧不直接相关:
下面汇总了所有可能的 SPI 命令,包括器件在下一次传输时发送回的应答。
|
请求的操作 |
发送到 SDI 引脚的帧 |
使用下一条命令从 SDO 引脚接收的帧 |
| 读取标准诊断 | 0xxxxxxxxxxxxx01b(xxxxxxxxxxxxb = 无关) |
0dddddddddddddddb(标准诊断) |
| 写入 10 位寄存器 | 10pppprrrrrrrrrrb,其中:ppppb = 寄存器地址 ADDR0,rrrrrrrrrrb = 新寄存器内容 | 0dddddddddddddddb(标准诊断) |
| 读取 10 位寄存器 | 01ppppxxxxxxxx10b,其中:ppppb = 寄存器地址 ADDR0,xxxxxxxxb = 不用考虑 | 10pppprrrrrrrrrrb,其中:ppppb = 寄存器地址 ADDR0c,rrrrrrrrrrb = 寄存器内容 |
| 写入 8 位寄存器 | 10ppppqqrrrrrrrrb,其中:ppppb = 寄存器地址 ADDR0,qqb = 寄存器地址 ADDR1,rrrrrrrrb = 新寄存器内容 | 0dddddddddddddddb(标准诊断) |
| 读取 8 位寄存器 | 01ppppqqxxxxxx10b,其中:ppppb = 寄存器地址 ADDR0,qqb = 寄存器地址 ADDR1,xxxxxxb = 无关 | 10ppppqqrrrrrrrrb,其中:ppppb = 寄存器地址 ADDR0c,qqb = 寄存器地址 ADDR1,rrrrrrrrb = 寄存器内容 |
“p”= ADDR0 字段的地址位,“q”= ADDR1 字段的地址位,“r”= 寄存器内容,“d”= 诊断位