打印
[Kinetis]

【经验分享】KE06 MSCAN标识符接收滤波器配置讲解

[复制链接]
3185|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FSL_TICS_ZJJ|  楼主 | 2015-5-29 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本经验分享主要讲解KE06 MSCAN模块中的接收滤波器的功能以及如何配置,并且在FRDM-KE06板子上举例实现接收滤波器的功能。
接收滤波器是把接收ID寄存器IDR经过掩码寄存器DMR和接收寄存器IDAR比较,通过则认为匹配接收报文,否则则拒绝报文。
标识符接收模式一共有四种,可以通过标识符接收控制器CANIDAC的IDAM位控制,
四种接收模式分别为:2个32位接收滤波器;4个16位接收滤波器;8个8位接收滤波器以及关闭滤波器。
下面分别讲解三种接收滤波器是如何工作以及举例验证。

具体内容以及代码请查看附件:
KE06_CAN_MASK.rar (1.04 MB)


相关帖子

沙发
李香兰| | 2015-5-29 14:12 | 只看该作者
主要讲解KE06 MSCAN模块中的接收滤波器的功能以及如何配置,谢谢楼主

使用特权

评论回复
板凳
FSL_TICS_Jeremy| | 2015-6-1 08:55 | 只看该作者
很赞的分享哦,必须顶一下!:)

使用特权

评论回复
地板
sltian09| | 2015-7-7 11:56 | 只看该作者
版主您好!很高兴看到您的分享**,令我受益匪浅!!但我还是这里不明白:
文中说“每次接收到的 ID,放在 IDR 寄存器中, 该寄存器的值首先要先和 IDMR 比较,查看
哪些位是需要比较,哪些位不需要比较。 IDMR 位为 1, 不需要比较; 0 则需要和
对应的 IDAR 位比较,即必须和 IDAR 位相同的 IDR 寄存器值对应的 ID 才能被接
收,否则被抛弃”
那么 NODE_ID2<<1 变为0x0000 1004了 既然是这样那么怎么还能接受0x802这个标识符呢?
而您说的“而 IDAR 寄存器组合起来的扩展 ID, 就是规定的 0X802 值。” 是什么意思呢?

使用特权

评论回复
5
quray1985| | 2015-7-7 14:47 | 只看该作者
接收滤波器是把接收ID寄存器IDR经过掩码寄存器DMR和接收寄存器IDAR比较,通过则认为匹配接收报文,否则则拒绝报文。

使用特权

评论回复
6
xiyingdcy| | 2015-10-5 16:52 | 只看该作者
感谢楼主!看到楼主的分享恍然大悟,困扰一周的问题,几分钟就解决了!

使用特权

评论回复
7
shaoyj| | 2016-11-24 14:04 | 只看该作者
真的很有用,谢谢楼主

使用特权

评论回复
8
Berlin001| | 2017-3-3 15:48 | 只看该作者
终于分清IDAR、IDMR、IDR几个寄存器的作用了,IDAR 用于过滤 ID 寄存器IDR 的所需要过滤的位置,而IDMR则用来确定以上两个寄存器相应的位是否比较。谢谢楼主。

使用特权

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

本版积分规则

165

主题

5069

帖子

88

粉丝