CAN过滤是控制器局域网络中用于控制哪些消息可以被节点接收的一种机制。在CAN网络中,由于是CAN总线通信,所有节点都会接收到网络上的所有消息。为了提高效率和减少处理无关数据的负担,节点可以配置过滤器来只接收特定的消息。CAN的过滤分为软件过滤和硬件过滤。
1
软件过滤
CAN的软件过滤是指在软件层面上对CAN总线上传输的报文进行筛选和处理的过程。亿佰特CAN系列产品软件过滤使用逻辑为过滤CAN ID,下面以亿佰特CAN转以太网设备ECAN-E01/ECAN-E01S进行举例说明,亿佰特CAN转以太网设备ECAN-E01/ECAN-E01S支持自定义3路软件CAN ID过滤。
配置项说明:
① 启用选项:勾选表示启用该过滤器,未勾选则该过滤无效。② ID上限(Hex):该配置项为设置可接收数据的最大CAN ID,输入HEX值。③ ID下限(Hex):该配置项为设置可接收数据的最小CAN ID,输入HEX值。注:可接收数据的CAN ID范围为ID下限(Hex)到ID上限(Hex)之间,如上图,ID上限为3,ID下限为1,则接收的CAN ID只有1、2、3(此处均为HEX值)。
2
硬件过滤
CAN的硬件过滤指的是在CAN控制器硬件层面上对CAN总线上传输的报文进行筛选的过程。下面以亿佰特CAN转以太网设备ECAN-E01/ECAN-E01S进行举例说明,亿佰特CAN转以太网设备亿佰特ECAN-E01/E01S设备支持设置14组硬件过滤。
通过上位机配置过滤器参数。
配置项说明:
① 启用选项:勾选表示启用该过滤器,未勾选则该过滤无效。
② 过滤模式选择:有2种过滤模式,第一种为屏蔽位过滤,第二种为标识符列表过滤。屏蔽位过滤:在这种模式下,硬件过滤器使用一个屏蔽位和一个标识符来定义哪些消息可以通过。屏蔽位决定了哪些位需要匹配,哪些位可以忽略。如果接收到的消息标识符与过滤器中的标识符在屏蔽位为1的地方相匹配,则消息可以通过,如果屏蔽码中的某一位为0,则标识符匹配值中的相应位可以不必与接收到的帧的标识符中的相应位相匹配。标识符列表过滤:在这种模式下,硬件过滤器会创建一个允许通过的标识符列表。只有当接收到的CAN消息的标识符与列表中的某个标识符完全匹配时,该消息才会被接收。
③ 位宽选择:一种为16bit,一种为32bit。
④ IDHigh & IDLow:IDHigh(CAN消息标识符的高16位),IDLow(CAN消息标识符的低16位)
⑤ MaskHigh & MaskLow:MaskHigh(硬件过滤器配置中使用的掩码的高16位),MaskLow(硬件过滤器配置中使用的掩码的低16位)RTR:远程发送请求位。RTR位用于区分数据帧和远程帧。在数据帧中,RTR位必须为“显性”(逻辑0),表示这是一个包含实际数据的数据帧;而在远程帧中,RTR位必须为“隐性”(逻辑1),表示这是一个请求发送特定标识符的数据帧的远程帧,它本身不包含实际的数据负载。勾选为逻辑1,未勾选则为逻辑0。IDE:标识符扩展位。IDE位用于区分标准帧格式和扩展帧格式。在标准帧中,IDE位为显性(逻辑0),表示这是一个标准格式的数据帧,使用11位标识符;在扩展帧中,IDE位为隐性(逻辑1),表示这是一个扩展格式的数据帧,使用29位标识符。勾选为逻辑1,未勾选则为逻辑0。
产品推荐
ECAN-E01/ECAN-E01S是亿佰特开发的一款高性能工业级以太网与CAN-Bus的数据转换设备,它内部集成了2路CAN-Bus接口、1路EtherNet接口,支持TCP/UDP协议,可以轻松完成CAN-Bus网络和以太网网络的互通。
-
硬件
+关注
关注
11文章
3328浏览量
66218 -
软件
+关注
关注
69文章
4943浏览量
87478 -
CAN协议
+关注
关注
1文章
36浏览量
12666
发布评论请先 登录
相关推荐
评论