支持格式
TSMaster 的數(shù)據(jù)回放默認(rèn)支持 blf 格式(未來(lái)會(huì)增加對(duì)其他格式的支持)。如果需要分析其他數(shù)據(jù)格式的 log 文件,需要通過(guò)文件轉(zhuǎn)換器從其他格式轉(zhuǎn)成 blf 格式。
一 離線回放
離線回放也就是通常所說(shuō)的查看記錄報(bào)文。離線回放完全模擬接收?qǐng)?bào)文的過(guò)程,用戶可以到 Trace 窗口中直接查看報(bào)文記錄。同樣的,Trace 窗口的所有屬性,比如過(guò)濾等都是有效的。
1. 離線回放基本步驟
選擇總線回放→選擇離線回放→選擇回放文件→選擇回放的時(shí)間范圍→點(diǎn)擊啟動(dòng)回放
2. 添加回放文件
1)從回放窗口添加
2)直接拖拽添加
在桌面上選擇一個(gè) Log 文件,拖拽進(jìn)入 TSMaster 軟件區(qū)域,放掉鼠標(biāo),TSMaster 即自動(dòng)回放該報(bào)文,同時(shí)把該報(bào)文添加到報(bào)文回放管理窗口中。
3. 選擇報(bào)文范圍
因?yàn)?Trace 窗口一個(gè)屏幕最多一次呈現(xiàn) 9999 幀報(bào)文,因此,在分析記錄文件的時(shí)候,需要合理選擇報(bào)文范圍。在新的版本中,將在報(bào)文回放模塊中增加腳本模塊,給報(bào)文回放分析提供更大的靈活性。
二 在線回放
1. 在線回放配置
在線回放又被通俗的稱為“數(shù)據(jù)回灌總線”,為了給用戶提供盡可能大的靈活性,提供了如下的配置界面:
如上配置界面,主要包含如下的配置參數(shù):
1)是否自動(dòng)啟動(dòng)在線回放
AutoStart:在設(shè)備連接之后就自動(dòng)啟動(dòng)報(bào)文的回放。
Do not auto start:在設(shè)備連接之后并不立即啟動(dòng)報(bào)文回放,而由用戶進(jìn)入回放界面中自己?jiǎn)?dòng)。
2)輸出次數(shù)選擇
Output only once:只回放一次即可
Repetitive output mode: 循環(huán)回放報(bào)文記錄
3)輸出模式選擇
Default:TimeStamp As Log File:基于 Log 文件中的時(shí)間戳進(jìn)行報(bào)文回放。
Step: Pause after one message is sent:需要用戶點(diǎn)擊,一次只發(fā)送 Log 文件中的一幀報(bào)文。
Animated:Apply delay after one message is sent:不急于 Log 本身的時(shí)間戳,而是用戶設(shè)置一個(gè)報(bào)文事件間隔,按照這個(gè)時(shí)間間隔進(jìn)行報(bào)文的回放。如下所示:
就表示報(bào)文之間按照 10ms 的時(shí)間間隔進(jìn)行回放。
4)啟動(dòng)時(shí)間模式選擇
Immediately:Direct send the first message:用戶選擇回放報(bào)文過(guò)后,立即就開始回放報(bào)文。
As Log File: Send the first message on its timestamp: 根基 Log 文件的時(shí)間戳來(lái)確定從什么時(shí)間開始播放報(bào)文。比如如果 Log 文件中第一幀報(bào)文的時(shí)間戳是 15s,則連接設(shè)備過(guò)后,等到 15 過(guò)后才開始回放報(bào)文。
Delayed:send the first message after timeout:用戶人為配置一個(gè)延遲時(shí)間。當(dāng)連接設(shè)備過(guò)后,延遲設(shè)置的時(shí)間間隔后,開始回放報(bào)文。如下所示:
就表示用戶啟動(dòng)報(bào)文播放過(guò)后,延遲 100ms 開始實(shí)際回放報(bào)文。
5)啟動(dòng)/暫停快捷鍵
讓用戶設(shè)置啟動(dòng)/暫?;胤诺目旖萱I,如上所示:用戶按下鍵盤上的 S 鍵時(shí),啟動(dòng)回放;用戶按下鍵盤的 P 鍵時(shí),暫?;胤?。
6)選擇回放TX/RX報(bào)文
Send Tx messages: 回放中包含方向?yàn)榘l(fā)送的報(bào)文
Do not send Tx messages: 回訪中不包含方向?yàn)榘l(fā)送的報(bào)文。
7)回放通道選擇
為了給用戶提供盡可能大靈活性,TSMaster 的回放模塊提供了回放通道的映射。主要為了解決以下一些應(yīng)用場(chǎng)景的問(wèn)題:
1. 物理通道已經(jīng)連接好,但是想靈活切換通道,如下圖所示:
Log 報(bào)文中有通道 1 的數(shù)據(jù),也有通道 2 的數(shù)據(jù),最好理解的是通道 1 的數(shù)據(jù)在工具端對(duì)應(yīng)的通道上播放。如果數(shù)據(jù)通道 2 的需要到 CAN 工具的通道 1 上面播放,數(shù)據(jù)通道 1需要到 CAN 工具的通道 2 上面播放,則需要用到映射,如下所示:
2. 實(shí)際通道數(shù)不夠:在原始的 Log 報(bào)文中用到了 1,2,3,4,5 五個(gè)通道,但是目前手上只有 2 個(gè)通道,如下所示:
這種情況下,數(shù)據(jù)通道 3,4,5 的數(shù)據(jù)就沒有通道播放了。如果基于通道映射的方式,用戶可以選擇數(shù)據(jù)通道到任意 CAN 工具的通道上播放,如下所示:
通道上述映射,就把數(shù)據(jù)通道 2,3,4 的數(shù)據(jù)映射到 CAN 工具的通道 2 上進(jìn)行播放,把數(shù)據(jù)通道 1,5 的數(shù)據(jù)映射到 CAN 工具的通道 1 上進(jìn)行播放?;胤磐ǖ烙成渑渲媒缑嫒缦滤荆?/p>
Source Channel:Log 文件中的數(shù)據(jù)通道。
Destination Channel:TSMaster 中 CAN 工具的數(shù)據(jù)通道。
如上所示的配置就表示:Log 文件中數(shù)據(jù)通道為 1 和 2 的數(shù)據(jù)在 CAN 工具的通道 1 中回放;數(shù)據(jù)通道為 3 的數(shù)據(jù)在 CAN 工具的通道 2 中回放。
三 應(yīng)用案例介紹
1.自動(dòng)回放屏蔽報(bào)文
根據(jù)前面的介紹,自動(dòng)回放報(bào)文提供了選擇通道,選擇回放 RX,TX 等機(jī)制。但是用戶使用過(guò)程中,往往還需要選擇性的回放一部分報(bào)文,或者選擇性的屏蔽部分報(bào)文。因?yàn)榛胤艌?bào)文數(shù)量可能會(huì)很多,因此,基于 ID 的回放過(guò)濾,目前沒有做到在線回放模塊里面。但是通過(guò) TSMaster 的 C 腳本工具,用戶一樣可以基于 ID 屏蔽報(bào)文的在線回放的功能。
? 基本思路:
把需要屏蔽的 ID 的報(bào)文發(fā)送到虛擬通道上,這樣這些報(bào)文就不會(huì)真實(shí)回放到物理通道上。
? 操作步驟詳解:
1. 在 TSMaster 硬件配置中,增加一路通道,并選擇該通道為虛擬通道,如下所示:
2. 新建腳本模塊,取名為 OnlineRelayFilter。創(chuàng)建后腳本如下:
3. 新建 CAN 報(bào)文 PreTX 事件(該事件在報(bào)文發(fā)送到總線上之前被調(diào)用)。如果要屏蔽 ID = 0x1B00000E 的報(bào)文,則創(chuàng)建該報(bào)文的 PreTX 事件,如下所示:
4. 選中該事件,修改該報(bào)文數(shù)據(jù)的發(fā)送通道為通道編號(hào) 2(0,1,2),也就是通道 3
5. 點(diǎn)擊運(yùn)行腳本,如下:
6. 此時(shí)再點(diǎn)擊在線回放,就可以看到 0x1B00000E 報(bào)文被發(fā)送到了虛擬通道 3,其他報(bào)文發(fā)送到物理通道 1 和 2,通過(guò)這種方式實(shí)現(xiàn)了對(duì)在線報(bào)文的過(guò)濾。依次類推,對(duì)需要過(guò)濾的報(bào)文通過(guò)在腳本中添加 Pre_TX 事件就可以達(dá)到想要的效果。
四 釋疑
1.Blf 文件(文件名帶空格)無(wú)法加載
當(dāng)把 blf 加載到 TSMaster 回放(離線/在線)模塊中,發(fā)生加載錯(cuò)誤,系統(tǒng)消息如下所示:
原因:blf 文件名中間不能有空格。如上圖所示,修改文件名稱為 TSMaster.blf,則加載成功,如下所示:
2.想按照采集的時(shí)間回放報(bào)文
如果想按照采集時(shí)間戳回放報(bào)文,請(qǐng)選擇在線回放。離線回放主要用于查看報(bào)文,要求就是回放速度越快越好。如果想按照采集的時(shí)序回放報(bào)文,則直接采用在線回放的方式,具體的設(shè)置見在線回放章節(jié)。
3.總線回放按鈕為什么是灰色(不使能狀態(tài))
在總線連接工作狀態(tài),不能進(jìn)行報(bào)文記錄的回放。需要點(diǎn)擊 Stop 按鈕,停止工作狀態(tài),BusReplay 才能變成使能狀態(tài),允許用戶添加回放的報(bào)文。
4.為什么 TSMaster 連接設(shè)備后立即往總線發(fā)送報(bào)文?
TSMaster 提供了在線回放數(shù)據(jù)的功能,為了支持用戶掛上總線就開始回放的需求,在回放設(shè)置中添加了一個(gè)連接總線過(guò)后自動(dòng)回放的功能,如下圖所示:
首先,通過(guò)如下步驟進(jìn)入在線回放配置界面:
配置界面中,選擇在啟動(dòng)設(shè)備瞬間是否自動(dòng)啟動(dòng)報(bào)文回放,如下所示:
如果選擇 do not auto start,則連接設(shè)備的時(shí)候不會(huì)自動(dòng)播放報(bào)文。
5.回放提示通道錯(cuò)誤失敗
在線回放中,報(bào)文播放了一段時(shí)間就提示播放失敗,通道錯(cuò)誤,錯(cuò)誤情況如下所示:
觸發(fā)原因:通道映射錯(cuò)誤。
Log 報(bào)文中的數(shù)據(jù)通道沒有正確的映射到 CAN 工具的通道上。比如上面報(bào)的錯(cuò)誤,Log 文件中使用了數(shù)據(jù)通道 2,數(shù)據(jù)通道 2 映射到了 TSMaster 中的 CAN 工具的通道 2,但是實(shí)際上 TSMaster 中沒有配置 CAN 通道 2,就造成發(fā)送失敗。具體通道映射,見前序章節(jié):在線回放配置->回放通道選擇
解決辦法:在進(jìn)入在線回放配置界面,配置通道映射。如下所示:
如上所示,Desination Channel 中實(shí)際上不存在通道 2,因此,把 Source Channel =2 的通道也配置到 Destination Channel = 1 上。再次啟動(dòng)回放,不再出現(xiàn)此錯(cuò)誤。
6.在線回放直接錯(cuò)誤幀
如果用戶回放的時(shí)候,總線直接錯(cuò)誤幀。很可能的情況是,在 Log 文件中,不同的數(shù)據(jù)通道中有同樣 ID 的報(bào)文,結(jié)果播放的時(shí)候,這些報(bào)文在同一條 CAN 總線上面通過(guò)不同的通道播放出來(lái),造成幀 ID 沖突,引起錯(cuò)誤幀進(jìn)而無(wú)法正常的回放數(shù)據(jù)。
7.在線回放卡死
在線回放如果出現(xiàn)卡死情況,請(qǐng)檢查是否使用了虛擬通道。有些電腦平臺(tái)上虛擬通道支持有些問(wèn)題,碰到這種情況,用戶盡量避免使用虛擬通道。或者插上實(shí)物通道進(jìn)行報(bào)文的在線回放。
8.為什么出現(xiàn)回放數(shù)據(jù)跟三方工具對(duì)不上的情況
情況描述:
通過(guò)在線回放數(shù)據(jù),監(jiān)測(cè)信號(hào)值,發(fā)現(xiàn)總線報(bào)文上有信號(hào)值比如信號(hào) A 值,跟第三方監(jiān)測(cè)工具(如 OE)上解析的 A 值不一致。比如 TSMaster 上 A 值為 0.0,OE 上解析的 A 值為 0.3.
原因分析:
經(jīng)過(guò)分析后,發(fā)現(xiàn)回放的 blf 文件中包含來(lái)自兩個(gè)通道的數(shù)據(jù)(Channel1 和Channel2),兩個(gè) Channel 中有同樣 ID 的報(bào)文(比如都包含信號(hào) A 的報(bào)文),而且來(lái)自通道 2 中的報(bào)文值全部為 0,因此,回放的時(shí)候,從通道 2 中解析出來(lái)的信號(hào) A 值就全部為0。造成用戶錯(cuò)誤的把通道 2 中的值跟第三方工具解析出來(lái)的值進(jìn)行比較。
解決辦法:
因?yàn)橥ǖ?2 中的信號(hào)值不是有效數(shù)據(jù),回放過(guò)程中屏蔽掉通道 2 的回放即可。如下所示:
Tips:
用戶如果分析數(shù)據(jù)信號(hào)如果發(fā)現(xiàn)疑問(wèn)點(diǎn),請(qǐng)注意報(bào)文的通道,時(shí)間戳,這樣數(shù)據(jù)才有可比性。
9.CAN 通道已就緒,軟件在線回放失敗
情況描述:
載入 blf 文件,報(bào)文里面只有通道 1 的報(bào)文,但是回放還是失敗,錯(cuò)誤提示如下:
原因分析:
在線回放是把記錄的報(bào)文反向回灌回物理總線上。本次案例中 Blf 文件記錄的報(bào)文是fd 報(bào)文,但是硬件是普通 CAN(classic CAN),因此造成在線回放失敗。
解決辦法:
更換支持 FDCAN 的硬件,如果硬件已經(jīng)支持,則把該硬件工作模式設(shè)置為 FDCAN 模式。然后重新回放即可。
-
MASTER
+關(guān)注
關(guān)注
0文章
104瀏覽量
11288
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論