美文网首页
CAN总线控制器如何进行验收滤波

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

作者: 岳海龙 | 来源:发表于2019-02-13 12:49 被阅读0次

了解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,这就达到了两次滤波的效果。

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

相关文章

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

    了解CAN总线的人都知道,CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据帧...

  • Arduino CAN总线实验结果

    CAN总线实现方案 CAN总线节点框架主要由三部分组成: MCU,应用控制器; CAN控制器,总线控制器,往往通过...

  • CAN芯片TJA1050T/CM

    TJA1050是控制器区域网络(CAN)协议控制器与物理总线之间的接口。该装置提供对总线的差分传输能力和对CAN控...

  • Qt CAN编程1- CAN总线整体介绍

    Qt - CAN总线 控制器局域网(CAN)是一种车辆总线标准,旨在允许微控制器和设备在没有主机的情况下在应用程序...

  • CAN总线调试步骤

    CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和...

  • STM32F0 CAN总线

    STM32F0 CAN总线数据转发实验 实验目的: 把CAN总线控制器接收到的数据直接发送出去。包括:标准数据帧、...

  • 【CAN】嵌入式CAN总线入门篇(底层细节)

    1. 简介 CAN总线由德国BOSCH公司开发,最高速率可达到1Mbps。CAN的容错能力特别强,CAN控制器内建...

  • 记录

    something about CAN/LIN总线 汽车的控制单元间通过CAN/LIN总线进行数据交换 LIN是主...

  • 2019-08-23

    TJA1050相关参数介绍 一般说明 TJA1050是CAN协议控制器和物理总线之间的接口。该器件为总线提供差分...

  • CAN 报文Intel格式和Motorola格式

    CAN总线数据传输规则 对于单个Byte,CAN总线在进行数据传输时,首先传输一个字节的高位(MSB),最后传输该...

网友评论

      本文标题:CAN总线控制器如何进行验收滤波

      本文链接:https://www.haomeiwen.com/subject/nroreqtx.html