新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 如何用CAN总线控制器进行验收滤波?

如何用CAN总线控制器进行验收滤波?

作者:时间:2018-08-03来源:网络收藏

了解的人都知道,在的帧数据在总线上传送时,其它的CAN是通过验收来决定总线上的数据帧的ID是否和本节点相吻合,如果与本节点吻合,那么总线上的数据就被存入总线的相应寄存器里,否则就抛弃该数据,从而也能够减轻总线的工作量。换句话说,总线上数据帧的ID通过待接收节点的验收后是吻合的,是可以被接收的。

本文引用地址:http://www.eepw.com.cn/article/201808/385254.htm

那么,总线控制器是如何进行验收的呢?验收滤波分单滤波和双滤波。标准帧和扩展帧由于ID长度不同,它们的两种滤波也有所区别。这里我只重点举一个例子,因为只要理解了一种滤波方式,其它的滤波方式都是类似的,也很容易就理解了。

这里就说扩展帧的双滤波方式。所谓双滤波,就是有两次的滤波,但并非两次滤波都需要通过才双通过,两次滤波只要有一次滤波成功那么就默认滤波通过,可以接收数据了。

举个例子。如果ACR0=11101111,AMR0=00000000,那么要想通过验收滤波,必须ID.28-ID.21=ACR0=11101111。如果AMR0=00010000,那么ID.28-ID.21=11111111时,也可以通过验收滤波,因为此时AMR0的第五位为1,也就是屏蔽了ACR0的第五位。所以ID的相应位可以不合ACR0一致。

ACR0

ACR1

ACR2

ACR3

AMR0

AMR1

AMR2

AMR3

ID.28-ID.21

ID.20-ID.13

ID.28-ID.21

ID.20-ID.13

在扩展帧的双滤波方式下,ACR0ACR1分别对应ID.28-ID.13 ,ACR2ACR3分别也对应ID.28-ID.13,这就达到了两次滤波的效果。

另外要说明的一点是:通过验收滤波后符合节点要求的数据就存储到节点的相应寄存器里,其它的帧信息并不做存储。



关键词: CAN总线 控制器 滤波

评论


相关推荐

技术专区

关闭