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

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

CH32FV系列CAN硬件过滤简介

CAN作为总线通信协议,在总线上可能会有大量的数据包同时传输,适当的过滤机制可以提升数据处理的效率,节省处理器的资源。通过配置CAN过滤器定义自己的数据接收规则,只接收和处理符合规程的CAN数据帧,规则之外的数据直接丢弃,此过程外设自动处理,尽量减少软件对报文筛选的干预。

本文仅适用于采用CH32F2x、CH32V2x、CH32V3x微控制器系列的CAN设备过滤器说明,其他微处理器也可参考本文学习。

CH32V307为例,最多支持28组过滤器配置,可选16位或32位过滤模式,支持两种方式过滤(屏蔽位或标识符列表)。

16位标识符列表

16位标识符列表

RTR:1远程帧,0数据帧;

IDE:1扩展帧,0标准帧;

STID:标准帧ID;

EXID:扩展帧ID;

16位标识符列表模式下,寄存器组被拆分成四个寄存器,四个寄存器都用作标识符寄存器。

2 CH32FV系列CAN硬件过滤
3  CH32FV系列CAN硬件过滤


CAN_FxR1[15:0]、CAN_FxR1[31:16]、CAN_FxR2[15:0]、CAN_FxR2[31:16]分别配置为0xFFE0、0x0FF0、0x1009、0x101F,第一个寄存器代表仅接收ID为7FF的标准数据帧,第二个寄存器代表仅接收ID为7F的标准远程帧,第三个寄存器代表仅接收扩展ID的28位、15位为高并且ID第27位到第16位为低的扩展数据帧,第四个寄存器代表仅接收ID的28位、第17位到第15位为高并且第27为到第18位为低的扩展远程帧;

4  CH32FV系列CAN硬件过滤


按上图配置CAN硬件过滤,仅可接收下述符合规则的CAN数据帧:

1ID为7FF的标准数据帧;

2ID为7F的标准远程帧;

3ID为10008000到1000FFFF的扩展数据帧;

4ID为10038000到1003FFFF的扩展远程帧;

16位屏蔽位模式

5  CH32FV系列CAN硬件过滤


16位模式下,寄存器组被拆分成四个寄存器,包含2组16位标识符寄存器和16位屏蔽寄存器;

ID对应关系与16位列表模式一致,只是高16位做MARK(掩码),低16位做标识符,掩码位为高时,代表接收CAN的帧对应ID应与标识符寄存器对应位一致(或帧格式一致),否则数据被过滤,反之不进行该位验证;

以下图为例:

1) CAN_FxR1[15:0]配置位0x0020,CAN_FxR1[31:16]配置为0x0038,标识符寄存器的IDE与RTR为低,Mark的IDE与RTR为高,代表仅接收标准数据帧,在看标识符寄存器的STID的第0位为高,Mark也为高,代表接收奇数ID,综合一下CAN_FxR1寄存器限制CAN仅接收ID为奇数标准数据帧;

2) CAN_FxR2[15:0]配置位0xFFFF,CAN_FxR2[31:16]配置为0XFFFF,标识符寄存器的IDE与RTR为高,Mark的IDE与RTR也为高,代表仅接收扩展远程帧,CAN_FxR2[15:5]与CAN_FxR2[2:0]都为高,代表ID从15位开始到28位全部为高,同时对应的Mark也为高,代表ID在0x1FFF8000-1FFFFFFF才会被接收

6  CH32FV系列CAN硬件过滤

以上就是16位CAN硬件过滤器应用说明,下面我们将介绍CH32FV系列32位CAN硬件过滤器的应用说明,可点击阅读。


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



相关阅读:

1、【教程】利用ECAN-401实现CAN报文自定义协议转发

2、CAN总线通信实现CAN报文带ID标识教程

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



亿佰特官网 4000-330-990

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