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

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

3天内不再提示

【教程】讲解CH32FV系列32位CAN硬件过滤

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

简介

32位硬件过滤器与16位硬件过滤器一样具有两种模式32位标识符模式与32位屏蔽位模式。

32位和16位在使用规则上没有太大的区别,唯一存在区别的是寄存器的ID映射区域不同,下文根据不同模式分别进行32位硬件过滤器实例分析。

32位标识符列表

73948956-9d2a-11ef-8084-92fbcf53809c.png

32位标识符模式较16位更好理解,一个CAN_FxRx寄存器不再拆分,这样就可以更完整的过滤ID,比如16位寄存器无法的扩展ID的第14位到第0位进行规则匹配,而32位就可以完整限制ID过滤规则,比如下图列举的过滤规则:将CAN_FxR1[31:0]为0x200002,IDE为低,RTR为高,限制仅接收标准远程帧,由于为标准帧,ID通过CAN_FxR1[31:21]限制为1,综合来看此规则订阅CAN仅接收ID为1的标准远程帧。将CAN_FxR2[31:0]为0x400004,IDE为高,RTR为低,限制仅接收扩展数据帧,由于为扩展,ID通过CAN_FxR2[31:3]限制为0x80000,综合来看此规则订阅CAN仅接收ID为0x80000的扩展数据帧。

73ac6b34-9d2a-11ef-8084-92fbcf53809c.png

32位屏蔽位模式

73b033a4-9d2a-11ef-8084-92fbcf53809c.png

与16位屏蔽位模式规则一致,标识符寄存器用来存储规则,屏蔽位寄存器用于是否开启判断,就不再赘述。
举例说明:将标识符寄存器CAN_FxR1[31:0]为0x200000,屏蔽位寄存器CAN_FxR2[31:0]为0x200000,屏蔽位寄存器CAN_FxR2的IDE与RTR均为低,代表可以通过标准帧、扩展帧、数据帧、远程帧,由于标准与扩展的ID判断的映射区域不同,分开进行分析。

• 标准帧解析过程:标识符寄存器的CAN_FxR1[31:21]为1,并且屏蔽位寄存器的对应位也为1,代表可以接收该bit位为1的标准帧ID(即仅接收标准ID为奇数的CAN帧),综合前置调整,该配置可通过标准ID为奇数的远程帧与数据帧。

• 扩展帧解析过程:标识符寄存器的CAN_FxR1[31:3]为0x40000,并且屏蔽位寄存器的对应位也为1,代表可以接收第20位bit为高的扩展帧,比如ID为0x40000、0x4FFFF、0x7000等ID的扩展远程帧和数据帧。

73c6bdfe-9d2a-11ef-8084-92fbcf53809c.png

通过限制IDE位可实现标准ID与扩展ID的限制,比如下面这个配置案例,限制IDE为低(标识符寄存器的IDE映射位为低,屏蔽位寄存器的IDE映射位为高)达到限制可接受的ID类型为标准数据帧和标准远程帧两种的效果,再加上标准帧ID的映射区数值为0x1,屏蔽位寄存器的ID映射区也为0x1,代表该限制仅接收标准ID为奇数的数据帧与远程帧。

73dd3ef8-9d2a-11ef-8084-92fbcf53809c.png

接下来的举例限制可接收的数据帧为标准ID为奇数的数据帧。

73f2b5ee-9d2a-11ef-8084-92fbcf53809c.png

下图的举例将接收数据帧限定为扩展ID(标识符寄存器的IDE映射位为高,屏蔽位寄存器的IDE映射位为高),再加上扩展帧ID的映射区数值为0x1,限定条件也为0x01,代表下图配置仅接收扩展ID为奇数的远程帧与数据帧。

74005a00-9d2a-11ef-8084-92fbcf53809c.png

下图配置同时限制ID类型与帧类型,仅接收扩展ID为奇数的数据帧。

7404025e-9d2a-11ef-8084-92fbcf53809c.png

过滤器优先级

不少芯片支持多组CAN过滤器配置,比如CH32V307最多支持28组过滤器配置,若出现某个报文数据可以通过多个过滤器的过滤,则接收邮箱中存放的过滤器编号会根据过滤器的优先级规则来决定存放哪个过滤器编号,过滤器的优先级规则如下:①所有32位的过滤器优先级均高于16位的过滤器;②对于同宽度的过滤器,标识符列表的过滤器优先级高于屏蔽位模式的过滤器;③宽度和模式都一致的过滤器,编号小的过滤器优先级更高。

相关推荐

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

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

    关注

    57

    文章

    2694

    浏览量

    463121
  • 硬件
    +关注

    关注

    11

    文章

    3208

    浏览量

    66052
  • 过滤器
    +关注

    关注

    1

    文章

    427

    浏览量

    19513
收藏 人收藏

    评论

    相关推荐

    STM8 CAN 总线的 IdMask 模式的讲解

    CAN_Filter 寄存器的任何一进行匹配。2、过滤器完全有效 接收到的标识符要跟据 CAN_FilterMask 寄存器指定需要匹配的
    发表于 08-19 16:28

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

    : 0x0000 0000注: 只有在设置CAN_FMR(FINIT=1),使过滤器处于初始化模式下,才能对该寄存器写入。图5[tr=transparent]31:14保留
    发表于 03-16 14:14

    CAN过滤器的配置

    CAN过滤器的配置(f103 hal1.8 系列can过滤器的配置是对can接收到的报文进行
    发表于 08-19 06:11

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

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

    STM32普通型芯片的CAN过滤器组

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

    过滤组、过滤器编号介绍

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

    CAN1和CAN2的28个过滤器组

    过滤器组,其它STM32F103xx系列产品中有14个过滤器组,用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32
    发表于 08-20 06:33

    STM32 CAN1和CAN2的过滤器组

    过滤器组,其它STM32F103xx系列产品中有14个过滤器组,用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32
    发表于 08-23 08:44

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

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

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

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

    如何设置AT32F4xx系列CAN过滤器?

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

    AT32F系列CAN过滤器使用

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

    STM32_CAN发送和接收过滤原理

    STM32_CAN发送和接收过滤原理介绍。
    发表于 07-22 17:04 9次下载

    Coral3568如何软硬件过滤can帧及优化?

    CAN总线调试时,根据数据的重要性,接收端可以专注于接收重要消息,提高效率。CAN报文帧是用一个标识符或一系列标识符来过滤的。可以使用CAN
    的头像 发表于 12-08 15:52 560次阅读
    Coral3568如何软<b class='flag-5'>硬件</b><b class='flag-5'>过滤</b><b class='flag-5'>can</b>帧及优化?

    CH32FV系列CAN设备过滤器配置

    帧,规则之外的数据直接丢弃,此过程外设自动处理,尽量减少软件对报文筛选的干预。本文仅适用于采用CH32F2x、CH32V2x、CH32V3x微控制器系列
    的头像 发表于 10-11 08:03 168次阅读
    <b class='flag-5'>CH32FV</b><b class='flag-5'>系列</b><b class='flag-5'>CAN</b>设备<b class='flag-5'>过滤</b>器配置