上期,我們主要介紹了 UDS 診斷模塊的創(chuàng)建以及TSMaster 基礎診斷配置。很多客戶表示意猶未盡。因此我們將繼續(xù)帶來《TSMaster 的 CAN UDS 診斷操作指南(下)》的精彩內(nèi)容,為您帶來UDS on CAN/CAN FD 的功能以及詳細的使用操作。
本文關鍵詞:UDS,BootLoader,自動診斷流程,診斷系統(tǒng)變量
目錄
Catalog
4.TSMaster 診斷控制臺
5. TSMaster自動診斷流程與注冊系統(tǒng)變量
6.診斷典型應用
TSMaster 診斷控制臺
診斷控制臺作為診斷命令調(diào)試器,可以讓用戶選擇每一條單獨的服務命令,編輯發(fā)送服務報文和接收服務報文,進行測試驗證。主要包含四塊工作區(qū)域,分別為服務命令選擇區(qū),手動命令輸入?yún)^(qū),診斷命令發(fā)送/應答區(qū)和診斷信息區(qū),如圖 4-1 所示。
圖 4-1 控制臺工作分區(qū)
1.
服務命令選擇區(qū)
服務命令選擇區(qū)中是根據(jù)基礎配或者加載 ODX/PDX 診斷數(shù)庫生成的可執(zhí)行服務列表。用戶可以雙擊執(zhí)行選中的服務或者右鍵選擇執(zhí)行該服務,如圖 4-2所示。
圖 4-2 服務命令選擇區(qū)
2.
手動命令輸入?yún)^(qū)
測試過程中,如果用戶想發(fā)送任意的診斷命令,則可以在手動命令輸入?yún)^(qū)中輸入自己想要發(fā)送的任意報文。在輸入診斷報文過后,點擊右邊的 Execute 按鈕,就可以完成診斷報文的發(fā)送。為了增加測試靈活性,還可以通過選擇框選擇采用物理地址發(fā)送還是功能 ID 發(fā)送診斷請求報文。如圖 4-3。
圖 4-3 手動命令輸入?yún)^(qū)
3.
診斷命令發(fā)送/應答區(qū)
在本區(qū)域中,用戶可以編輯發(fā)送數(shù)據(jù)段以及期望接收數(shù)據(jù)段,啟動執(zhí)行來驗證被測 ECU 的診斷響應是否符合實際要求,以及是否同步診斷系統(tǒng)變量,如圖4-4。
圖 4-4 診斷命令發(fā)送/應答區(qū)
4.
診斷信息區(qū)
該區(qū)域分為服務層信息和 ISO15765-2 數(shù)據(jù)流區(qū),其中服務層信息顯示當前在診斷模塊中的操作步驟流程與響應信息。如圖 4-5。
圖 4-5 服務層信息
當診斷服務沒有得到肯定響應或者無響應時,報錯提示信息等。如圖 4-6:
圖 4-6服務層信息負響應提示
ISO15765-2 數(shù)據(jù)流區(qū),用于顯示診斷模塊詳細的服務層報文信息。結(jié)合前面配置的診斷數(shù)據(jù)庫,還可以把原始的報文數(shù)據(jù)解析成物理信號等呈現(xiàn)。以 22 服務為例,可以查看到診斷服務層解析后的參數(shù)數(shù)據(jù),如圖 4-7。
圖 4-7ISO15765-2 數(shù)據(jù)流區(qū)
TSMaster 自動診斷流程與注冊系統(tǒng)變量
1.
診斷流程創(chuàng)建與管理
TSMaster 的自動化診斷流程不僅僅是針對某一個具體的應用,而是針對整個項目的診斷流程進行管理。用戶可以根據(jù)完整項目的需求,配置測試診斷流程組,每個組里面可以包含多個不同的診斷流程,在一個診斷流程中包含具體的診斷步驟。
在 UDS 流程管理欄右鍵鼠標,展開流程用例管理的操作菜單,如圖 5-1:
圖 5-1 流程用例管理的操作菜單
操作菜單從上到下分別包含如下操作:
【1】切換 UDS 流程:切換到當前 UDS 流程節(jié)點。雙擊該節(jié)點,也可以達到切換到該流程節(jié)點的效果。切換到該節(jié)點過后,節(jié)點圖標和背景色為藍色,同時右邊的節(jié)點流程中展開顯示該 UDS 流程包含的詳細診斷步驟。如圖 5-2。
圖 5-2 切換 UDS 流程
【2】啟動 UDS 流程:啟動該節(jié)點的診斷流程。點擊該選項后,診斷模塊按照右邊的配置,從上往下自動執(zhí)行診斷步驟。
【3】中斷 UDS 流程:點擊該節(jié)點后,中斷正在執(zhí)行的診斷流程步驟。
【4】添加流程組:新增診斷流程組。比如新增 Test Group1。診斷組下面可以再增加診斷流程用例,其本身不包含診斷步驟。
【5】添加新的測試流程:新增一個診斷流程用例,在診斷流程用例下面可以增加詳細的診斷步驟。
【6】編程名稱:選中一個流程組或者流程用例,右鍵選中 Edit name 編輯該節(jié)點的名稱。
【7】注冊系統(tǒng)變量:選擇一個診斷流程用例,注冊為系統(tǒng)變量。
【8】反注冊系統(tǒng)變量:選中已注冊為系統(tǒng)變量的診斷流程用例,取消注冊系統(tǒng)變量。
【9】刪除所選:刪除選中的節(jié)點。
【10】刪除所有:清楚所有的節(jié)點。
2.
配置自動診斷流程
TSMaster 自動診斷流程,可以快速配置多組診斷流程并可以設置循環(huán)運行和注冊系統(tǒng)變量用于外部調(diào)用等,如下進行詳細介紹。
2.1 自動診斷工具欄介紹
診斷流程配置工具欄如圖 5-3 所示:
圖 5-3診斷流程配置工具欄
圖標依次從左往右為:
【1】新增診斷流程組。
【2】新增診斷流程用例。
【3】刪除選中的診斷流程組/用例。
【4】啟動配置好的診斷流程。
【5】終端正在運行的診斷流程。
【6】鎖定/解鎖流程配置區(qū)域。如果鎖定該區(qū)域,在診斷流程區(qū)域變得不可編輯。
【7】全選/全不選診斷流程。
【8】使能設置的循環(huán)運行次數(shù)。
【9】實際運行次數(shù)顯示。
2.2 自動化診斷流程配置步驟
在 UDS 測試流程區(qū)里,右鍵創(chuàng)建新創(chuàng)建一個 UDS 流程,雙擊該流程進入后,解鎖邏輯器,并可以設置本流程可以循環(huán)運行的次數(shù),默認不使能循環(huán)運行。如圖 5-4。
圖 5-4創(chuàng)建新的 UDS 流程
然后在邏輯區(qū)右鍵添加步驟或者刪除步驟,并進一步解析管理欄中功能。如圖 5-5。
圖 5-5診斷步驟添加與管理
【1】在左邊的管理欄中選中一個診斷流程節(jié)點。
【2】在右邊的編輯區(qū)域,添加、刪除、編輯診斷步驟。
【3】添加步驟后,選擇該步驟類型。
【4】編輯步驟名稱。
【5】選擇該步驟地址類型,物理地址還是功能地址。
【6】配置詳細的診斷請求數(shù)據(jù)包。
【7】配置詳細的診斷應答數(shù)據(jù)包。
【8】配置本步驟結(jié)束后步驟之間的等待時間。
【9】配置本步驟發(fā)生錯誤的錯誤處理方法。
2.3 診斷步驟類型
測試步驟中,為了增加診斷配置的靈活性,設計了 4 種類型可供選擇,主要包含:普通步驟,選擇已有配置,種子和密鑰,測試儀在線。通過這 4 種類型,基本上涵蓋了市面上所有主流的診斷流程需求,下面詳細介紹每種類型的特點。如圖 5-6。
圖 5-6診斷步驟類型
【1】普通步驟:主要用于一些簡單的請求數(shù)據(jù)和應答數(shù)據(jù)都很直接的場合。直接在請求服務中填入想要發(fā)送的請求數(shù)據(jù),在應答服務中填入期望的應答報文,比如服務請求數(shù)據(jù)為【10 01】,服務應答數(shù)據(jù)為【50 01 12 34】。如圖 5-7。如果有些服務不需要響應,則可以不設置有回復。
圖 5-7 普通步驟類型
【2】選擇已有配置:該配置設計的目的,就是讓用戶選擇在基礎診斷設置中已經(jīng)配置好的診斷服務,這種方式是 TSMaster 最推薦的配置方式。選擇已有配置過程,如圖 5-8 所示。
圖 5-8 選擇已有配置
【3】種子和密鑰:種子和密鑰只需要選擇種子等級和密鑰等級參數(shù)即可,解密的 DLL 直接關聯(lián)到傳輸層參數(shù)配置載入的種子和密鑰 DLL 中,如圖 5-9 所示:
圖 5-9種子和密鑰
對此,無論是在診斷控制臺模塊中,還是自動診斷流程模塊,都是需要先配置好傳輸層的參數(shù)配置。
【4】測試儀在線:為了支持更加靈活的測試需求,在自動化流程步驟中,提供了打開和關閉測試儀在線的命令選擇,以及配置該命令數(shù)據(jù)以及周期間隔:
△ 是否啟動(start)/停止(stop)該命令,如圖 5-10:
圖 5-10啟動/停止測試儀在線命令
△ 配置測試儀在線的命令的數(shù)據(jù)以及周期間隔,如 5-11:
圖 5-11配置測試儀在線的命令
2.4 步驟間隔時間
診斷流程模塊步驟跟步驟之間的延時是可以設置的,單位為 ms,如圖 5-12:
圖 5-12 配置測試儀在線的命令
2.5 屬性
在屬性中,可以設置響應出錯后的以及本指令是停止還是繼續(xù)運行,如圖5-13 所示:
圖 5-13 屬性
在 TSMaster 后續(xù)產(chǎn)品規(guī)劃中,響應出錯后允許跳轉(zhuǎn)到指定的流程中(比如跳轉(zhuǎn)到擦除流程中),進一步增加自動運行流程模塊的靈活性。
2.6 使能步驟/位置調(diào)整
對于已經(jīng)完成配置的診斷流程步驟,用戶根據(jù)左邊的選擇框來勾選想要執(zhí)行的診斷步驟。如圖 5-14。
關于執(zhí)行順序調(diào)整:無論是測試用例組,測試用例還是測試用例中的具體步驟,用戶想調(diào)整相互之間執(zhí)行順序的時候,直接拖拽對應的測試用例到相應位置即可。
圖 5-14診斷流程步驟使能
3.
診斷模塊的內(nèi)生系統(tǒng)變量
在 TSMaster 新添加基礎診斷模塊后,系統(tǒng)變量管理器會自動生成所有者為診斷模塊 Diagnostic 的系統(tǒng)變量,通過修改系統(tǒng)變量可以配置對應的參數(shù)。如圖5-15。
圖 5-15 診斷模塊系統(tǒng)變量
3.1 診斷服務通用系統(tǒng)變量
診斷內(nèi)生的通用系統(tǒng)變量包含:
△ 導出工程 ExportProject:用于導出診斷工程。
△ 導入工程 ImportProject:用于導入已有的診斷工程。
△ 診斷儀在線 TesterIsPresent:是否啟動診斷儀在線命令。
△ DLC:FD 幀的最大 DLC 值,該參數(shù)只有在 FD 模式下才有效。
△ 接收連續(xù)幀最小幀間隔 STMin(R):用戶自定義接收端 STMin 參數(shù),單位 ms。如設置為 0,表示支持以最短的事件間隔接收。
△ 發(fā)送連續(xù)幀最小幀間隔 STMin(T):用戶定義發(fā)送端 STMin 參數(shù),單位 ms。
△ 用戶自定義連續(xù)幀最小幀間隔 User Define STMin:是否手動定義連續(xù)幀最小幀間隔,單位 ms。
△ 填充字節(jié) FiledByte:發(fā)送診斷幀填充字節(jié)。
△ 功能 ID 類型 FunctionalIDType:傳輸層功能 ID 的類型,0 是標準幀,1是擴展幀。
△ 功能 ID (FunctionalID):傳輸層功能 ID。
△ 應答 ID 類型 ResIDType:傳輸層應答 ID 的類型,0 是標準幀,1 是擴展幀。
△ 應答 ID (ResID):傳輸層應答 ID。
△ 請求 ID 類型 ReqIDType:傳輸層請求 ID 的類型,0 是標準幀,1 是擴展幀。
△ 請求 ID (ReqID):傳輸層請求 ID。
△ 總線類型 BusType:設置總線類型:0 代表 CAN 總線;1 代表 CANFD總線;2 代表 LIN 總線;3 代表 DOIP(基于以太網(wǎng)的診斷)。
△ 通道 Chn:設置診斷模塊的通道參數(shù),比如 0 代表通道 1,1 代表通道 2。
△ 自動化流程進度 UDSProgress:自動診斷流程的實時進度,該變量用來獲取自動診斷流程的運行狀態(tài)。
△ 安全訪問種子和密鑰 SeedAndKeyDLL:設置種子&密鑰 DLL 的絕對路徑,使用時注意轉(zhuǎn)義字符。
△ P2 擴展時間 P2Extended:設置 P2 擴展時間。
△ P2 擴展時間 P2TimeOut:設置 P2 超時時間。
△ S3 服務端時間 S3ServerTime:設置 S3 服務端時間。
△ S3 服務端時間 S3ClientTime:設置 S3 客戶端時間。
3.2 診斷服務特定系統(tǒng)變量
在基礎診斷配置的復合診斷服務添加新的服務后,系統(tǒng)變量管理器同樣會生成對應的系統(tǒng)變量:服務名_DataFile,此變量為下載文件的絕對路徑,修改此變量可控制下載文件的載入與切換。如圖 5-16。
圖 5-16下載文件路徑系統(tǒng)變量
此外,當載入下載文件后,系統(tǒng)變量控制器會根據(jù)選擇的校驗和算法生成每塊校驗和,及總校驗和,下載文件的首地址和長度,如果已經(jīng)添加了符合診斷服務,載入了下載文件,并且在基本診斷服務中關聯(lián)了下載文件相關變量,那么在替換下載文件的同時,這些關聯(lián)的變量也會隨之改變,最小的工程修改實現(xiàn)文件的靈活切換。
3.3 自動診斷流程的注冊系統(tǒng)變量
在診斷控制臺中可以根據(jù)需要靈活配置診斷服務,這些診斷服務配置好后,用戶需要在診斷控制臺中雙擊啟動該診斷服務。
如果用戶希望在 Panel 界面中或者程序中啟動診斷流程命令,步驟如下:
【1】首先在診斷 Basic Diagnostic Config 窗體中,選中目標服務,然后右鍵菜單把該診斷服務注冊為系統(tǒng)變量,如圖 5-17 所示:
圖 5-17診斷服務注冊為系統(tǒng)變量
注冊完成后,該流程的圖標多出 3 個小彩圓,表示成為一個注冊系統(tǒng)變量的服務,未注冊的流程為藍色圓,如圖 5-18 所示:
圖 5-18注冊為系統(tǒng)變量的圖標變化
【2】注冊完成后,在系統(tǒng)變量管理器中,就可以看到生成系統(tǒng)變量_Start和_Result,如圖 5-19。
圖 5-19注冊為系統(tǒng)變量的變量
其中_Start 的數(shù)值賦值為:
● 0 是空閑狀態(tài)。
● 1 是正在執(zhí)行狀態(tài)。
● 2 是執(zhí)行成功。
● 3 是執(zhí)行失敗。
_Result 的數(shù)值結(jié)果為:
● >0 表示啟動診斷流程
● =0 表示中斷停止診斷流程
● <0 為非法參數(shù)。
【3】在面板Panel 中添加按鈕button控件,并關聯(lián)生成好的系統(tǒng)變量流程名_Start,將將按鈕按下事件設置為 1,如圖 5-20。
圖 5-20 面板按鈕控件關聯(lián)系統(tǒng)變量
【4】運行程序,點擊 Panel 的測試按鈕,將值 1 賦給流程名_Start,診斷模塊執(zhí)行相應的診斷流程,實現(xiàn)自動運行診斷流程。
診斷典型應用
1.
應用 1:讀取車輛 VIN 碼
如下通過自動診斷流程,快速配置讀取車輛 VIN 碼,一鍵執(zhí)行與 ECU 交互,并對讀加 VIN 碼的參數(shù)進行解析,診斷流程如下,如圖 6-1。
圖 6-1面板按鈕控件關聯(lián)系統(tǒng)變量
其中服務指令解析如下:
【1】切換到擴展會話。
【2】seedkey 獲取權限。
【3】采用普通讀取命令,讀取車輛返回的 VIN 碼。
【4】或者是采用之前已經(jīng)配置好的命令,讀取 VIN 碼,這種方式帶數(shù)據(jù)解析。
執(zhí)行的響應,正常讀取到 ECU 的 VIN 碼,同時選擇已有配置的步驟中因為帶有相應的解析信息,可以直接出讀取VIN 碼為“E8880003CED05909”。如圖6-2。
圖 6-2讀取 VIN 碼
2.
應用 2:Flash Bootloader 流程
本文設計了一個簡單的 Bootloader 流程來說明如何基于 TSMaster 診斷模塊配置一個 Flash Bootloader 流程。
2.1 Flash Bootloader 流程
首先設計 FashBootloader 流程,可以根據(jù)不同 ECU 的實際設計規(guī)范進行調(diào)整,通常分為三個階段,分別為預編程階段(灰色),主編程階段(紫色)和后編程階段(藍色),如圖 6-3。
圖 6-3設計 FashBootloader 流程
2.2 配置刷寫例程
△ 預編程階段:
【1】首先創(chuàng)建 UDS 流程:注意切換編輯器為解鎖狀態(tài),否則無法添加新的流程步驟。如圖 6-4。
圖 6-4解鎖編輯器
【2】對于流程圖所示的切換擴展會話,關閉 DTC,關閉接收控制等命令,直接配置普通步驟類型的命令即可。如圖 6-5。
圖 6-5切換擴展會話、關閉 DTC 和接收
【3】基于讀取 ID:F188 位置處的數(shù)據(jù),并判斷該數(shù)據(jù)是否等于比 SN123456。如果符合,則判斷零件號匹配,進入下一個步驟,否則退出流程。
方式 1:使用普通步驟配置形式,如圖 6-6:
圖 6-6普通步驟讀取 DID F188 零件號
方式 2:在 BasicConfig 中配置好,然后在流程中使用選擇已有配置,如圖6-7:
圖 6-7選擇已有配置讀取 DID F188 零件號
△ 主編程階段:
【4】切換到編程會話,進入主編程階段,如圖 6-8。
圖 6-8切換到編程會話
【5】添加種子和密鑰步驟,解鎖 ECU,如圖 6-9:
圖 6-9種子和密鑰步驟
【6】獲取權限后,在 IDF190 處寫入字符串“SN1234”,對于這種固定寫入的字符串,可以使用普通步驟直接配置,如圖 6-10:
圖 6-10IDF190 處寫入字符串
【7】添加 FlashDriver/應用程序文件流程。首先在基礎診斷配置添加FlashDriver 和應用程序文件,如圖 6-11:
圖 6-11基礎診斷配置添加 FlashDriver 文件
然后在自動診斷流程中選擇相應的已有配置,選擇創(chuàng)建好的組合下載服務。如圖6-12。
圖 6-12選擇已有的組合下載服務
【8】采用例程控制擦除 Flash。通過診斷基礎設置配置好后擦除指令,將起始地址和數(shù)據(jù)長度的系統(tǒng)變量,通過系統(tǒng)變量的方式添加請求參數(shù),如圖 6-13:
圖 6-13診斷基礎配置擦除指令
然后通過選擇已有配置加入到流程中。如圖 6-14。
圖 6-14例程控制擦除 Flash
【9】重啟 ECU,需要注意的是 ECUReset 到重新開始診斷,步驟之間的等待時間需根據(jù) ECU 設計規(guī)范調(diào)節(jié),比如設置為 1000ms。如圖6-15。
圖 6-15 重啟ECU
△ 后編程階段:
【10】切換會默認會話,COM 控制,DTC 控制等操作,使用變通步驟添加即可。如圖 6-16。
圖 6-16后編程階段
2.3 完成流程配置與一鍵運行
在完成配置后,總的配置流程如圖 6-17 所示。
圖 6-17完成 FashBootloader 配置流程
通過按鈕一鍵執(zhí)行自動診斷流程,當每個步驟都是正響應,會顯示為綠色,如圖 6-18:
圖 6-18一鍵執(zhí)行自動診斷流程
基于 TSMaster 的診斷模塊,實現(xiàn)零代碼方式,開發(fā)診斷流程如 Bootloader等應用成為一個非常簡單快速的事情。
-
CAN
+關注
關注
57文章
2754瀏覽量
463697 -
診斷
+關注
關注
1文章
58瀏覽量
12281 -
MASTER
+關注
關注
0文章
104瀏覽量
11287 -
調(diào)試器
+關注
關注
1文章
305瀏覽量
23739
發(fā)布評論請先 登錄
相關推薦
評論