图 2-6中列示了 TX MSG RAM 块中包含哪些参数。
Tx 缓冲区部分可配置为保存专用 Tx 缓冲区、Tx FIFO 和 Tx Queue。如果 Tx 缓冲区部分由专用 Tx 缓冲区、Tx FIFO 和 Tx Queue 共享,则专用 Tx 缓冲区从 Tx 缓冲区部分的开头开始,后跟分配给 Tx FIFO 或 Tx Queue 的缓冲区。表 2-1展示了 Tx 缓冲区模式,Tx FIFO 模式和 Tx 队列模式之间的差异。
表 2-1 Tx 模式之间的差异
| Tx 模式 |
说明 |
| Tx 缓冲模式 |
专用 Tx 缓冲区用于在主机 CPU 完全控制下的消息传输。 |
| Tx FIFO 模式 |
Tx FIFO 允许从不同的 Tx 缓冲区发送具有相同消息 ID 的消息,其发送顺序为这些消息写入 Tx FIFO 的顺序。 |
| Tx 队列模式 |
存储在 Tx 队列中的消息从优先级最高的消息(最低消息 ID)开始发送。 |
- TX Buffers Start Address:消息 RAM 中 Tx 缓冲区的起始地址。
- Number of Dedicated Transmit Buffers:定义配置为专用 Tx 缓冲区的元素数量。
- No of TX FIFO Elements:定义配置为 Tx FIFO 或 Tx 队列的元素数量。
- TX FIFO Operation Mode:定义 Tx FIFO 模式或 Tx 队列模式。
- TX Buffer Element Size:定义 Tx 缓冲区数据字段大小。如果 Tx 缓冲区元素的数据长度代码 (DLC) 配置为一个高于 Tx 缓冲区数据字段大小的值,则未由 Tx 缓冲区定义的字节将作为 0xCC(填充字节)传输。
- TX Event FIFO Start Address:Tx 事件 FIFO 存储有关已发送消息的信息。为了支持 Tx 事件处理,消息 RAM 实现了 Tx 事件 FIFO 段。通过读取 Tx 事件 FIFO,主机 CPU 按照消息发送的顺序获取该信息。在 CAN 总线上传输消息后,消息 ID 和时间戳存储在 Tx 事件 FIFO 元素中。为了将 Tx 事件链接到 Tx 事件 FIFO 元素,发送的 Tx 缓冲区中的消息标记被复制到 Tx 事件 FIFO 元素中。
- TX Event FIFO Size:最多可配置 32 个 Tx 事件 FIFO 元素。
- TX Event FIFO Watermark INT Level:定义 Tx 事件 FIFO 填充级别阈值。可以配置 Tx 事件 FIFO 水线,以避免 Tx 事件 FIFO 溢出。