首页/新闻资讯/正文详情

CAN数据帧和过滤器

发布时间:2026/9/27 10:21:32 来源:云帆数科 栏目:资讯中心
CAN数据帧和过滤器
一、can通信的数据帧起始位 识别码 RTR1位(0) 11位(每个设备都有属于自己的识别码) 1位(数据帧0远程请求帧1)控制码IDE 空闲位 DLC1位区分标准(0识别码11位)和拓展(1识别码29位) 1位(0) 数据长度(字节)数据码0~8字节DLC为1这数据码是8位CRC CRC界定符 ACK ACK界定位 结束位16位 1位(1) 1位(发送端1接收端0) 1位(1) 7位(1111111)二、can过滤器过滤器组• 掩码模式过滤出一组多个符合要求的ID• 列表模式过滤出一个或多个符合要求的ID• 16位过滤器只能用来过滤标准帧ID• 32位过滤器一般用来过滤扩展帧ID当然也可以过滤标准帧一个过滤器组是由两个32位寄存器组成可以将其配置为• 四个16位列表模式的过滤器可以过滤出来四个ID号的信息• 两个16位掩码模式过滤器• 一个32位掩码模式过滤器掩码模式当我们设置为掩码模式时一般我们称CAN_FxR1寄存器为ID寄存器或者验证码寄存器CAN_FxR2为掩码寄存器。代码详解1、设置为16位列表模式sFilterConfig.FilterMode CAN_FILTERMODE_IDLIST; // 列表模式 sFilterConfig.FilterScale CAN_FILTERSCALE_16BIT; // 16位位宽 sFilterConfig.FilterIdHigh 0x01 5; sFilterConfig.FilterIdLow 0x025; sFilterConfig.FilterMaskIdHigh 0x085; sFilterConfig.FilterMaskIdLow 0x0000;列表模式IDLIST只接收“列表中明确列出的 ID”不在列表中的全部丢弃白名单16位位宽在列表模式下整个过滤器组会被拆分成 4 个 16 位的“ID槽位”FilterIdHighFilterIdLowFilterMaskIdHighFilterMaskIdLow。左移5位STM32 CAN 过滤器硬件寄存器中标准 ID11位存放在高 11 位bits[15:5]低 5 位bits[4:0]用于存放 IDE/RTR 等标志位。允许通过的标准帧 ID 为0x01、0x02、0x08、0x00。2、设置为32为列表模式sFilterConfig.FilterMode CAN_FILTERMODE_IDLIST; //列表模式 sFilterConfig.FilterScale CAN_FILTERSCALE_32BIT; // 32位位宽 sFilterConfig.FilterIdHigh 0x01 5; sFilterConfig.FilterIdLow 0x0000; sFilterConfig.FilterMaskIdHigh 0x085; sFilterConfig.FilterMaskIdLow 0x0000;表示32位列表模式在32位列表模式下一个过滤器组被拆分成2个 32位的ID槽位。槽位1ID1由FilterIdHighFilterIdLow组合而成槽位2ID2由FilterMaskIdHighFilterMaskIdLow组合而成左移5位STM32 CAN过滤器寄存器中标准ID11位存储在32位寄存器的 bit[31:21]。实际过滤结果只接收标准ID 0x01和标准ID 0x08的数据帧。3、设置位16位掩码模式sFilterConfig.FilterMode CAN_FILTERMODE_IDMASK; // 掩码模式 sFilterConfig.FilterScale CAN_FILTERSCALE_16BIT; sFilterConfig.FilterIdHigh 0x01 5; sFilterConfig.FilterIdLow 0xfffE5; sFilterConfig.FilterMaskIdHigh 0x01 5; sFilterConfig.FilterMaskIdLow 0xfffE5;表示 16位掩码模式掩码模式的核心逻辑“ID的哪些位必须匹配哪些位可以忽略”。1单元A由 FilterIdHigh FilterMaskIdHigh 构成ID值0x01 50x20二进制0010 0000掩码值0x01 50x20二进制0010 0000匹配规则掩码中为1的位必须与ID值完全一致为0的位忽略。这里掩码只在bit5位有1其他位都是0。因此硬件只会检查标准ID的bit5是否为1对应11位标准ID的最低位即bit0。结论所有标准ID为奇数0x001, 0x003, 0x005 ... 0x7FF的帧都能通过。2单元B由 FilterIdLow FilterMaskIdLow 构成写入值0xFFFE 5。注意标准ID最大为0x7FF11位0xFFFE远超范围。这里实际运算为0xFFFE 5 0x1FFFC0写入16位寄存器时自动截断为低16位即0xFFC0。掩码值同理同样被截断为0xFFC0实际生效ID0xFFC0二进制1111 1111 1100 0000实际生效掩码0xFFC0二进制1111 1111 1100 0000匹配规则掩码中为1的位bit15~bit6必须与ID完全一致为0的位bit5~bit0忽略。寄存器中的 bit15~bit6 对应标准11位ID的 bit10~bit1。这意味着强制要求标准ID的高10位bit10 ~ bit1全部为 1。

相关推荐

rsuite Dropdown 自定义触发器与面板:用 renderToggle、panel 与 Separator 打造个性化下拉菜单
rsuite Dropdown 自定义触发器与面板:用 renderToggle、panel 与 Separator 打造个性化下拉菜单

前端UI组件 【免费下载链接】rsuite &#x1f9f1; A suite of React components . 项目地址&#xff1a; https://gitcode.com/gh_mirrors/rs/rsuite 点击查看 免费下载 本指南聚焦 rsuite 中 <Dropdown> 组件的进阶定制能力&#xff1a;通过 renderToggle 将默认按钮… · 2026/9/27 10:21:32

STM32消防预警系统:开源硬件+状态机驱动的实验室安全方案
STM32消防预警系统:开源硬件+状态机驱动的实验室安全方案

1. 这不是个玩具项目&#xff0c;是实验室真能用的消防预警系统STM32项目开源&#xff1a;实验室消防预警控制系统&#xff08;代码 原理图 仿真&#xff09;——这个标题里藏着三个硬核关键词&#xff1a;STM32、消防预警、开源交付。它不是教学Demo&#xff0c;不是课程作业… · 2026/9/27 10:21:20

智能家居硬件开源项目实战:从ESP32到固件安全的完整学习路径
智能家居硬件开源项目实战:从ESP32到固件安全的完整学习路径

1. 从一堆热搜词里&#xff0c;我看到了智能家居硬件开源的真实需求智能家居硬件开源项目去哪里找&#xff0c;这个问题看起来简单&#xff0c;但真正动手做过的人都知道&#xff0c;找项目只是第一步&#xff0c;找到能跑通、能复现、能学到东西的项目才是关键。我接触智能家居… · 2026/9/27 10:21:14

避开建站报价陷阱:网站建设的课件如何选
避开建站报价陷阱:网站建设的课件如何选

避开建站报价陷阱:网站建设的课件如何选 域名服务器搞不懂,是不是你最大的心病?很多老板拿着预算找供应商,对方张嘴就是“建站报价”几千到几万不等,但你心里没底:这钱花得值不值?技术到底行不行?… · 2026/9/27 11:19:44

基于随机森林算法的京东香水销售数据分析与可视化python项目实战机器学习实战项目案例
基于随机森林算法的京东香水销售数据分析与可视化python项目实战机器学习实战项目案例

1.3研究内容在京东香水销售数据分析与可视化研究中&#xff0c;项目运用了爬虫技术、Flask框架以及随机森林算法&#xff0c;旨在深入挖掘京东平台上的香水销售数据。首先&#xff0c;通过爬虫技术&#xff0c;项目高效地抓取了京东平台上各类香水的详细信息&#xff0c;包括品… · 2026/9/27 11:19:44

STM32开发资源全景指南:从入门到实战,避开资料陷阱
STM32开发资源全景指南:从入门到实战,避开资料陷阱

说实话&#xff0c;每年都有大量新人被 STM32 的“资料海”淹没。我当年入门时&#xff0c;手里攥着一块最小系统板&#xff0c;浏览器里存了几十个网址&#xff0c;结果一半是过时的教程&#xff0c;一半是付费课程的引流页&#xff0c;真正能解决“定时器为什么进不了中断”“… · 2026/9/27 11:19:38

网站推广入口速查手册:5步打通流量任督二脉
网站推广入口速查手册:5步打通流量任督二脉

网站推广入口速查手册:5步打通流量任督二脉 自己不会代码想做网站,是不是光看教程就头晕?别慌,这份速查手册专治各种“找不到入口”的焦虑。很多站长卡壳,不是因为技术难,而是压根不知道去哪点。… · 2026/9/27 11:19:25

电控秋招没回音?10个开源项目补齐工程经历
电控秋招没回音?10个开源项目补齐工程经历

有些事情真的很气人&#xff1a;邮箱里躺着已读不回的礼貌自动回复&#xff0c;招聘网站上状态栏永远是“已筛选”&#xff0c;你花了一晚上改完的简历&#xff0c;像石沉大海。对绝大多数准备秋招做电控方向的同学来说&#xff0c;真正的问题未必是学校或绩点不够&#xff0c;… · 2026/9/27 11:19:13

用微魔方做的网站一定要加这5个模块才是最佳实践
用微魔方做的网站一定要加这5个模块才是最佳实践

用微魔方做的网站一定要加这5个模块才是最佳实践 别再用那种一眼假的模板糊弄客户了,那种“太丑不够用”的站点,上线三天就被甲方骂回炉。… · 2026/9/27 11:19:13

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介&#xff1a;这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程&#xff0c;从线性调频&#xff08;LFM&#xff09;信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑&#xff0c;面向电子信息工程、计算机、数学等专业学生&#xff0c;适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介&#xff1a;基于PyTorch的多模态虚假新闻检测项目完整代码包&#xff0c;面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者&#xff0c;解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征&#xff0c;以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介&#xff1a;这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程&#xff0c;从线性调频&#xff08;LFM&#xff09;信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑&#xff0c;面向电子信息工程、计算机、数学等专业学生&#xff0c;适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介&#xff1a;基于PyTorch的多模态虚假新闻检测项目完整代码包&#xff0c;面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者&#xff0c;解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征&#xff0c;以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码