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

验收滤波解读ppt课件.ppt

16页
  • 卖家[上传人]:des****85
  • 文档编号:235897893
  • 上传时间:2022-01-06
  • 文档格式:PPT
  • 文档大小:2.63MB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 3.6 验收滤波器目 录 验收滤波的作用 SJA1000验收滤波器原理 SJA1000延时滤波器设置函数 测试例程生存者-消费者模型01010101010101010101010101010101010101010101010101010101生产者消费者发送CAN帧的节点,其发送的数据被网络中的所有消费者接收接收CAN帧的节点,接收总线上的所有CAN帧 CAN节点不需要处理所以的CAN帧,CAN控制器通过滤波器来过滤不需要接收的CAN帧生产者消费者验收滤波作用验收通过的帧放入接收FIFO过滤不需要处理的CAN帧,降低主控制器的处理负载SJA1000CAN内核验收滤波器接收FIFO接口管理逻辑发送缓冲区收发器TXRXCAN-HCAN-L丢弃验收不通过的帧目 录 验收滤波的作用 SJA1000验收滤波器原理 SJA1000延时滤波器设置函数 测试例程单滤波原理 SJA1000通过对帧ID和数据字节逐位比较,将符合要求的报文存入RXFIFO同或 ACR验收代码位AMR验收屏蔽位ACR+| AMR信息位输出逻辑 =输出逻辑信息位或 & 其它位的比较结果其它位的比较结果与 输出逻辑为1的帧验收通过,被存入接收FIFO单滤波原理真值表同或 ACR验收代码位AMR验收屏蔽位输出逻辑信息位或 其它位的比较结果与 01110信息位验收代码位验收屏蔽位其它位比较结果输出逻辑XXX有一个00010都为10100都为10000都为11110都为11XX1都为1111110其它位比较结果有一个为0,则验收不通过10000其它位比较结果都为1,屏蔽位为0,信息位与验收代码位不同,则验收不通过其它位比较结果都为1,屏蔽位为0,信息位与验收代码位形同,则验收通过其它位比较结果都为1,屏蔽位为1,则验收通过 假设:验收代码寄存器ACR0ACR3分别为0 x21,0 x00,0 x05,0 x24,屏蔽代码寄存器AMR0AMR3分别为0 x00,0 x00,0 x00,0 x03。

      ACR3=0X03ACR2=0X21AMR1=0X00AMR0=0X00ACR2=0X24ACR2=0X05ACR1=0X00ACR0=0X21AMR0AMR3ACR0ACR3单滤波标准帧比较规则待验收的信息位ID28ID27ID21ID26ID25ID24ID23ID22ID20ID19ID18RTRDB1.7DB1.6DB1.0DB1.5DB1.4DB1.3DB1.2DB1.1DB2.7DB2.6DB2.0DB2.5DB2.4DB2.3DB2.2DB2.1 帧ID= 0 x108 , RTR = 0 ,DATA2= 0 x240 x27,DATA1= 0 x05的能被验收通过数据帧 屏蔽位为1的位不做比较 对于标准帧,单滤波模式下比较帧ID、RTR位和前两个数据字节接收到的CAN 数据未使用x x0 x10 x00 x80 x00 x50 x20 x47 AMR位为1的位对应信息为不做比较,AMR为0的位对应的信息位与验收代码位相同才能验收通过ACR1=0X00代验收的信息位ID28ID27ID21ID26ID25ID24ID23ID22ID20ID19ID18ID17ID12ID11ID05ID10ID09ID08ID07ID06ID04ID03ID02ID01ID00RTRID16ID15ID14ID13ACR3=0X03ACR2=0X21AMR1=0X00AMR0=0X00ACR2=0X24ACR2=0X05ACR0=0X21AMR0AMR3ACR0ACR3单滤波扩展帧比较规则屏蔽位为1的位不做比较对于扩展帧,单滤波模式下比较帧ID和RTR位。

      接收到的CAN 数据x x AMR位为1的位对应信息为不做比较,AMR为0的位对应的信息位与验收代码位相同才能验收通过 假设:验收代码寄存器ACR0ACR3分别为0 x21,0 x00,0 x05,0 x24,屏蔽代码寄存器AMR0AMR3分别为0 x00,0 x00,0 x00,0 x03帧ID= 0 x42002A4, RTR = 1 远程帧能被验收通过0 x40 xA0 x20 x000000 x00 x20 x40 x0双滤波原理 双滤波器定义了两组比较规则,每组规则的判断方式与单滤波器模式相同相或其中一个滤波器比较通过,就能接收该帧ID28ID27ID21ID26ID25ID24ID23ID22ID20ID19ID18RTR0 0 0 00 0 0 0DB1.7DB1.6DB1.0DB1.5DB1.4DB1.3DB1.2DB1.1待验收的信息位双滤波标准帧比较规则ID.28 ID.18 = 0 x052的数据帧验收通过 对于标准帧,滤波器2比较帧ID.28ID.18和RTR位;滤波器1比较ID.28ID.18、第一个字节和RTR位 假设:验收代码寄存器ACR0ACR3分别为0 x21,0 x10,0 x05,0 x24,屏蔽代码寄存器AMR0AMR3分别为0 x00,0 x00,0 x00,0 x00。

      ACR00 0 1 0 0 0 0 1ACR10 0 0 1 0 0 0 0AMR30 0 0 0ACR30 1 0 0滤波器1AMR30 0 0 0ACR20 0 0 0 0 1 0 1ACR30 0 1 0滤波器2ID.28ID.18 = 0X211,且第一个字节=0 x04的数据帧验收通过bit74bit30接收到的CAN 数据接收到的CAN 数据ID28ID27ID21ID26ID25ID24ID23ID22ID20ID19ID18D170 0 0 0ID16ID15ID14ID13待验收的信息位双滤波扩展帧比较规则ID.28 ID.13 = 0 x2110的帧能被验收通过对于扩展帧,两个滤波器都是比较帧的ID.28ID.13 假设:验收代码寄存器ACR0ACR3分别为0 x21,0 x10,0 x05,0 x24,屏蔽代码寄存器AMR0AMR3分别为0 x00,0 x00,0 x00,0 x00ID.28ID.18 = 0X0524的数据帧验收通过接收到的CAN 数据0 0 0 0接收到的CAN 数据AMR10 0 0 0ACR00 0 1 0 0 0 0 1ACR10 0 1 0滤波器10 0 0 00 0 0 0ACR20 0 0 0 0 1 0 1ACR30 0 1 0 0 1 0 0滤波器2目 录 验收滤波的作用 SJA1000验收滤波器原理 SJA1000延时滤波器设置函数 测试例程SJA1000验收滤波设置函数void SJA1000_Config_Filter (char mode,char *Filter) SetBitMask(REG_CAN_MOD,RM_AFM_BIT); if (mode 0) SetBitMask(REG_CAN_MOD,AFM_BIT); else ClearBitMask(REG_CAN_MOD,AFM_BIT); WriteSJARegBlock(REG_CAN_ACR0,Filter,8); ClearBitMask(REG_CAN_MOD,RM_AFM_BIT); / 进入复位模式/ 双滤波模式/ 单滤波模式/ 配置验收代码/ 退出复位模式目 录 验收滤波的作用 SJA1000验收滤波器原理 SJA1000延时滤波器设置函数 测试例程测试例程void main ( ) timerInit(); SJA1000_RST = 1; timerDelay(50); SJA1000_Init(0 x00,0 x14,SJA_CAN_Filter); / 初始化SJA100 SJA1000_Config_Filter(0,SJA_CAN_Filer); for (;) if (SJARcvData(STD_SEND_BUFFER,0 x00) D1 = !D1; / D1取反 测试方法:设置CAN接收滤波器:ACR0ACR3分别为0 x21,0 x10,0 x05,0 x24,AMR0AMR3分别为0 x00,0 x00,0 x00,0 x03,当接收到报文时LED等D1闪烁。

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