0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CH32FV系列CAN设备过滤器配置

亿佰特物联网应用专家 2024-10-11 08:03 次阅读

简介

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

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

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

16位标识符列表

表 16位列表模式

4ad97872-8764-11ef-bb4b-92fbcf53809c.png

RTR:1远程帧,0数据帧

IDE:1扩展帧,0标准帧

STID:标准帧ID

EXID:扩展帧ID

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

标准ID对应表(IDE=0)

4aff5664-8764-11ef-bb4b-92fbcf53809c.png

扩展ID对应表(IDE=1)

4b15a572-8764-11ef-bb4b-92fbcf53809c.png

将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位为低的扩展远程帧。

4b408814-8764-11ef-bb4b-92fbcf53809c.png

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

① ID为7FF的标准数据帧

② ID为7F的标准远程帧

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

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

16位屏蔽位模式

表 16位屏蔽位模式

4b4f69a6-8764-11ef-bb4b-92fbcf53809c.png

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

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

以下图为例:

4b68671c-8764-11ef-bb4b-92fbcf53809c.png

(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才会被接收。

相关推荐

4b8dff5e-8764-11ef-bb4b-92fbcf53809c.png

★ CAN总线 ǀ 串口服务器

高性能CAN-Bus总线分析仪,兼容USB2.0总线全速规范,构成现场总线、工业控制汽车电子网络等控制节点。串口服务器提供串口转网络功能,能够将串口数据转换成TCP/IP协议数据,实现串口与网络的双向透明传输。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2680

    浏览量

    462786
  • 设备
    +关注

    关注

    2

    文章

    4399

    浏览量

    70395
  • 过滤器
    +关注

    关注

    1

    文章

    422

    浏览量

    19462
收藏 人收藏

    评论

    相关推荐

    STM32之CAN ---CAN ID过滤器分析

    主控寄存器)配置。但是不是什么时候都可以直接配置,在配置一个过滤器组前,必须通过清除CAN_FAR寄存器(
    发表于 03-16 14:14

    CAN过滤器配置

    CAN过滤器配置(f103 hal1.8 系列can过滤器
    发表于 08-19 06:11

    CAN过滤器

    1.前言元旦嗨了几天,今天回来补一下CAN过滤器。就使用而言,实际上CAN过滤器非常简单,只需要几个简单的参数配置,不需要学习什么邮箱F
    发表于 08-19 07:19

    CAN通信的过滤器配置的理解

    总结一些最近做项目对CAN通信的过滤器配置的理解;这里我使用STM32F105系列的芯片,有2路CAN,我使用的是
    发表于 08-20 07:14

    STM32普通型芯片的CAN过滤器

    STM32普通型芯片的 CAN 有14组过滤器组(互联型有28组过滤器组) ,用以对接收到的帧进行过滤。每组过滤器包括了2个可
    发表于 08-20 08:27

    过滤组、过滤器编号介绍

    一、过滤组、过滤器编号介绍 在STM32互联型产品中,CAN1和CAN2分享28个过滤器组,其它STM32F103xx
    发表于 08-20 06:13

    STM32F103xx系列过滤器

    下面内容为转载:一、在STM32互联型产品中,CAN1和CAN2分享28个过滤器组,其它STM32F103xx系列产品中有14个过滤器组,用
    发表于 08-23 07:29

    STM32 CAN过滤组、过滤器编号介绍

    一、过滤组、过滤器编号介绍 在STM32互联型产品中,CAN1和CAN2分享28个过滤器组,其它STM32F103xx
    发表于 08-23 06:51

    CAN—关于CAN过滤器的一些设置方法

    CAN过滤器配置以及常见问题总结过滤器组在具有两个CAN的产品中,CAN1和
    发表于 03-08 10:23

    如何设置AT32F4xx系列CAN过滤器

    AT32F4系列CAN过滤器配置方法
    发表于 10-23 08:01

    AT32F系列CAN过滤器使用

    AT32F系列 CAN过滤器使用演示AT32F系列CAN过滤器的使用方法。
    发表于 10-27 06:44

    过滤器的作用

    本视频主要详细介绍了过滤器的作用,分别是滤速高、过滤效果好;强度高、耐腐蚀;静电作用;过滤物质;拦截;其次介绍了水龙头过滤器的作用,最后介绍了活性炭
    的头像 发表于 12-12 16:23 4.4w次阅读

    STM32 CAN应用-过滤器设置

    在使用STM32的CAN控制器进行数据收发,当用到位屏蔽模式的时候,就要设置过滤器了,这个关系到是否能够接收到想要的数据。下面针对几种不同情况对CAN过滤器(Filter)进行设置。
    发表于 02-10 10:00 3次下载
    STM32 <b class='flag-5'>CAN</b>应用-<b class='flag-5'>过滤器</b>设置

    汉克森过滤器系列介绍

    使用。进口滤芯和过滤器为原装进口,有防伪标志。我司长期为国内各大企业贴牌生产各种款式的压缩空气精密过滤器滤芯。欢迎来电咨询! 杭州佳洁机电设备有限公司供应汉克森过滤器 汉克森
    发表于 03-01 08:53 1046次阅读
    汉克森<b class='flag-5'>过滤器</b><b class='flag-5'>系列</b>介绍

    杀菌过滤器 灭菌过滤器 除菌过滤器

    杀菌过滤器 灭菌过滤器 除菌过滤器
    的头像 发表于 03-03 14:03 2317次阅读
    杀菌<b class='flag-5'>过滤器</b> 灭菌<b class='flag-5'>过滤器</b> 除菌<b class='flag-5'>过滤器</b>