CAN总线ACR/AMR原理浅析

本文介绍了CAN总线中的ACR(Acceptance Code Register)和AMR(Acceptance Mask Register)原理,这两个概念在CAN报文过滤中起到关键作用。ACR指定关注和忽略的CAN ID位,而AMR规定ACR中哪些位生效。在某些配置下,如ECU使用扩展模式,只有特定的ACR位与AMR匹配时,CAN报文才会被接收,否则将被过滤掉。CAN总线通过差分电平传输数据,并使用ACR和AMR作为过滤机制,确保网络中有效通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ACR/AMR屏蔽字属性用于屏蔽特定CAN ID,ACR用于指定CAN ID二进制中关注位和忽略位;AMR用于规定ACR中那些二进制位生效,哪些无效,通过ACR和AMR确定报文过滤规范。按照不同VCI、CAN卡等供应商和相关开发人员提供计算工具(不同的工具采用不同的公式)运算而取值。下面介绍理论情况下ACR和AMR计算原理:

在理解ACR、AMR之前,首先需要知道以下几个概念:

1. CAN:Controller Area Network

2. ACR:Acceptance Code Register

3. AMR:Acceptance Mask Register

4. AF:Acceptance Filter

类似Ethernet,CAN引入了子网的概念,IP包含Host ID和Network ID两部分,以Mask(子网掩码)区分。ACR和AMR就类似于Ethernet中的Mask,AF通过ACR和AMR起作用;

例如某ECU采用单滤波器接口、29位ID的扩展模式(Pelican Mode)下,CAN ID高8位用做命令字,3~23位用作具体ID设定位,低3位无用。

ECU CAN ID

0x??40 0000

AMR

0xFF1F FFFF

ACR

0x??40 0000

AMR中0代表有效位1代表无效位;从AMR的设定可以看出,只有第二字节高3 bit有效。

CAN总线使用差分电平实现逻辑0/1的映射。低电平对应隐性位,即逻辑1;高电平对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值