TSMaster軟件平臺(tái)支持對(duì)不同總線(CAN、LIN、FlexRay)報(bào)文和信號(hào)的過(guò)濾,包括全局接收過(guò)濾、數(shù)據(jù)流過(guò)濾、窗口過(guò)濾、字符串過(guò)濾、可編程過(guò)濾,針對(duì)不同的總線信號(hào)過(guò)濾器的使用方法基本相同。今天重點(diǎn)和大家分享一下關(guān)于TSMaster中報(bào)文消息過(guò)濾的多種方式操作。
本文關(guān)鍵字:CAN、LIN、FlexRay、報(bào)文消息過(guò)濾
目錄
Catalog
1. CAN報(bào)文消息過(guò)濾
2. LIN報(bào)文消息過(guò)濾
3. FlexRay報(bào)文消息過(guò)濾
CAN報(bào)文消息過(guò)濾
在CAN報(bào)文信息中用到的過(guò)濾操作有以下幾種:全局接收過(guò)濾、數(shù)據(jù)流過(guò)濾、窗口過(guò)濾、字符串過(guò)濾、可編程過(guò)濾;下面將對(duì)這幾種過(guò)濾操作進(jìn)行詳細(xì)的講解。
1、全局接收過(guò)濾
全局接收過(guò)濾是指在硬件控制器上完成過(guò)濾的設(shè)置,這種方式僅限支持同星的硬件及同星虛擬通道,其他廠家設(shè)備不支持。在操作之前需要將硬件通道選擇同星的設(shè)備,這里以TC1016為例。
▲ 圖一
隨后打開(kāi)總線硬件-CAN硬件配置-過(guò)濾ID設(shè)置,如圖二所示。在這里可以選擇對(duì)標(biāo)準(zhǔn)幀和擴(kuò)展幀進(jìn)行過(guò)濾,默認(rèn)是通過(guò)型過(guò)濾器,無(wú)法修改成阻止型過(guò)濾器。過(guò)濾條件是對(duì)報(bào)文ID的每個(gè)二進(jìn)制位識(shí)別,每個(gè)位對(duì)應(yīng)有三個(gè)設(shè)置符“0、1、x”,x表示該位可以為0也可以為1。如果只需要過(guò)濾一個(gè)ID也可以直接指定標(biāo)識(shí)符,完成設(shè)置之后下方會(huì)顯示可以通過(guò)的標(biāo)識(shí)符列表,坐下方可以驗(yàn)證期望的標(biāo)識(shí)符是否能通過(guò)這個(gè)過(guò)濾器。
▲ 圖二
2、數(shù)據(jù)流過(guò)濾(測(cè)量過(guò)濾器)
TSMaster軟件有測(cè)量設(shè)置窗口,在這個(gè)窗口可以通過(guò)組合數(shù)據(jù)流方向,實(shí)現(xiàn)過(guò)濾的效果,同時(shí)支持在窗口前添加過(guò)濾器窗口。
其基本的思路為,數(shù)據(jù)流經(jīng)過(guò)一個(gè)窗口,這個(gè)窗口內(nèi)包含的數(shù)據(jù)才允許通過(guò),其他數(shù)據(jù)不允許通過(guò)。如下圖所示,在測(cè)量設(shè)置窗口當(dāng)中將報(bào)文信息#2、測(cè)量過(guò)濾器、圖形三個(gè)窗口進(jìn)行拓?fù)溥B接,從報(bào)文信息窗口可以看到是有EngineData報(bào)文下EngSpeed這個(gè)信號(hào),但是在圖形窗口中是n.a.,表示無(wú)效。這是因?yàn)樵跍y(cè)量設(shè)置中添加了個(gè)過(guò)濾器阻止了通道一的EngineData。
▲ 圖三
測(cè)量窗口的過(guò)濾器是在窗口單擊任意窗口所選框右鍵選擇插入過(guò)濾器,也可以直接在空白處選擇添加然后拖動(dòng)到另一窗口后面。雙擊即可打開(kāi)插入的過(guò)濾器,在這里可以選擇要過(guò)濾的通道,過(guò)濾條件這里支持任意報(bào)文、單個(gè)ID、ID范圍、節(jié)點(diǎn)篩選、以及錯(cuò)誤幀篩選,最后需要注意的是過(guò)濾器的類型可以選擇通過(guò)型或阻止型。
3、報(bào)文ID過(guò)濾器
該過(guò)濾方式直接單擊報(bào)文信息窗口的漏斗圖標(biāo)即可彈出配置窗口,適用于實(shí)時(shí)監(jiān)聽(tīng)總線數(shù)據(jù)或者進(jìn)行報(bào)文回放的時(shí)候操作,在這里支持報(bào)文ID過(guò)濾和通道過(guò)濾,需要注意左下角選擇的是通過(guò)型還是阻止型。
▲ 圖四
4、字符串過(guò)濾
字符串過(guò)濾跟窗口過(guò)濾的使用場(chǎng)景相同,支持模糊查詢,過(guò)濾的范圍包含了報(bào)文信息中報(bào)文標(biāo)識(shí)符、報(bào)文信息名稱解析過(guò)后的報(bào)文名稱、物理值(枚舉值),解析報(bào)文則需要提前加載數(shù)據(jù)庫(kù)并綁定相應(yīng)的通道。這里建議加載DBC數(shù)據(jù)庫(kù)。
▲ 圖五
5、可編程過(guò)濾
編程過(guò)濾器是過(guò)濾條件最齊全的一種,它過(guò)濾的條件包括了報(bào)文結(jié)構(gòu)體的全部成員屬性,具體可以從TSMaster頭文件查看,包括報(bào)文幀類型、收發(fā)方向、DLC等等。
使用這個(gè)過(guò)濾器需要先點(diǎn)擊報(bào)文信息窗口右上角的漏斗圖標(biāo),選擇激活過(guò)濾器,然后選擇安裝默認(rèn)的過(guò)濾器庫(kù);安裝完成之后會(huì)彈出默認(rèn)庫(kù)的C小程序,小程序可以看出,分別針對(duì)CAN、LIN、FlexRay、Ethernet創(chuàng)建了自定義函數(shù)來(lái)進(jìn)行區(qū)分,其結(jié)構(gòu)體定義都在TSMaster.h頭文件中可以找到。
關(guān)鍵的一點(diǎn)是:return 0表示符合條件的報(bào)文是被阻止的,而返回非0則表示該報(bào)文是可以窗口通過(guò)的。
▲ 圖六
▲ 圖七
以下是對(duì)通道一的報(bào)文進(jìn)行通過(guò)型過(guò)濾的操作,編寫完代碼后需要編譯小程序,最后在可編程過(guò)濾器中選擇對(duì)應(yīng)的API函數(shù)即可。
▲ 圖八
▲ 圖九
▲ 圖十
LIN報(bào)文消息過(guò)濾
LIN報(bào)文消息的過(guò)濾是有如下幾種過(guò)濾操作方式。
1、數(shù)據(jù)流過(guò)濾
在測(cè)量設(shè)置中配置測(cè)量過(guò)濾器、LIN報(bào)文信息#2、圖形三個(gè)窗口的拓?fù)?,結(jié)果可以看到經(jīng)過(guò)過(guò)濾器只有0x15的這幀報(bào)文通過(guò)到達(dá)了報(bào)文信息窗口,同時(shí)圖形窗口的SteeringLampState信號(hào)值為n.a.無(wú)效值。從報(bào)文信息窗口可以看到原本的數(shù)據(jù)流是有這個(gè)信號(hào)數(shù)據(jù)的。
▲ 圖十一
2、報(bào)文ID窗口過(guò)濾
窗口過(guò)濾與前面不同的是,此處的通道過(guò)濾設(shè)置移到了過(guò)濾器設(shè)置窗口的右下角,在激活使能過(guò)濾器之后選擇只顯示通道1或者其他,就會(huì)立即生效;另外所增加的標(biāo)識(shí)符的通道是跟右下角配置的通道對(duì)應(yīng)上的,這點(diǎn)跟前面講到CAN的窗口過(guò)濾有所不同。
▲ 圖十二
3、字符串過(guò)濾
字符串過(guò)濾的作用域也是報(bào)文信息中報(bào)文標(biāo)識(shí)符、報(bào)文信息名稱解析過(guò)后的報(bào)文名稱、物理值(枚舉值)。建議加載DBC數(shù)據(jù)庫(kù)。
▲ 圖十三
4、可編程過(guò)濾
如下圖,通過(guò)可編程過(guò)濾通過(guò)通道一且第一個(gè)報(bào)文數(shù)據(jù)字節(jié)為0x00的報(bào)文。
▲ 圖十四
▲ 圖十五
FlexRay報(bào)文消息過(guò)濾
FlexRay的報(bào)文消息過(guò)濾只有窗口過(guò)濾、字符串過(guò)濾和可編程過(guò)濾。
1、窗口過(guò)濾
FlexRay窗口過(guò)濾支持添加通道過(guò)濾和從數(shù)據(jù)庫(kù)中添加對(duì)應(yīng)的報(bào)文。
▲ 圖十六
2、字符串過(guò)濾
字符串過(guò)濾與CAN、LIN的使用相同,進(jìn)行信號(hào)關(guān)鍵詞的搜索。
▲ 圖十七
3、可編程過(guò)濾
可編程過(guò)濾也是通過(guò)對(duì)FR結(jié)構(gòu)體成員進(jìn)行條件判斷來(lái)完成,以下以Slot Id為例,可以實(shí)現(xiàn)Slot id的范圍過(guò)濾。
▲ 圖十八
▲ 圖十九
-
信號(hào)
+關(guān)注
關(guān)注
11文章
2853瀏覽量
78298 -
總線
+關(guān)注
關(guān)注
10文章
2960瀏覽量
89778 -
過(guò)濾器
+關(guān)注
關(guān)注
1文章
439瀏覽量
20401
發(fā)布評(píng)論請(qǐng)先 登錄
TSMaster 的 CAN UDS 診斷操作指南(上)

TSMaster 的 CAN UDS 診斷操作指南(下)

CC3200如何過(guò)濾報(bào)文?
CAN總線標(biāo)識(shí)符過(guò)濾器的使用
CAN總線協(xié)議教程|CAN報(bào)文分析
Autosar這個(gè)指定網(wǎng)絡(luò)管理報(bào)文是如何過(guò)濾的呢

應(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)生成器操作說(shuō)明

TSMaster 總線記錄功能操作指南

詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗(yàn)方法

解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法

評(píng)論