ZHCAD88
October 2023
TMS320F280039
1
摘要
商标
1
引言
2
DCAN 和 MCAN 之间的主要差异
3
模块初始化
3.1
DCAN 初始化
3.2
MCAN 初始化
3.3
初始化序列
3.4
模块初始化代码片段
4
位时序配置
5
消息 RAM 配置
6
中断处理
6.1
MCAN 中断源
6.2
DCAN 中断处理
6.3
MCAN 中断处理
7
发送数据
7.1
基本发送过程
7.1.1
使用 DCAN 发送
7.1.2
使用 MCAN 发送
7.2
MCAN 与 DCAN 发送过程差异
7.3
MCAN 发送概念
7.3.1
Tx 事件 FIFO
8
接收数据
8.1
接收简介
8.2
基本接收流程
8.2.1
DCAN 接收
8.2.2
MCAN 接收
8.3
过滤器元素
8.3.1
过滤器元素结构
8.4
Rx 缓冲器
8.4.1
在 Rx 缓冲器中接收
8.5
Rx FIFO
8.5.1
在 Rx FIFO 中接收
8.6
接收高优先级消息
9
避免网络错误
10
参考资料
8.2.2
MCAN 接收
配置过滤器元素大小(总数)、Rx 缓冲器大小和 Rx FIFO 大小以及缓冲器和 FIFO 的元素大小。元素大小可以根据每帧的估计数据大小进行配置。这些步骤是在消息 RAM 配置过程中完成的。配置过滤器元素,其中包括设置所需的消息 ID/过滤条件,以及配置存储每个相应过滤器元素的匹配帧的位置(在 Rx 缓冲器和 Rx FIFO 0/1 之间)。
对于每个接收到的帧,模块按升序检查过滤器元素(标准或扩展,取决于接收到的帧)。获得第一个匹配帧后,该帧将按照配置存储到过滤器元素中。不匹配的帧也可以配置为存储在 Rx FIFO 0/1 中。
通过轮询或使用中断,确定新数据的接收。对于轮询,在寄存器
MCAN_NDAT1
和
MCAN_NDAT2
中,每个可能的 Rx 缓冲器元素都对应有一个位。因此,对于 Rx FIFO 中的新消息,可以检查
MCAN_RXFxS.FxFL
位以获取填充级别。
对于使用中断,相应章节中已概述了该过程。
使用
Driverlib
API 从接收到的帧中读取数据。