教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

STM32的can过滤器编号

来源:网络收集 时间:2026-02-15
导读: STM32的can过滤器编号 STM32 CAN中,另一个较难理解的就是过滤器编号. 过滤器编号用于加速CPU对收到报文的处理. 收到一个有效报文时, CAN会将收到的报文, 以及它所通过的过滤器编号, 一起存入接收邮箱中, CPU在处理时,可以根据过滤器编号,快速的知道该报文的

STM32的can过滤器编号

STM32 CAN中,另一个较难理解的就是过滤器编号.

过滤器编号用于加速CPU对收到报文的处理.

收到一个有效报文时, CAN会将收到的报文, 以及它所通过的过滤器编号, 一起存入接收邮箱中,

CPU在处理时,可以根据过滤器编号,快速的知道该报文的用途,从而作出处理.

不用过滤器编号其实也是可以的, 这时候CPU就要分析所收报文的标识符, 从而知道报文的用途.

由于标识符所含的信息较多,处理起来就慢一点了.

STM32使用以下规则对过滤器编号:

(1) FIFO_0和FIFO_1的过滤器分别独囗立编号,均从0开始按顺序编号.

(2) 所有关联同一个FIFO的过滤器,不管有没有被激活,均统一进行编号.

(3) 编号从0开始,按过滤器组的编号从小到大,按顺序排列.

(4) 在同一过滤器组内,按寄存器从小到大编号.FxR1配置的过滤器编号小,FxR2配置的过滤器编号大.

(5) 同一个寄存器内,按位序从小到大编号. [15-0]位配置的过滤器编号小,[31-16]位配置的过滤器编号大.

(6) 过滤器编号是囗弹性的. 当更改了设置时,每个过滤器的编号都会改变.

但是在设置不变的情况下,各个过滤器的编号是相对稳定的.

这样,每个过滤器在自己在FIFO中都有编号.

在FIFO_0中,编号从0 -- (M-1), 其中M为它的过滤器总数.

在FIFO_1中,编号从0 -- (N-1), 其中N为它的过滤器总数.

一个FIFO如果有很多的过滤器, 可能会有一条报文, 在几个过滤器上均能通过, 这时候, 这条报文算是从哪儿过来的呢?

STM32在使用过滤器时,按以下顺序进行过滤

(1) 位宽为32位的过滤器,优先级高于位宽为16位的过滤器

(2) 对于位宽相同的过滤器,标识符列表模式的优先级高于屏蔽位模式

(3) 位宽和模式都相同的过滤器,优先级由过滤器号决定,过滤器号小的优先级高

按这样的顺序,报文能通过的第一个过滤器,就是该报文的过滤器编号,被存入接收邮箱中.

STM32的can过滤器编号.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1715213.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)