当前位置: 首页 >应用方案 >技术应用 >

ECAN-E02单过滤器CAN硬件过滤详解

一、什么是CAN

CAN总线是一种用于车辆电子设备之间通信的标准协议。CAN过滤器是用来过滤CAN总线上收到的消息,从而确保只处理特定的数据帧。在CAN通信中,过滤器的配置对于性能和消息处理的准确性非常重要。

二、什么是CAN过滤器单过滤模式(Single Filter Mode)

在使用ECAN-E01的单过滤模式前,我们需要知道CAN过滤器的单过滤模式(Single Filter Mode)指的是过滤器只设置一个过滤条件。这种模式下,CAN控制器会基于该单一条件来筛选接收到的CAN消息。符合过滤条件的消息将被接收并传递给上层应用处理,而不符合条件的消息则被丢弃。

主要特点:

1.简单易用:单过滤模式通常比较简单,适用于只关心某一类消息的场景。

2.过滤规则简单:只有一个过滤规则,用来匹配特定的标识符(ID),这对于应用程序来说可以减少复杂性。

3.性能适中:因为只有一个过滤条件,所以单过滤模式通常不会对系统性能产生过大的负担,适合低延迟要求的应用。

三、ECAN-E02的单过滤器模式

首先观察ECAN-E02型号can转以太网数据转换设备的单过滤器模式UI界面:

1  单过滤器CAN硬件过滤

(1)CodeHigh 代表的为16-31位的数,CodeLow 代表的为0-15位的数:

(2)同理,MaskHigh 代表的为16-31位的数,MaskLow 代表的为0-15位的数:

(3)ECAN-E01的过滤界面,可以通过直接点击Code,Mask进行数据的配置,1其中,对于ST这一行,RTR代表的是远程帧,ID00-ID10代表的是标准帧ID的11位,DB1[0-7]代表的是数据帧第一个字节的8位,DB2[0-7]代表的则是数据帧第二个字节的8位(由高到低,从左到右,其中“XX”代表无需设置):

(4)对于ET这一行,RTR代表的是远程帧,ID00-ID28代表的是扩展帧ID的29位(“XX”代表无需设置)。


了解了基本的配置后,我们结合测试设置进行分析

我们要实现效果“使用网页配置为单过滤模式CodeHigh (Hex)配置为0x0020,CodeLow (Hex)配置为0x0008,MaskHigh (Hex)配置为0xFFCF,MaskLow (Hex)配置为0xFFF3,保存参数,重启设备;使用网络调试助手连接设备通道1服务器,使用CAN分析仪连接通道1CAN接口,网络调试助手仅会收到ID为奇数并且第二个数据的第四位为高的标准数据帧(例如数据位为00 08 00 00 00 00 00 00可以被接收)与ID为奇数并且ID第十七位为0第十八位为1的扩展数据帧(例如ID50001可以接收)”先设置好Code与Mask的值后,进行下一步:

2  单过滤器CAN硬件过滤

首先观察可以过滤的标准数据帧,观察ST Code Mask这三行,可以发现,帧ID该位可以为1,因此在该位上任何数加一均为奇数,所以只能收到帧ID为奇数的标准帧,接下来再观察数据DB部分

3  单过滤器CAN硬件过滤

此时ST DB2[3]对应的Code为1,Mask为0,代表该位必须为高位,Mask判断该位必须为Code值。

所以能接收ID为奇数并且第二个数据的第四位为高的标准数据帧(例如数据位为00 08 00 00 00 00 00 00可以被接收)

4  单过滤器CAN硬件过滤

现在观察可以过滤的扩展数据帧格式,观察ET Code Mask 三行 ID00-ID28分别代表29位的扩展帧ID格式,RTR代表的是远程帧,“XX”代表不用配置。观察格式,首先,ID00位必须满足,该位必须为1,其次,观察到17位,18位对应的Mask,也必须满足第17位为0,第18位为高位的格式,所以 ID为奇数并且ID第十七位为0第十八位为1的扩展数据帧(例如ID50001可以接收)。



今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多CAN总线模块和CAN总线网关产品的更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、can总线控制器局域网串行通信协议详解

2、CAN总线常见问题说明及汇总

3、CH32FV系列32位CAN硬件过滤器应用说明

4、CH32FV系列16位CAN硬件过滤器应用说明



亿佰特官网 4000-330-990

https://www.wjx.cn/jq/84863372.aspx