ZHCAFI0 July 2025 MSPM0G3507
操作码:0b0000000000010000
位修改指令用于设置或清除特定 CAN 寄存器中的单个位。掩码位决定寄存器中哪些位可以更改。掩码位 1 允许更改寄存器中的相应位,而掩码位 0 则阻止更改寄存器中的相应位。
操作码:0b0000000000100000
复位指令可复位 SPI - CAN 桥接器器件中的 CAN 模块。若要复位 CAN 模块,则用户需要通过 SPI 协议发送相应的操作码。
操作码:0b0000000000110000
电源使能和 CAN 配置指令用于为桥接器件中的 CAN 模块供电。此外,一旦启用 CAN 模块,就可完成预定义的 CAN 消息 RAM 配置。
操作码:0b00000000010000ab
加载 TX 缓冲区指令用于将 CAN 帧加载到所选发送缓冲区。发送缓冲区的选择可在操作码中编码。可根据指令字段中的 a、b 位选择四个发送缓冲区之一。
| a | b | 缓冲区 |
| 0 | 0 | 缓冲区 – 0 |
| 0 | 1 | 缓冲区 – 1 |
| 1 | 0 | 缓冲区 – 2 |
| 1 | 1 | 缓冲区 – 3 |
操作码:0b0000000001010000
加载 TX FIFO 指令用于将要发送的 CAN 帧加载到发送 FIFO 中。在将 CAN 帧加载到发送 FIFO 之前,用户必须确保发送 FIFO 未满。
操作码:0b00000000011000ab
请求发送 TX 缓冲区指令为四个发送缓冲区之一添加发送请求。发送缓冲区的选择可在操作码中编码。可根据指令字段中的 a、b 位选择四个发送缓冲区之一。
| a | b | 缓冲区 |
| 0 | 0 | 缓冲区 – 0 |
| 0 | 1 | 缓冲区 – 1 |
| 1 | 0 | 缓冲区 – 2 |
| 1 | 1 | 缓冲区 – 3 |
操作码:0b0000000001110000
请求发送 TX FIFO 指令根据发送 FIFO Put 索引为其中一个发送 FIFO 元素添加发送请求。在发送缓冲区添加请求之前,用户需确保发送 FIFO 有一个 CAN 帧。
操作码:0b0000000010000000
偏移地址 – 指向要写入寄存器数据的寄存器地址。
写入寄存器指令用于通过 SPI 外设配置 CAN 寄存器。根据偏移地址将数据写入相应的寄存器。
操作码:0b0000000010000000
偏移地址 - 指向要读取寄存器数据的寄存器地址。
读取寄存器数据指令用于从特定 CAN 寄存器中读取数据。读取寄存器数据指令只读取寄存器,但不发送。因此,每条读寄存器数据指令之后必须有一条获取寄存器数据指令。
操作码:0b0000000010100000
获取寄存器数据指令会传输使用读取寄存器数据指令读取的寄存器值。
操作码:0b00000000101100xy
当 SPI-CAN 桥接器从 CAN 网络接收到新的 CAN 帧时,SPI-CAN 桥接器会切换 GPIO 引脚(如 图 2-12 所示),以向 SPI 控制器表示接收到该帧。
要从 SPI-CAN 桥接器中的 CAN 模块 RX 缓冲区检索已接收的 CAN 帧,必须遵循以下顺序:
每个读取 RX 缓冲区指令必须与相应的获取 RX 缓冲区数据指令配对,才能完成数据传输。
RX 缓冲区选择可在操作码中进行编码。可根据指令中的 x、y 位从四个 RX 缓冲区中选择一个。
| X | y | 缓冲区 |
| 0 | 0 | 缓冲区 – 0 |
| 0 | 1 | 缓冲区 – 1 |
| 1 | 0 | 缓冲区 – 2 |
| 1 | 1 | 缓冲区 – 3 |
操作码:0b0000000011000000
获取 RX 缓冲区数据指令传输使用读取 RX 缓冲区指令读取的 RX 缓冲区数据。
操作码:0b0000000011010000
当 SPI-CAN 桥接器从 CAN 网络接收到新的 CAN 帧时,SPI-CAN 桥接器会切换 GPIO 引脚(如 图 2-14 所示),以向 SPI 控制器表示接收到该帧。
要从 SPI-CAN 桥接器的 CAN 模块 RX FIFO 中获取已接收的 CAN 帧,必须遵循以下顺序:
操作码:0b0000000011100000
获取 RX FIFO 数据指令发送使用读取 RX FIFO 指令读取的 RX FIFO 数据。
操作码:0b0000000011110000
读取接收状态数据指令用于从 SPI 向 CAN 设备获取 CAN 模块的状态位。作为对该指令的响应而接收的数据位的含义如 图 2-17 所示。
| LEC 位[L2、L1、L0] | 错误代码 |
|---|---|
| 000 | 无错误 |
| 001 | 填充错误 |
| 010 | 格式错误 |
| 011 | 应答错误 |
| 100 | Bit1 误差 |
| 101 | Bit0 误差 |
| 110 | CRC 误差 |
| 111 | 没有变化 |
操作码:0b0000000000001000
获取 RX 状态数据指令用于接收已通过读取 RX 状态数据指令读取并存储在变量中的 RX 状态数据。