您的位置 首页 基础

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

了解CAN总线的人都知道,CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据帧的ID是否和本节点相吻合,如果与本节点

了解CAN总线的人都知道,CAN总线在的帧数据在总线上传送时,其它的CAN控制器是经过检验滤波来决议总线上的数据帧的ID是否和本节点相契合,假如与本节点契合,那么总线上的数据就被存入总线控制器的相应寄存器里,不然就扔掉该数据,然后也能够减轻总线控制器的工作量。换句话说,总线上数据帧的ID经过待接纳节点的检验滤波后是契合的,是能够被接纳的。

那么,总线控制器是怎么进行检验滤波的呢?检验滤波分单滤波和双滤波。规范帧和扩展帧由于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

在扩展帧的双滤波方法下,ACR0\ACR1别离对应ID.28-ID.13 ,ACR2\ACR3别离也对应ID.28-ID.13,这就达到了两次滤波的作用。

别的要阐明的一点是:经过检验滤波后契合节点要求的数据就存储到节点的相应寄存器里,其它的帧信息并不做存储。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/149114.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部