STM32 FDCAN通信,发射部分详解。

前言
在这里插入图片描述

在CAN专属的消息RAM中,存在32个TX缓冲区,32个TX事件FIFO。每个里面都存在1个元素,一共有64个元素,对应64个报文。

TX缓冲区
每一个TX缓冲区可以配置一个ID,即对应一个报文。缓冲区内不仅仅只有报文的内容,还有报文的类型、ID等相关信息,官方定义这样一个整体叫element,叫元素。下面是每个元素都有什么内容。
在这里插入图片描述

(1) 位 ESI:当检测到错误时是否将发送错误标志。
(2) 位 XTD:决定接受 ID 的位数是 11 位还是 29 位。1 表示 29 位扩展格式的 ID,0 表示 11 位标准格式的 ID。
(3) 位 RTR:遥控帧标识符。用于向远端节点请求数据。
(4) ID[28:0]:用来存放 ID。ID 的位数由 XTD 位决定。若 ID 是 11 位的,则存放在 ID[28:18]位中。
(5)MM:信息识别标志,发送数据时,会被拷贝到发送事件 FIFO 中。
(6) EFC:是否使用事件 FIFO 的功能。
(7) 位 ANMF:决定 FDCAN 是否接收不匹配的数据帧。
(8) FIDX[6:0]:验收筛选器的编号;
(9) FDF:决定数据帧的格式。可选择标准帧格式(该位为 0)和 FDCAN 帧格式(该位为 1)。
(10) BRS:主要用 FDCAN 的 FFM 模式。传输数据阶段是否进行位时序切换。
(11) DLC:数据长度码,CAN 一般可接受 8 个字节,而 FDCAN 能够接受 12/16/20/24/32/48/64个字节。
(12) DBn:数据段,FDCAN 最大支持 64 个字节数据,可通过配置寄存器 RXESC 进行修改。

总结起来,就是一系列的标志位+数据段。在这部分TX缓存区又可以分为3钟类型,专门发送缓存区、发送FIFO、发送队列。千万不要混淆TX缓冲区和专门发送缓存区,他们是包含的关系。TX缓存区包括专门发送缓存区。

1.专门发送缓存区
专用发送缓冲区可完全在 CPU 的控制下发送消息。每个专用发送缓冲区都配置了特定的消 息 ID。如果多个发送缓冲区配置为使用同一消息 ID,则会先发送缓冲区编号最小的发送缓存区中的消息。发送

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值