TSMaster軟件平臺(tái)支持對(duì)不同總線(CAN、LIN、FlexRay)報(bào)文和信號(hào)的過濾,包括全局接收過濾、數(shù)據(jù)流過濾、窗口過濾、字符串過濾、可編程過濾,針對(duì)不同的總線信號(hào)過濾器的使用方法基本相同。今天重點(diǎn)和大家分享一下關(guān)于TSMaster中報(bào)文消息過濾的多種方式操作。
本文關(guān)鍵字:CAN、LIN、FlexRay、報(bào)文消息過濾
目錄
Catalog
1. CAN報(bào)文消息過濾
2. LIN報(bào)文消息過濾
3. FlexRay報(bào)文消息過濾
CAN報(bào)文消息過濾
在CAN報(bào)文信息中用到的過濾操作有以下幾種:全局接收過濾、數(shù)據(jù)流過濾、窗口過濾、字符串過濾、可編程過濾;下面將對(duì)這幾種過濾操作進(jìn)行詳細(xì)的講解。
1、全局接收過濾
全局接收過濾是指在硬件控制器上完成過濾的設(shè)置,這種方式僅限支持同星的硬件及同星虛擬通道,其他廠家設(shè)備不支持。在操作之前需要將硬件通道選擇同星的設(shè)備,這里以TC1016為例。

▲ 圖一
隨后打開總線硬件-CAN硬件配置-過濾ID設(shè)置,如圖二所示。在這里可以選擇對(duì)標(biāo)準(zhǔn)幀和擴(kuò)展幀進(jìn)行過濾,默認(rèn)是通過型過濾器,無法修改成阻止型過濾器。過濾條件是對(duì)報(bào)文ID的每個(gè)二進(jìn)制位識(shí)別,每個(gè)位對(duì)應(yīng)有三個(gè)設(shè)置符“0、1、x”,x表示該位可以為0也可以為1。如果只需要過濾一個(gè)ID也可以直接指定標(biāo)識(shí)符,完成設(shè)置之后下方會(huì)顯示可以通過的標(biāo)識(shí)符列表,坐下方可以驗(yàn)證期望的標(biāo)識(shí)符是否能通過這個(gè)過濾器。

▲ 圖二
2、數(shù)據(jù)流過濾(測(cè)量過濾器)
TSMaster軟件有測(cè)量設(shè)置窗口,在這個(gè)窗口可以通過組合數(shù)據(jù)流方向,實(shí)現(xiàn)過濾的效果,同時(shí)支持在窗口前添加過濾器窗口。
其基本的思路為,數(shù)據(jù)流經(jīng)過一個(gè)窗口,這個(gè)窗口內(nèi)包含的數(shù)據(jù)才允許通過,其他數(shù)據(jù)不允許通過。如下圖所示,在測(cè)量設(shè)置窗口當(dāng)中將報(bào)文信息#2、測(cè)量過濾器、圖形三個(gè)窗口進(jìn)行拓?fù)溥B接,從報(bào)文信息窗口可以看到是有EngineData報(bào)文下EngSpeed這個(gè)信號(hào),但是在圖形窗口中是n.a.,表示無效。這是因?yàn)樵跍y(cè)量設(shè)置中添加了個(gè)過濾器阻止了通道一的EngineData。

▲ 圖三
測(cè)量窗口的過濾器是在窗口單擊任意窗口所選框右鍵選擇插入過濾器,也可以直接在空白處選擇添加然后拖動(dòng)到另一窗口后面。雙擊即可打開插入的過濾器,在這里可以選擇要過濾的通道,過濾條件這里支持任意報(bào)文、單個(gè)ID、ID范圍、節(jié)點(diǎn)篩選、以及錯(cuò)誤幀篩選,最后需要注意的是過濾器的類型可以選擇通過型或阻止型。
3、報(bào)文ID過濾器
該過濾方式直接單擊報(bào)文信息窗口的漏斗圖標(biāo)即可彈出配置窗口,適用于實(shí)時(shí)監(jiān)聽總線數(shù)據(jù)或者進(jìn)行報(bào)文回放的時(shí)候操作,在這里支持報(bào)文ID過濾和通道過濾,需要注意左下角選擇的是通過型還是阻止型。

▲ 圖四
4、字符串過濾
字符串過濾跟窗口過濾的使用場(chǎng)景相同,支持模糊查詢,過濾的范圍包含了報(bào)文信息中報(bào)文標(biāo)識(shí)符、報(bào)文信息名稱解析過后的報(bào)文名稱、物理值(枚舉值),解析報(bào)文則需要提前加載數(shù)據(jù)庫并綁定相應(yīng)的通道。這里建議加載DBC數(shù)據(jù)庫。

▲ 圖五
5、可編程過濾
編程過濾器是過濾條件最齊全的一種,它過濾的條件包括了報(bào)文結(jié)構(gòu)體的全部成員屬性,具體可以從TSMaster頭文件查看,包括報(bào)文幀類型、收發(fā)方向、DLC等等。
使用這個(gè)過濾器需要先點(diǎn)擊報(bào)文信息窗口右上角的漏斗圖標(biāo),選擇激活過濾器,然后選擇安裝默認(rèn)的過濾器庫;安裝完成之后會(huì)彈出默認(rèn)庫的C小程序,小程序可以看出,分別針對(duì)CAN、LIN、FlexRay、Ethernet創(chuàng)建了自定義函數(shù)來進(jìn)行區(qū)分,其結(jié)構(gòu)體定義都在TSMaster.h頭文件中可以找到。
關(guān)鍵的一點(diǎn)是:return 0表示符合條件的報(bào)文是被阻止的,而返回非0則表示該報(bào)文是可以窗口通過的。

▲ 圖六

▲ 圖七
以下是對(duì)通道一的報(bào)文進(jìn)行通過型過濾的操作,編寫完代碼后需要編譯小程序,最后在可編程過濾器中選擇對(duì)應(yīng)的API函數(shù)即可。

▲ 圖八

▲ 圖九

▲ 圖十
LIN報(bào)文消息過濾
LIN報(bào)文消息的過濾是有如下幾種過濾操作方式。
1、數(shù)據(jù)流過濾
在測(cè)量設(shè)置中配置測(cè)量過濾器、LIN報(bào)文信息#2、圖形三個(gè)窗口的拓?fù)洌Y(jié)果可以看到經(jīng)過過濾器只有0x15的這幀報(bào)文通過到達(dá)了報(bào)文信息窗口,同時(shí)圖形窗口的SteeringLampState信號(hào)值為n.a.無效值。從報(bào)文信息窗口可以看到原本的數(shù)據(jù)流是有這個(gè)信號(hào)數(shù)據(jù)的。

▲ 圖十一
2、報(bào)文ID窗口過濾
窗口過濾與前面不同的是,此處的通道過濾設(shè)置移到了過濾器設(shè)置窗口的右下角,在激活使能過濾器之后選擇只顯示通道1或者其他,就會(huì)立即生效;另外所增加的標(biāo)識(shí)符的通道是跟右下角配置的通道對(duì)應(yīng)上的,這點(diǎn)跟前面講到CAN的窗口過濾有所不同。

▲ 圖十二
3、字符串過濾
字符串過濾的作用域也是報(bào)文信息中報(bào)文標(biāo)識(shí)符、報(bào)文信息名稱解析過后的報(bào)文名稱、物理值(枚舉值)。建議加載DBC數(shù)據(jù)庫。

▲ 圖十三
4、可編程過濾
如下圖,通過可編程過濾通過通道一且第一個(gè)報(bào)文數(shù)據(jù)字節(jié)為0x00的報(bào)文。

▲ 圖十四

▲ 圖十五
FlexRay報(bào)文消息過濾
FlexRay的報(bào)文消息過濾只有窗口過濾、字符串過濾和可編程過濾。
1、窗口過濾
FlexRay窗口過濾支持添加通道過濾和從數(shù)據(jù)庫中添加對(duì)應(yīng)的報(bào)文。

▲ 圖十六
2、字符串過濾
字符串過濾與CAN、LIN的使用相同,進(jìn)行信號(hào)關(guān)鍵詞的搜索。

▲ 圖十七
3、可編程過濾
可編程過濾也是通過對(duì)FR結(jié)構(gòu)體成員進(jìn)行條件判斷來完成,以下以Slot Id為例,可以實(shí)現(xiàn)Slot id的范圍過濾。

▲ 圖十八

▲ 圖十九
-
信號(hào)
+關(guān)注
關(guān)注
12文章
2914瀏覽量
80121 -
總線
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91657 -
過濾器
+關(guān)注
關(guān)注
1文章
444瀏覽量
20964
發(fā)布評(píng)論請(qǐng)先 登錄
TSMaster 的 CAN UDS 診斷操作指南(上)
TSMaster 的 CAN UDS 診斷操作指南(下)
CC3200如何過濾報(bào)文?
CAN總線標(biāo)識(shí)符過濾器的使用
CAN總線協(xié)議教程|CAN報(bào)文分析
Autosar這個(gè)指定網(wǎng)絡(luò)管理報(bào)文是如何過濾的呢
應(yīng)用筆記 | TSMaster如何代碼自動(dòng)發(fā)送LIN報(bào)文
應(yīng)用筆記 | TSMaster快速入門篇(2)-報(bào)文回放
干貨分享 | TSMaster的記錄功能需求與實(shí)踐
干貨分享 | TSMaster小功能之如何在圖形中監(jiān)控某一條DBC報(bào)文發(fā)送周期?
使用教程 | 基于TSMaster如何實(shí)現(xiàn)LIN RBS 剩余總線仿真
TSMaster報(bào)文發(fā)送的信號(hào)生成器操作說明
TSMaster 總線記錄功能操作指南
詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法
解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法
TSMaster 中不同總線報(bào)文消息過濾的操作方式
評(píng)論