博客專欄

EEPW首頁 > 博客 > 干貨分享 | 如何在TSMaster中對常用總線報文信號進行過濾?

干貨分享 | 如何在TSMaster中對常用總線報文信號進行過濾?

發布人:汽車電子工程師 時間:2023-12-19 來源:工程師 發布文章

TSMaster軟件平臺支持對不同總線(CAN、LIN、FlexRay)報文和信號的各種過濾,過濾方法有全局接收過濾、數據流過濾、窗口過濾、字符串過濾、可編程過濾,針對不同的總線信號過濾器的使用方法基本相同。今天重點和大家分享一下關于TSMaster中報文消息過濾的多種方式操作,本文整體介紹如下:.

1. CAN報文消息過濾;

2. LIN報文消息過濾;

3. FlexRay報文消息過濾;

 

本文關鍵詞:CAN,LIN,FlexRay,報文消息過濾; 

 

正文:

1、CAN報文消息過濾

CAN報文信息中用到的過濾操作有以下幾種:全局接收過濾、數據流過濾、窗口過濾、字符串過濾、可編程過濾;下面將對這幾種過濾操作進行詳細的操作。

1)全局接收過濾

全局接收過濾是指在硬件上完成過濾的設置,這種方式僅限支持同星的硬件及同星虛擬通道,其他廠家設備不支持。在操作之前需要將硬件通道選擇同星的設備,這里以TC1016為例。

圖片1.png

隨后打開總線硬件-CAN硬件配置-過濾ID設置,如圖二所示。在這里可以選擇對標準幀和擴展幀進行過濾,默認是通過型過濾器,無法修改成阻止型過濾器。過濾條件是對報文ID的每個二進制位識別,每個位對應有三個設置符“0、1、x”,x表示該位可以為0也可以為1。如果只需要過濾一個ID也可以直接指定標識符,完成設置之后下方會顯示可以通過的標識符列表,坐下方可以驗證期望的標識符是否能通過這個過濾器。

圖片2.png

 


2)數據流過濾(測量過濾器)TSMaster軟件有測量設置窗口,在這個窗口可以通過組合數據流方向,實現過濾的效果,同時支持在窗口前添加過濾器窗口。

其基本的思路為,數據流經過一個窗口,這個窗口內包含的數據才允許通過,其他數據不允許通過。如下圖所示,在測量設置窗口當中將報文信息#2、測量過濾器、圖形三個窗口進行拓撲連接,從報文信息窗口可以看到是有EngineData報文下EngSpeed這個信號,但是在圖形窗口中是n.a.,表示無效。這是因為在測量設置中添加了個過濾器阻止了通道一的EngineData。

圖片3.png

測量窗口的過濾器是在窗口單擊任意窗口所選框右鍵選擇插入過濾器,也可以直接在空白處選擇添加然后拖動到另一窗口后面。雙擊即可打開插入的過濾器,在這里可以選擇要過濾的通道,過濾條件這里支持任意報文、單個ID、ID范圍、節點篩選、以及錯誤幀篩選,最后需要注意的是過濾器的類型可以選擇通過型或阻止型。

3)報文ID過濾器

該過濾方式直接單擊報文信息窗口的漏斗圖標即可彈出配置窗口,適用于實時監聽總線數據或者進行報文回放的時候操作,在這里支持報文ID過濾和通道過濾,需要注意左下角選擇的是通過型還是阻止型。

圖片4.png

4)字符串過濾(建議加載DBC數據庫)

字符串過濾跟窗口過濾的使用場景相同,支持模糊查詢,過濾的范圍包含了報文信息中報文標識符、報文信息名稱解析過后的報文名稱、物理值(枚舉值),解析報文則需要提前加載數據庫并綁定相應的通道。

圖片5.png

5) 可編程過濾

編程過濾器是過濾條件最齊全的一種,它過濾的條件包括了報文結構體的全部成員屬性,具體可以從TSMaster頭文件查看,包括報文幀類型、收發方向、DLC等等。

使用這個過濾器需要先點擊報文信息窗口右上角的漏斗圖標,選擇激活過濾器,然后選擇安裝默認的過濾器庫;安裝完成之后會彈出默認庫的C小程序,小程序可以看出,分別針對CAN、LIN、FlexRay、Ethernet創建了自定義函數來進行區分,其結構體定義都在TSMaster.h頭文件中可以找到。

關鍵的一點是return 0表示符合條件的報文是被阻止的,而返回非0則表示該報文是可以窗口通過的。

圖片6.png

圖片7.png

以下是對通道一的報文進行通過型過濾的操作,編寫完代碼后需要編譯小程序,最后在可編程過濾器中選擇對應的API函數即可;

圖片8.png

圖片9.png

圖片10.png

2、LIN報文消息過濾

LIN報文消息的過濾是有如下幾種過濾方式的操作。

1)數據流過濾

在測量設置中配置測量過濾器、LIN報文信息#2、圖形三個窗口的拓撲,結果可以看到經過過濾器只有0x15的這幀報文通過到達了報文信息窗口,同時圖形窗口的SteeringLampState信號值為n.a.無效值。從報文信息窗口可以看到原本的數據流是有這個信號數據的。

圖片11.png

2)報文ID窗口過濾

窗口過濾與前面不同的是,此處的通道過濾設置移到了過濾器設置窗口的右下角,在激活使能過濾器之后選擇只顯示通道1或者其他,就會立即生效;另外所增加的標識符的通道是跟右下角配置的通道對應上的,這點跟前面講到CAN的窗口過濾有所不同。

圖片12.png

3)字符串過濾(建議加載DBC數據庫)

字符串過濾的作用域也是報文信息中報文標識符、報文信息名稱解析過后的報文名稱、物理值(枚舉值)

圖片13.png

4)可編程過濾

  如下圖,通過可編程過濾通過通道一且第一個報文數據字節為0x00的報文。

圖片14.png

圖片15.png

3、FlexRay報文消息過濾

FlexRay的報文消息過濾只有窗口過濾、字符串過濾和可編程過濾。

1)窗口過濾

FlexRay窗口過濾支持添加通道過濾和從數據庫中添加對應的報文。

圖片16.png

2)字符串過濾

字符串過濾與CAN、LIN的使用相同,進行信號關鍵詞的搜索。

圖片17.png

3)可編程過濾

可編程過濾也是通過對FR結構體成員進行條件判斷來完成,以下以Slot Id為例,可以實現Slot id的范圍過濾。

圖片18.png

圖片19.png


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




技術專區

關閉
无码国产福利AV私拍|AV边做边流奶水无码免费|2021国自拍产精品视频|中文中文字幕不卡人妻|亚洲肥婆艳情片