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

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

3天内不再提示

TSMaster几种过滤器的对比及使用

上海同星智能科技有限公司 2023-10-21 08:21 次阅读

TSMaster的4种过滤器:

//硬件过滤器:可以在硬件端针对数据位进行筛选过滤,硬件过滤。在硬件端阻止接收一部分不需要的报文,留更多带宽对其他报文进行接收。

//数据流过滤器:过滤总线数据流,软件过滤。操作高效便捷,需要对要过滤的内容比较明确。

//窗口过滤器:对窗口设置过滤器,软件过滤。设置方便,作用范围仅限于窗口,过滤条件较为有限。

//编程过滤器:可以通过脚本对窗口报文进行过滤,软件过滤。过滤条件比较灵活、丰富,需要一定的编程基础。

1. 硬件过滤器

关于下图的CAN过滤器设置可以对标准帧(11位)和扩展帧(29位)进行过滤,过滤的依据是ID段的数据位。每一位共有三种状态(0:阻止,1:通过,x:任意位),通过鼠标左键点击即可切换每一位状态,在设置好后,下方会实时显示可通过的标识符列表。在对话框最下方左下角可进入帮助的视频说明文档,中间可校验某个ID在当前筛选条件下是否可以通过,右下角有确定和取消过滤器设置。

d058e29c-6fa7-11ee-9788-92fbcf53809c.png

例如,要设置0x100这个报文通过,其他标识符报文全部阻止,则可以按下图设置:

d06c25fa-6fa7-11ee-9788-92fbcf53809c.png


那么我们如果想禁止某一个ID的报文能在这里设置吗?答案是肯定的。但由于这个是在硬件端对数据位做过滤,所以我们在限制某一位不能通过时,必然也会带着一部分其他ID的报文被限制,这也是这种过滤器的局限性。


如下图设置0x100禁止通过时,会把数据位为09这位为1的所有报文ID都给限制了:

d0854972-6fa7-11ee-9788-92fbcf53809c.png


那么我们一共可以设置多少种过滤方式呢?如之前所述,我们每一位都有3个状态可以选择,标准帧的ID有11位,扩展帧的ID有29位,所以针对这两种报文帧就有如下几种过滤方式:

标准帧:过滤方式数量=311种

扩展帧:过滤方式数量=329种

2. 数据流过滤器

配置过程

数据流过滤器实际就是报文的流向,如从左边数据源(这里可以理解为这个工程对应的总线网络)流向了报文信息、总线记录等窗口的报文是经过了过滤器筛选后才流入到了这些模块,所以这些模块下收到的报文并不一定是总线上的全部报文。

d094efb2-6fa7-11ee-9788-92fbcf53809c.pngd0a64bea-6fa7-11ee-9788-92fbcf53809c.pngd0b7b3b2-6fa7-11ee-9788-92fbcf53809c.pngd0c9cb88-6fa7-11ee-9788-92fbcf53809c.png


模块颜色含义

另外这些模块的颜色都是不一样的,不同颜色有对应的含义:

白色窗体:允许所有数据通过

绿色窗体:满足条件的数据通过

红色窗体:禁止所有数据通过

例如下图,我们在通道1设置了0x100这条报文的通过型过滤器,并且对CAN/CAN FD报文信息窗口、总线记录模块、曲线窗口进行了过滤,所以在发送窗口发送的两条周期报文(0x100、0x101),在报文信息窗口中只能看到通道1下发出的0x100这条报文。

d0d4175a-6fa7-11ee-9788-92fbcf53809c.png


这种过滤器的优点是高效、直观、可重复性使用,但相较于简单的筛选观察来说配置流程会繁琐些(这种需求选用下一个窗口过滤器会更为方便),关于数据流过滤器这块内容也可以参考TSMaster软件帮助下的《TSMaster快速入门》手册。

3. 窗口过滤器

这种过滤器比较常见,配置也比较简单,在需要过滤的窗口中直接点击漏斗按钮即可配置。适用于我们在实时总线的部分报文或者回放情况下的部分报文的监测,配置简单、方便。但也正是它的便捷所致它功能有较大的局限性,如作用域仅限于单一窗口、过滤筛选条件较少,总线记录报文和过滤窗口报文一致性较差(这种建议用数据流过滤器)等,所以这个过滤器一般是用于简单观察或与其他过滤器组合使用。

d0ff4290-6fa7-11ee-9788-92fbcf53809c.png

4. 编程过滤器

配置过程

下图两张图即是编程过滤器设置的步骤,编程过滤器是TSMaster较新几个版本的功能,所以在使用前建议先在帮助下更新TSMaster至最新版

d12035a4-6fa7-11ee-9788-92fbcf53809c.pngd132b562-6fa7-11ee-9788-92fbcf53809c.png


优势

那么我们在什么情况下可能会使用到这个编程过滤器呢?首先我们需要了解这个编程过滤器相较于其他三个过滤器的区别在哪:


编程过滤器是在软件端实现的过滤,可以把筛选的条件更细化,甚至可以细化到某一个数据位的筛选

编程过滤器适用于一些不常见、较为特殊情况下的筛选

编程过滤器可配置内容更为灵活,完全可以根据自己的需求进行定制化配置,且可以复用

编程过滤器可以结合其他过滤器一起使用,适配度比较高


难点

编程过滤器实际可以粗暴的理解为自己写一个过滤器,所以需要对C脚本的语法及相关结构体有一定的熟悉程度,门槛相较于另外几种过滤器会高一些。但因为有示例的缘故,只要了解C脚本的基本语法,其实也可以成为我们在提升工作效率和关键问题解决中起到较大的作用。

示例演示

以下便设置一个编程过滤器为例来演示我们如何实现按自己的需求对窗口报文进行过滤:

d1457db4-6fa7-11ee-9788-92fbcf53809c.png

以报文信息窗口过滤为例,首先进入分析下报文信息窗口的编程过滤器。

d1553484-6fa7-11ee-9788-92fbcf53809c.png

打开编程过滤器的脚本,编写过滤条件并编译。

d16eec76-6fa7-11ee-9788-92fbcf53809c.png

启动工程接收报文进行观察,过滤器生效。

d18fd12a-6fa7-11ee-9788-92fbcf53809c.png

以上我们可以清晰的看到加了编程过滤器的筛选条件均已生效。示例中仅仅是对我们的报文结构体中的通道、ID及数据位进行了筛选,除此之外我们也可以对其他信息进行筛选,如报文帧类型、收发方向、字节长度(DLC),甚至可以筛选波特率是否是会变化的报文、信号值、报文周期(在一定容错范围内)等:

d1a27f82-6fa7-11ee-9788-92fbcf53809c.png

SUMMARY

本文拓展及小结

d1d536fc-6fa7-11ee-9788-92fbcf53809c.png


以上便是在TSMaster中4种不同类型的过滤器,这几种过滤器针对我们不同的应用场景有着不同的作用,我们应该根据自己的需求来选择其中一种或者几种过滤器进行组合使用,以此来提高我们的工作效率,以可重复性、便捷有效的原则来快速解决工作中遇到的部分难题。


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

    关注

    11

    文章

    2922

    浏览量

    64778
  • 过滤器
    +关注

    关注

    1

    文章

    407

    浏览量

    18991
  • MASTER
    +关注

    关注

    0

    文章

    78

    浏览量

    11158
收藏 人收藏

    评论

    相关推荐

    如何在TSMaster中对常用总线报文信号进行过滤

    TSMaster软件平台支持对不同总线(CAN、LIN、FlexRay)的报文和信号过滤过滤方法一般有全局接收过滤、数据流过滤、窗口
    的头像 发表于 12-16 08:21 235次阅读
    如何在<b class='flag-5'>TSMaster</b>中对常用总线报文信号进行<b class='flag-5'>过滤</b>?

    前置过滤器的使用寿命有多长?

    前置过滤器的使用寿命有多长? 前置过滤器的使用寿命有多长,这是一个相对而言的概念,因为它的使用寿命取决于多个因素。下面将详细介绍前置过滤器的使用寿命以及影响因素。 一、什么是前置过滤器
    的头像 发表于 12-11 11:38 516次阅读

    springboot过滤器和拦截器哪个先执行

    Spring Boot是一个用于构建Java应用程序的开发框架,它提供了许多功能和工具来简化开发和部署过程。其中两个重要的功能是过滤器和拦截器。本文将详细介绍Spring Boot过滤器和拦截器
    的头像 发表于 12-03 15:00 706次阅读

    半导体微孔过滤器滤芯:精密过滤的关键

    半导体微孔过滤器滤芯是一种高效、精准的过滤装置,能够将液体中的颗粒、细菌和其他杂质进行有效去除。其核心作用主要体现在以下几个方面。
    的头像 发表于 11-02 14:27 713次阅读

    AT32F系列CAN过滤器使用

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

    stm8s208的can过滤器怎么设置?

    stm8s208 的 can 过滤器怎么设置?
    发表于 10-26 08:13

    如何设置AT32F4xx系列CAN过滤器

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

    PADS Layout软件中过滤器的使用方法

    我们的PADS Layout 类似于PADS Logic一样都存在一个过滤器,我们可以根据想要选中对象的种类以及类型去确定光标选择。首先可以在菜单栏中找到过滤器选项,在“编辑-筛选条件”如图3-27所示。
    的头像 发表于 09-19 16:14 576次阅读
    PADS Layout软件中<b class='flag-5'>过滤器</b>的使用方法

    智能水肥一体化首部系统之过滤器介绍

    叠片式过滤器水流通过过滤进水口进入过滤器内,通过过滤叠片时过滤叠片在弹簧力和水力的作用下被紧紧地压在一起,杂质颗粒被截留在叠片交叉点,经过
    的头像 发表于 09-08 15:27 348次阅读
    智能水肥一体化首部系统之<b class='flag-5'>过滤器</b>介绍

    用中位过滤器执行简单的ADC取样减少噪音

    应用:示例代码通过使用中子过滤器,实施ADC取样减少噪音。 BSP 版本: NUC230/240 Series BSP CMSIS v3.01.001 硬件: NuEdu-EVB-NUC240
    发表于 08-22 06:33

    聊聊布隆过滤器

    布隆过滤器是一个精巧而且经典的数据结构。
    的头像 发表于 06-30 10:03 356次阅读
    聊聊布隆<b class='flag-5'>过滤器</b>

    赛锐特 空气过滤器完整性测试仪# 独家拍摄

    过滤器
    sinceritysmart
    发布于 :2023年06月12日 16:40:19

    过滤器模式是指什么?

    过滤器模式是指通过构造一系列不同的标准实现类,通过这些标准实现类把目标对象(通常是多个)按照对应的标准进行过滤,从而得到想要的对象(或对象组)。
    的头像 发表于 06-01 14:32 956次阅读
    <b class='flag-5'>过滤器</b>模式是指什么?

    一文解析布隆过滤器设计原理

    布隆过滤器 是一个很长的二进制向量 和一系列随机映射函数 ,用于检索一个元素是否在一个集合中 。 它的空间效率 和查询时间 都远远超过一般的算法 ,但是有一定的误判率 (函数返回 true , 意味着元素可能存在,函数返回 false ,元素必定不存在)。
    发表于 05-12 11:14 401次阅读
    一文解析布隆<b class='flag-5'>过滤器</b>设计原理