查看: 2620|回复: 1

[求助] FlexCAN的ID筛选表设置

[复制链接]

该用户从未签到

5

主题

15

帖子

0

中级会员

Rank: 3Rank: 3

积分
221
最后登录
2021-6-26
发表于 2020-4-24 18:04:40 | 显示全部楼层 |阅读模式
在rt1052芯片手册FlexCAN章节有一张表格,如下图
微信图片_20200424174544.png

最后有两列是说明ID筛选表与私有掩码寄存器以及全局掩码寄存器的关系,附上两张FIFO结构和全局掩码寄存器结构,问题在最后。
FIFO结构
微信图片_20200424175235.png
全局掩码寄存器结构
微信图片_20200424175307.png
问题1:我不是很理解掩码寄存器是怎么影响ID筛选表的,是只要ID筛选表的元素没有通过掩码寄存器的匹配,相应的筛选表元素就不起作用吗?
问题2:如果筛选表元素全部写0,但开启了全局掩码寄存器和私有掩码寄存器,那ID过滤还会起作用吗?
问题3:如果筛选表元素填写筛选ID,不开启掩码寄存器,是不是报文就会按表中的元素进行筛选,1检测相应位,0不检测?
问题4:筛选表的匹配机制是什么,比如我筛选表填了两个元素,报文ID要完全匹配这两个元素才会被填充到FIFO吗?
问题5:每个FlexCAN的全局掩码寄存器有两个,一个对应MB,一个对应FIFO,两个掩码寄存器能否共用?
问题6:在邮箱模式下,全局掩码寄存器和私有掩码寄存器能同时开启吗,如果同时开启,会怎么影响接收报文?

对FlexCAN的掩码筛选机制感到非常的困惑,望解答,谢谢啦。

回复

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20028
最后登录
2024-4-26
发表于 2020-4-27 19:06:44 | 显示全部楼层
楼主你好,你这个问题在community 也提了吧,那边我给你做了简单的回复了。
问题1:我不是很理解掩码寄存器是怎么影响ID筛选表的,是只要ID筛选表的元素没有通过掩码寄存器的匹配,相应的筛选表元素就不起作用吗?
答: 掩码不是影响筛选表,而是说对应的ID位是否需要去和MB里面设定的预期ID对比。
1,就必须对比,如果接收到的和设定的一样,才放过。
0, 不过接收到的啥,相应的位都放过。
如果接到的ID, 并且你筛选的位需要查看对比对应MB的ID位,那么就去查看。一致才把数据收下来。
不一致,就丢了。
问题2:如果筛选表元素全部写0,但开启了全局掩码寄存器和私有掩码寄存器,那ID过滤还会起作用吗?
答: 全局掩码会去查你的ID的,要么你可以把掩码都设0,这样都接。你可以看看我在NXP 论坛里面给你debug的寄存器结果就明白了。
问题3:如果筛选表元素填写筛选ID,不开启掩码寄存器,是不是报文就会按表中的元素进行筛选,1检测相应位,0不检测?
答:不开启掩码,是0,还是1,如果筛选就要一致,不筛选,无所谓,都接。
问题4:筛选表的匹配机制是什么,比如我筛选表填了两个元素,报文ID要完全匹配这两个元素才会被填充到FIFO吗?
答。可以多看看RM,筛选是或的关系,有一个满足,就接。
问题5:每个FlexCAN的全局掩码寄存器有两个,一个对应MB,一个对应FIFO,两个掩码寄存器能否共用?
答:看你接收用什么,用MB就MB,FIFO的就是FIFO相关的掩码。
问题6:在邮箱模式下,全局掩码寄存器和私有掩码寄存器能同时开启吗,如果同时开启,会怎么影响接收报文?
答:应该是可以同时开的,有满足的就接收了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-26 23:21 , Processed in 0.129557 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表