电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CAN总线系列讲座第六讲——SJA1000的滤波器设置

CAN总线系列讲座第六讲——SJA1000的滤波器设置_第1页
1/6
CAN总线系列讲座第六讲——SJA1000的滤波器设置_第2页
2/6
CAN总线系列讲座第六讲——SJA1000的滤波器设置_第3页
3/6
CAN 总线系列讲座第六讲——SJA1000 的滤波器设置 CAN 总线的滤波器设置就像给总线上的节点设置了一层过滤网,只有符合要求的 CAN 信息帧才可以通过,其余的一概滤除。 在验收滤波器的帮助下,只有当接收信息中的识别位和验收滤波器预定义的值相等时,CAN 控制器才允许将已接收信息存入 RXFIFO。 验收滤波器由验收代码寄存器(ACRn)和验收屏蔽寄存器 AMRn 定义,要接收的信息的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“不影响”,即可为任意值。 1、BasicCAN 模式下 SJA1000 滤波器 在验收滤波器的帮助下 CAN 控制器能够允许 RXFIFO 只接收同识别码和验收滤波器中预设值相一致的信息,验收滤波器通过验收代码寄存器 ACR 和验收屏蔽寄存器 AMR 来定义。 表2-1 验收代码寄存器 ACR BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 AC.7 AC.6 AC.5 AC.4 AC.3 AC.2 AC.1 AC.0 复位请求位被置高,验收代码寄存器 ACR 可以访问(读/写)。 表2-2 验收屏蔽寄存器 AMR BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 AM.7 AM.6 AM.5 AM.4 AM.3 AM.2 AM.1 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...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

CAN总线系列讲座第六讲——SJA1000的滤波器设置

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部