×

CAN总线通信好与坏,验收滤波很关键

消耗积分:0 | 格式:rar | 大小:0.4 MB | 2017-12-07

分享资料个

 CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据帧的ID是否和本节点相吻合,如果与本节点吻合,那么总线上的数据就被存入总线控制器的相应寄存器里,否则就抛弃该数据,从而也能够减轻总线控制器的工作量。换句话说,总线上数据帧的ID通过待接收节点的验收滤波后是吻合的,是可以被接收的。
  那么,总线控制器是如何进行验收滤波的呢?验收滤波分单滤波和双滤波。标准帧和扩展帧由于ID长度不同,它们的两种滤波也有所区别。
  扩展帧的双滤波方式
  所谓双滤波,就是有两次的滤波,但并非两次滤波都需要通过才双通过,两次滤波只要有一次滤波成功那么就默认滤波通过,可以接收数据了。
  CAN总线通信好与坏,验收滤波很关键
  如上表所示,ACR寄存器是接收代码寄存器,AMR是接收屏蔽寄存器。ACR一般是需要与对应的ID相吻合的,但是如果AMR的相应位上设置为1的时候,ID的那一位数据可以不和AMR的相应位一样,也就是起到屏蔽的作用。
  举个例子。如果ACR0=11101111,AMR0=00000000,那么要想通过验收滤波,必须ID.28-ID.21=ACR0=11101111。如果AMR0=00010000,那么ID.28-ID.21=11111111时,也可以通过验收滤波,因为此时AMR0的第五位为1,也就是屏蔽了ACR0的第五位。所以ID的相应位可以不合ACR0一致。
  在扩展帧的双滤波方式下,ACR0\ACR1分别对应ID.28-ID.13 ,ACR2\ACR3分别也对应ID.28-ID.13,这就达到了两次滤波的效果。
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !