发新帖我要提问
123
返回列表
打印
[应用相关]

STM32H7的CAN FD教程笔记

[复制链接]
楼主: 裤脚口感好
手机看帖
扫描二维码
随时随地手机跟帖
41
裤脚口感好|  楼主 | 2021-8-6 13:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
(2)如果过滤器匹配,则设置优先级:如果此消息过滤器匹配,则FDCAN会通知有关高优先级的信息消息到达,但不存储元素。

使用特权

评论回复
42
裤脚口感好|  楼主 | 2021-8-6 13:18 | 只看该作者
接收过滤流程图:

使用特权

评论回复
43
裤脚口感好|  楼主 | 2021-8-6 13:19 | 只看该作者
举例说明:
为了说明可以使用的不同类型的过滤器以及每种类型的结果,我们假设用户想要配置FDCAN:

(1)拒绝所有标识符在[0x16到0x20]范围内的消息
(2)接受所有标识符等于0x15或0x120的消息,并将它们存储在FIFO 1中
(3)接受标识符等于0x130的消息并将其存储在Rx缓冲区索引4中
(4)接受具有与以下内容相对应的标识符的消息:
–bit[10..6] = 0b111 00
–bit[5..4] = 不管,任意值
–bit[3..0] = 0b00000

使用特权

评论回复
44
裤脚口感好|  楼主 | 2021-8-6 13:19 | 只看该作者
在这种情况下,必须将过滤器配置为经典位屏蔽过滤器,因为可接受的标识符对应于0b11100XX0000(其中x可以是0或1中的任何值)。 可接受的标识符是:
– 0b111 0000 0000(0x700)
– 0b111 0001 0000(0x710)
– 0b111 0010 0000(0x720)
– 0b111 0011 0000(0x730)

使用特权

评论回复
45
裤脚口感好|  楼主 | 2021-8-6 13:20 | 只看该作者
基本过滤器ID可以是0x700、0x710、0x720、0x730中的任何值。 屏蔽过滤器ID等于0b111 1100 1111(0x7CF)。下表介绍了标准11位消息ID过滤器的不同配置,如上面的例子。 每个标准过滤器元素包含:

(1)SFT位(标准过滤器类型)
(2)SFEC位(标准过滤器元素配置)。
(3)SFID1位(标准过滤器ID1)
(4)SFID2位(标准过滤器ID2)

使用特权

评论回复
46
裤脚口感好|  楼主 | 2021-8-6 13:20 | 只看该作者

使用特权

评论回复
47
裤脚口感好|  楼主 | 2021-8-6 13:21 | 只看该作者
第一个过滤器配置为拒绝ID为[0x16 ... 0x20]范围内的消息。
第二个过滤器配置为将ID等于双ID 0x15或0x120的消息存储在Rx FIFO 1中。
第三过滤器被配置为将ID等于0x130的消息存储在Rx缓冲区索引4中。

注意:如果将SFEC配置为“存储到"Rx buffer”,则将忽略SFT的配置。 验收过滤器停在第一次匹配。 因此,筛选器的顺序很重要。本示例以与用户配置扩展过滤器相同的方式配置标准过滤器(请参阅产品数据表以了解更多详细信息)。FDCAN的众多过滤器可能性允许在硬件中进行复杂的消息过滤,这使得软件过滤冗余并节省CPU资源。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则