好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CAN总线系列讲座第六讲.docx

8页
  • 卖家[上传人]:c**
  • 文档编号:291108782
  • 上传时间:2022-05-11
  • 文档格式:DOCX
  • 文档大小:18.23KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 本文格式为Word版,下载可任意编辑CAN总线系列讲座第六讲 CAN总线系列讲座第六讲——SJA1000的滤波器设置 CAN总线的滤波器设置就像给总线上的节点设置了一层过滤网,只有符合要求的CAN信息帧才可以通过,其余的一概滤除 在验收滤波器的扶助下,只有当接收信息中的识别位和验收滤波器预定义的值相等时,CAN 操纵器才允许将已接收信息存入RXFIFO 验收滤波器由验收代码寄放器(ACRn)和验收屏蔽寄放器AMRn 定义,要接收的信息的位模式在验收代码寄放器中定义,相应的验收屏蔽寄放器允许定义某些位为“不影响”,即可为任意值 1、BasicCAN模式下SJA1000滤波器 在验收滤波器的扶助下CAN 操纵器能够允许RXFIFO 只接收同识别码和验收滤波器中预设值相一致的信息,验收滤波器通过验收代码寄放器ACR和验收屏蔽寄放器AMR来定义 表2-1 BIT7 AC.7 BIT6 AC.6 BIT5 AC.5 BIT4 AC.4 验收代码寄放器ACR BIT3 AC.3 BIT2 AC.2 BIT1 AC.1 BIT0 AC.0 复位苦求位被置高,验收代码寄放器ACR可以访问(读/写)。

      表2-2 BIT7 AM.7 BIT6 AM.6 BIT5 AM.5 BIT4 AM.4 验收屏蔽寄放器AMR BIT3 AM.3 BIT2 AM.2 BIT1 AM.1 BIT0 AM.0 复位苦求位被置高,验收屏蔽寄放器AMR可以访问(读/写)验收屏蔽寄放器定义验收代码寄放器的相应位对验收滤波器是“相关的”或“无影响的” 滤波的规矩是:每一位验收屏蔽分别对应每一位验收代码,当该位验收屏蔽位为“1”的时候(即设为无关),接收的相应帧ID位无论是否和相应的验收代码位一致均会表示为接收;当验收屏蔽位为“0”的时候(即设为相关),只有相应的帧ID位和相应的验收代码位值一致的处境才会表示为接收只有在全体的位都表示为接收的时候,CAN操纵器才会接收该报文 举例:如何设置滤波器,接收标识符为0000 1010的CAN帧? 在SJA1000复位模式下,设置寄放器CDR.7为“0”,即设置CAN操纵器SJA1000工作于BasicCAN模式 设置验收代码寄放器ACR0=0x0A; 根据滤波器信息帧与滤波器的位对应关系,将需要参与滤波的信息位对应的验收屏蔽寄放器位设置为0,设置AMR=0x00; 如此设置,SJA1000接收标识符ID.10~ID.3为0000 1010的CAN帧。

      2、PeliCAN模式下SJA1000滤波器 有两种不同的过滤模式可在模式寄放器中选择MOD.3, AFM 单滤波器模式:AFM 位是1; 双滤波器模式:AFM 位是0 SJA1000验收滤波器由4个验收码寄放器ACR0、ACR1、ACR2、ACR3和4个验收屏蔽寄放器AMR0、AMR1、AMR2、AMR3组成ACR的值是预设的验收代码值,AMR值用于表征相对应的ACR值是否用作验收滤波,这8个寄放器在SJA1000的复位模式下设置 滤波的规矩和BasicCAN模式下的滤波规矩一致滤波的方式有两种,由模式寄放器中的AFM( MOD.3 )位选择:单滤波器模式(AFM 位是1)、双滤波器模式(AFM 位是0) (1)、单滤波器的配置 这种滤波器配置定义了一个长滤波器(4字节、32位),由4个验收码寄放器和4个验收屏蔽寄放器组成的验收滤波器,滤波器字节和信息字节之间位的对应关系取决于当前接收帧格式 接收CAN标准帧时单滤波器配置: 对于标准帧,11位标识符、RTR位、数据场前两个字节参与滤波; 对与参与滤波的数据,全体AMR为0的位所对应的ACR位和参与滤波数据的对应位务必一致才算验收通过; 假设由于置位RTR=1 位而没有数据字节,或由于设置相应的数据长度代码而没有或只有一个数据字节信息,报文也会被接收。

      对于一个告成接收的报文,全体单个位在滤波器中的对比结果都务必为“采纳”; 留神AMR1 和ACR1 的低四位是不用的,为了和将来的产品兼容,这些位可通过设置AMR1.3、AMR1.2 、AMR1.4 和AMR1.0 为1 而定为“不影响” 图2-1 接收标准布局报文时的单滤波器配置 举例:如何设置单滤波,接收标识符为0000 1010 010的CAN标准帧? 在SJA1000复位模式下,设置寄放器CDR.7为“1”,即设置CAN操纵器SJA1000工作于PeliCAN模式 设置模式寄放器的验收滤波器模式位(AFM)为1,选择单滤波器模式; 设置验收代码寄放器ACR0=0x0A、ACR1=0x40、ACR2=ACR3=0x00; 根据单滤波器时信息帧与滤波器的位对应关系,将需要参与滤波的信息位对应的验收屏蔽寄放器位设置为0,设置AMR0=0x00,AMR1=0x0F、AMR2=AMR3=0XFF; 如此设置,SJA1000接收标识符ID.28~ID.18为0000 1010 010的CAN标准帧 接收CAN扩展帧时单滤波器配置: 对于扩展帧,29位标识符和RTR位参与滤波; 对与参与滤波的数据,全体AMR为“0”的位所对应的ACR位和参与滤波数据的对应位务必一致才验收通过滤波; 务必留神的是AMR3和ACR3的最低两位是不用的。

      为了和将来的产品兼容,这些位理应通过置位AMR3.1和AMR3.0为“1”来定为“不影响” 图2-2 接收扩展帧布局报文时的单滤波器配置 举例:如何设置单滤波,接收标识符ID.28~ID.0为0000 1010,0100 1010,0110 1011,1110 1的CAN扩展帧? 在SJA1000复位模式下,设置寄放器CDR.7为“1”,即设置CAN操纵器SJA1000工作于PeliCAN模式 设置模式寄放器的验收滤波器模式位(AFM)为1,选择单滤波器模式; 设置验收代码寄放器ACR0=0x0A、ACR1=0x4A、ACR2=0x6B、ACR3=0XE8; 根据单滤波器时信息帧与滤波器的位对应关系,将需要参与滤波的信息位对应的验收屏蔽寄放器位设置为0,设置AMR0=0x00,AMR1=0x00、AMR2=0x00、AMR3=0X03; (2)、双滤波器的配置 这种配置可以定义两个短滤波器,由4个ACR和4个AMR构成两个短滤波器总线上的信息只要通过任意一个滤波器就被接收 滤波器字节和信息字节之间位的对应关系取决于当前接收的帧格式 接收CAN标准帧时双滤波器配置: 假设接收的是标准帧信息,被定义的两个滤波器是不一样的。

      第一个滤波器由ACR0、ACR1、AMR0、AMR1以及ACR3、AMR3低4位组成,11位标识符、RTR位和数据场第1字节参与滤波; 其次个滤波器由ACR2、AMR2以及ACR3、AMR3高4位组成,11位标识符和RTR位参与滤波 为了告成接收信息,在全体单个位的对比时,应至少有一个滤波器表示采纳RTR 位置位“1”或数据长度代码是“0 ”,表示没有数据字节存在;只要从开头到RTR 位的片面都被表示接收,信息就可以通过滤波器1 假设没有数据字节向滤波器苦求过滤,AMR1和AMR3的低4位务必被置为“1”,即“ 不影响”此时,两个滤波器的识别工作都是验证包括RTR 位在内的整个标准识别码 图2-3 接收标准布局报文时的双滤波器配置 举例:如何设置双滤波,接收标识符ID.28~ID.18为0000 1010,010和ID.28~ID.18为0110 1011,111的两类CAN标准帧? 在SJA1000复位模式下,设置寄放器CDR.7为“1”,即设置CAN操纵器SJA1000工作于PeliCAN模式 设置模式寄放器的验收滤波器模式位(AFM)为0,选择双滤波器模式; 设置验收代码寄放器ACR0=0x0A、ACR1=0x40、ACR2=0x6B、ACR3=0xE0; 根据双滤波器时信息帧与滤波器的位对应关系,将需要参与滤波的信息位对应的验收屏蔽寄放器位设置为0,设置AMR0=0x00,AMR1=0x0F、AMR2=0x00、AMR3=0X0F; 接收CAN扩展帧时双滤波器配置: 假设接收到扩展帧信息,定义的两个滤波器是一致的。

      第一个滤波器由ACR0、ACR1和AMR0、 AMR1构成; 其次个滤波器由ACR2、ACR3和AMR2、 AMR3构成; 两个滤波器都只对比扩展识别码的前两个字节,即29位标识符中得高16位 为了能告成接收信息,全体单个位的对比时至少有一个滤波器表示接收 图2-4 接收扩展布局报文时的双滤波器配置 举例:如何设置双滤波,接收标识符ID.28~ID.13为0000 1010,0100 1010和ID.28~ID.13为0110 1011,1110 1001的两类CAN扩展帧? 在SJA1000复位模式下,设置寄放器CDR.7为“1”,即设置CAN操纵器SJA1000工作于PeliCAN模式 设置模式寄放器的验收滤波器模式位(AFM)为0,选择双滤波器模式; 设置验收代码寄放器ACR0=0x0A、ACR1=0x4A、ACR2=0x6B、ACR3=0XE9; 根据双滤波器时信息帧与滤波器的位对应关系,将需要参与滤波的信息位对应的验收屏蔽寄放器位设置为0,设置AMR0=0x00,AMR1=0x00、AMR2=0x00、AMR3=0X00; 推举CAN总线学习书籍及学习板: 1、《CAN总线嵌入式开发——从入门到实战》, 牛跃听 周立功等编著, 北京航空航天大学出版社,2022-1-1,ISBN9787512406919 2、《CAN总线应用层协议实例解析》, 牛跃听 周立功等编著,北京航空航天大学出版社,2022,ISBN9787512415652 — 8 —。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.