热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CANTest及CANPro软件滤波设置说明

使用CANTest及CANPro软件并选择USBCAN-II这个设备进行滤波时,您可能会发现和广成科技ECANtoools软件简便的滤波设置有所不同,软

使用 CANTest 及 CANPro 软件并选择 USBCAN-II 这个设备进行滤波时,您可能会发现和广成 科技 ECANtoools 软件简便的滤波设置有所不同,软件需要您输入一个验收码和屏蔽码,此时 需要您根据自己的需求来进行计算。下面进行举例说明。


一、单 ID 滤波

比如我们只需要一个帧 ID,比如标准帧 7E8,我们应该如何计算验收码和屏蔽码呢?答案 是依靠 CANTest 自带的滤波计算器(这个功能 CANPro 是没有的)。点击 CANTest 左上角的“滤 波设置”,进入后选择“标准帧 单滤波(设定接收单个 ID)”,填写指定的 ID,如下图所示。 这样你就得到了验收码和屏蔽码,记下来回去输入就行了,你将只会收到 ID 为 7E8 的数据。
在这里插入图片描述
下面解释下这东西怎么算的,对接下来计算一段滤波有帮助。先把 7E8 按照 8421 码拆开, 正好是 11111101000,把这个数中间的空格去除,再把这段数从左往右读,11111101000, 用 8421 码装回去,就变成了 FD0,这样就变成了验收码的前半段了。验收码的作用就是去和 接收到的所有帧 ID 进行比较,只有每一个位都一样才肯放过去,并显示出来。而屏蔽码则是 验收码的爸爸,假如它某一个位是 1 的话,验收码的滤波将失效。即如果屏蔽码是 0xFFFFFFFF 的话,滤波功能将完全失效,不管你验收码如何填写。

Tips:验收码和屏蔽码都是 32 位的寄存器。

回到刚才的问题,我们肯定不希望屏蔽码这个爸爸干扰验收码的小把戏,所以从左数第 12 个位开始全都要是1,所以屏蔽码为前11位挂0,后面全是1,即000000000001111111111111 11111111,翻译过来就是 001FFFFF。验收码就不说了,要保证前面是 FD0,后面补 0,即 FD00 0000。


二、ID 段滤波

假如我们需要一个段的 ID,比如标准帧 138-13F(这个段是特殊的,下文会提),我们应该 如何计算呢?这相比于刚才稍显麻烦,我们首先要把 138 和 13F 进行 8421 拆分。注意要拆成 11 位的,不能弄成 12 位的。


138:00100111000
13F:00100111111


对比一下发现前面都一样,后三位不一样,说明后三位我们不关心,前面弄对就行。好了, 我们得到了一串想要的数,00100111XXX,把这个数输入到 CANTest 滤波设置中的“标准帧 单 滤波(仅 ID,自由设定)”中即可。
在这里插入图片描述
如你所愿的得到了你需要的验收码和屏蔽码。

那么我觉得这个段太大了怎么办,比如比如我需要标准帧 ID 为 322-325,这个段怎么计算 呢?老办法,8421 拆分。


322:01100100010
325:01100100101


有问题了,发现了分歧,如果后三位都不管的话 326 肯定会掺进来,老办法失灵了。这个 时候需要用双滤波,即双重滤波,那我们需要的很显然是 0110010001X 和 0110010010X 这两 个组合。

选择“标准帧 双滤波(仅 ID,自由设定)”这个选项就 OK 了,如图,你得到了你想要的 验收码和屏蔽码。
在这里插入图片描述


推荐阅读
  • 本文档介绍了如何使用ESP32开发板在STA模式下实现与TCP服务器的通信,包括环境搭建、代码解析及实验步骤。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • Uniswap 与 MoonPay 合作,引入法币交易功能。本文探讨这一合作对用户进入加密货币领域的安全性及便利性的影响。 ... [详细]
  • HBase 数据复制与灾备同步策略
    本文探讨了HBase在企业级应用中的数据复制与灾备同步解决方案,包括存量数据迁移及增量数据实时同步的方法。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 3D打印与延时摄影的创意融合
    本文探讨了如何将3D打印技术与延时摄影技术相结合,创造出令人惊叹的视觉效果。通过详细介绍实现这一创意的过程,包括环境搭建、设备安装及软件设置等关键步骤。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文介绍了在Linux操作系统中如何通过修改内核参数来启用或禁用系统的Ping功能,包括临时和永久配置方法。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 本周三大青年学术分享会即将开启
    由雷锋网旗下的AI研习社主办,旨在促进AI领域的知识共享和技术交流。通过邀请来自学术界和工业界的专家进行在线分享,活动致力于搭建一个连接理论与实践的平台。 ... [详细]
  • 本文详细介绍了如何在Android L版本中应用Material Design的主题和布局,包括Material主题的应用方法、自定义主题和颜色方案、状态栏和导航条的自定义,以及Material Design布局的特点和兼容性处理。 ... [详细]
author-avatar
谁的围脖搞笑排行榜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有