0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

車載以太網(wǎng) | TSMaster的DoIP功能操作指南

上海同星智能科技有限公司 ? 2024-04-13 08:21 ? 次閱讀

車載以太網(wǎng)診斷協(xié)議,Diagnostics over Internet Protocol簡稱為DoIP,可以通過以太網(wǎng)協(xié)議進行汽車診斷。DoIP是一種用于在車輛之間或車輛與診斷設備之間進行通信和診斷的標準協(xié)議。通過DoIP,診斷工程師可以通過以太網(wǎng)或遠程訪問和診斷車輛的電子系統(tǒng),并可以進行以太網(wǎng)控制器的診斷訪問和刷寫。

DoIP是TSMaster支持的重要功能之一,本文主要介紹TSMaster的DoIP模塊中診斷服務功能操作,以及相應的傳輸層配置,并結(jié)合診斷功能常見的使用操作進行展開。

本文關(guān)鍵詞:DoIP,車載以太網(wǎng)診斷,基礎(chǔ)診斷,自動診斷流程,以太網(wǎng)

目錄

Catalog

1.TSMaster DoIP的同星以太網(wǎng)硬件準備

2.TSMaster DoIP模塊如何開始使用

3.TSMaster被測儀IP網(wǎng)絡接口配置

4.TSMaster DoIP診斷傳輸層配置

5.TSMaster基礎(chǔ)診斷配置

6.TSMaster診斷控制臺

7.TSMaster自動診斷流程與注冊系統(tǒng)變量

8.診斷典型應用

1、TSMaster DoIP的同星以太網(wǎng)硬件準備

TSMaster的DoIP軟件功能的實現(xiàn),是以同星的以太網(wǎng)硬件作為基礎(chǔ)。其中應用于DoIP的同星以太網(wǎng)硬件有TE1051、TE1054(規(guī)劃中)、TE1021。


TE1051

TE1051是一路以太網(wǎng)轉(zhuǎn)USB接口的設備,可以將標準以太網(wǎng)100Base-Tx 1000Base-T或車載以太網(wǎng)100/1000Base-T1的數(shù)據(jù)通過USB接口傳輸?shù)絇C上,并通過TSMaster軟件實現(xiàn)以太網(wǎng)數(shù)據(jù)的仿真、分析、測試,也可以實現(xiàn)DoIP和SOMEIP等功能。同時,TE1051設備小巧且外殼堅固,無需外部供電,適用于各種環(huán)境工況下的DoIP診斷刷寫。

b95674ac-f92b-11ee-9118-92fbcf53809c.jpg

圖1-1 TE1051硬件


TE1021

TE1021是一路車載以太網(wǎng)轉(zhuǎn)普通以太網(wǎng)接口(100/1000Base-T1 to 100Base-Tx/1000Base-T)的介質(zhì)轉(zhuǎn)換工具。用戶可以將100Base-T1轉(zhuǎn)換為100Base-Tx或?qū)?000Base-T1轉(zhuǎn)換為1000Base-T。可適用于不同以太網(wǎng)接口的DoIP應用場景,同時TE1021小巧且外殼堅固,攜帶方便。

b96aad64-f92b-11ee-9118-92fbcf53809c.jpg圖1-2 ??TE1021硬件

2、TSMaster DoIP模塊如何開始使用

TSMaster的DoIP模塊的創(chuàng)建與基本使用流程如下:


▲ Step1:DoIP位于主菜單【應用】->【DoIP】,如圖2-1。

b97ce0a6-f92b-11ee-9118-92fbcf53809c.jpg

圖2-1 DOIP


▲ Step2:【添加DoIP】模塊,可以添加多個DoIP模塊,如圖2-2。

b9879ce4-f92b-11ee-9118-92fbcf53809c.jpg圖2-2 添加DoIP模塊


▲ Step3:根據(jù)ECU的配置設置車載以太網(wǎng)傳輸層參數(shù),比如診斷儀類型、通道、被測件IP地址等以太網(wǎng)參數(shù)和安全訪問算法。具體操作流程在下文第3章節(jié)展開。

▲Step4:當配置好傳輸層相關(guān)參數(shù)與安全算法,啟動工程后,點擊【Connect DUT】連接車載控制器。當連接成功后,基礎(chǔ)診斷窗口和系統(tǒng)消息窗口會提示:連接以太網(wǎng)被測件成功,如圖2-3。以及在ISO15765-2的地方可以看到連接的服務消息,如圖2-4。

b999b4e2-f92b-11ee-9118-92fbcf53809c.jpg圖2-3 連接以太網(wǎng)被測件


b9b5e7ac-f92b-11ee-9118-92fbcf53809c.jpg圖2-4 ?ISO5765-2消息


▲Step5: 服務以及流程都配置好之后,在【自動診斷流程】處直接打開啟動按鈕,執(zhí)行診斷流程。如圖2-5所示。

b9bdc8dc-f92b-11ee-9118-92fbcf53809c.jpg圖2-5 執(zhí)行自動診斷流程

3、TSMaster診斷儀IP網(wǎng)絡接口配置

TSMaster的網(wǎng)絡接口配置流程如下:


▲Step1:找到主菜單【硬件】->【TCP/IP Stack】,如圖3-1。

b9c66956-f92b-11ee-9118-92fbcf53809c.jpg

圖3-1 TCP/IP Stack


▲Step2:【Eth CH1】右鍵選擇【Add Network Card】,如圖3-2。

b9d31e12-f92b-11ee-9118-92fbcf53809c.jpg圖3-2 添加網(wǎng)絡接口

▲Step3:在【General Setting】中選擇【用戶自定義Mac】,輸入自定義Mac地址。如圖3-3。

b9e0cc06-f92b-11ee-9118-92fbcf53809c.jpg

圖3-3 自定義Mac地址


▲Step4:【使能IPV4】,然后打開【添加】按鈕,輸入診斷測試儀的IP地址和IP掩碼,如圖3-4。

b9ea71b6-f92b-11ee-9118-92fbcf53809c.jpg

圖3-4 添加IP地址


4、TSMaster DoIP診斷傳輸層配置

TSMaster 提供了DoIP的診斷傳輸層的配置功能,用戶可以根據(jù)需求配置相應的傳輸層配置比如診斷儀類型、通道、IP地址、端口和請求和應答ID、以及安全算法等一系列配置。

4.1 診斷傳輸層

診斷傳輸層的配置根據(jù)診斷儀類型分為兩種:TE系列設備和系統(tǒng)TCP/IP

4.1.1 TE系列設備


TE系列設備類型以TE1051為例,TE1051是一個1路以太網(wǎng)轉(zhuǎn)USB接口的工具,通過USB接口傳輸?shù)絇C上,并通過TSMaster軟件實現(xiàn)以太網(wǎng)數(shù)據(jù)的DoIP功能。

對于DoIP診斷傳輸層ISO TP,包含被測件和測試儀的以太網(wǎng)參數(shù)和診斷ID參數(shù),如圖4-1所示。

b9f182a8-f92b-11ee-9118-92fbcf53809c.jpg

圖4-1 DoIP診斷傳輸層ISO TP配置


DoIP診斷傳輸層ISO TP的具體參數(shù)如下分類介紹:


▲ 總線類型:診斷傳輸層類型。

使用同星DoIP功能選擇總線類型為【Ethernet】,如圖4-2所示。

ba0247c8-f92b-11ee-9118-92fbcf53809c.png圖4-2 ?DoIP診斷總線類型


▲ 診斷儀類型:診斷設備類型。

通過USB連接PC,選擇的診斷儀類型為【TE系列設備】,若是傳統(tǒng)的網(wǎng)線連接PC則選擇系統(tǒng)TCP/IP,如圖4-3所示。

ba0d8a34-f92b-11ee-9118-92fbcf53809c.jpg圖4-3 ?Ethernet 診斷儀類型選擇

▲ 通道:診斷模塊用到的邏輯通道。

TSMaster 支持多個診斷模塊同時在線工作,這里用于選擇當前診斷模塊的應用邏輯通道,通過下拉列表進行選擇,如圖4-4所示。

ba21005a-f92b-11ee-9118-92fbcf53809c.jpg圖4-4 ?Ethernet 通道選擇

▲IP地址掩碼:以太網(wǎng)通信使用的IP地址掩碼。

▲被測件IP:被測件的IP地址。

在DoIP通信中,IP地址掩碼和被測件IP地址需要根據(jù)具體的網(wǎng)絡拓撲結(jié)構(gòu)和通信需求進行設置。

▲被測件端口:被測件端口號。

在ISO 13400標準中端口13400被指定為DoIP通信的默認端口號。

▲測試儀IP:測試儀的IP地址。

測試儀IP為連接PC的測試設備(如同星的TE051)的IP地址。根據(jù)IP地址掩碼和被測件IP,將PC的IP地址和被測件IP配置在同一網(wǎng)段內(nèi),以此兩者可以正常連接和通信。測試儀IP地址的配置在前面的第3章已詳細說明。

▲測試儀端口:測試儀或PC的端口

注意:對于診斷工具的端口號設置并沒有固定的規(guī)定,用戶可以根據(jù)需求自己設置或者使用軟件自動分配的端口號。

▲請求ID / 應答ID / 功能ID:設置診斷模塊PC工具端的診斷請求/應答/功能幀的 ID。

4.1.2系統(tǒng)TCP/IP

系統(tǒng)TCP/IP類型以TE1021為例,TE1021是直接通過系統(tǒng)的網(wǎng)口連接PC。


DoIP診斷傳輸層ISO TP,包含被測件和測試儀的以太網(wǎng)參數(shù)和診斷ID參數(shù),如圖4-5所示。

ba3bacd4-f92b-11ee-9118-92fbcf53809c.jpg圖4-5 ?DoIP診斷傳輸層ISO TP配置

DoIP診斷傳輸層ISO TP的具體參數(shù)如下分類介紹:

▲ 總線類型:診斷傳輸層類型。

使用同星DoIP功能選擇總線類型為【Ethernet】,如圖4-6所示。

ba4d7bb2-f92b-11ee-9118-92fbcf53809c.png圖4-6 ?DoIP診斷總線類型

▲ 診斷儀類型:診斷設備類型。

診斷儀通過PC系統(tǒng)的網(wǎng)口連接PC,則選擇的診斷儀類型為【系統(tǒng)TCP/IP】,如圖4-7所示。

ba5bec9c-f92b-11ee-9118-92fbcf53809c.jpg圖4-7 ?Ethernet 診斷儀類型選擇

▲ 通道:診斷模塊用到的邏輯通道。

用于選擇當前診斷模塊的應用邏輯通道,這里默認是【System Ethernet Interface】,如圖4-8所示。

ba6457c4-f92b-11ee-9118-92fbcf53809c.jpg圖4-8 ?Ethernet 通道選擇

▲ IP地址掩碼:以太網(wǎng)通信使用的IP地址掩碼。

▲被測件IP:被測件的IP地址。

在DoIP通信中,IP地址掩碼和被測件IP地址需要根據(jù)具體的網(wǎng)絡拓撲結(jié)構(gòu)和通信需求進行設置。

▲被測件端口:被測件端口號。

在ISO 13400標準中端口13400被指定為DoIP通信的默認端口號。

▲測試儀IP:PC的系統(tǒng)的網(wǎng)口的IP地址。

根據(jù)IP地址掩碼和被測件IP,將PC的IP地址和被測件IP配置在同一網(wǎng)段內(nèi),使得兩者可以正常連接和通信。找到電腦的【設置】->【網(wǎng)絡和Internet】,找到網(wǎng)口所連接的以太網(wǎng),選擇【屬性】,在【IP分配】選擇【編輯】按鈕。選擇手動,打開IPv4,填寫IP地址以及子網(wǎng)掩碼。如圖4-9所示。

ba72d286-f92b-11ee-9118-92fbcf53809c.jpg圖4-9 ?PC端以太網(wǎng)IP地址設置

▲ 測試儀端口:測試儀或PC的端口

注意:對于診斷工具的端口號設置并沒有固定的規(guī)定,用戶可以根據(jù)需求自己設置或者使用軟件自動分配的端口號。

▲ 請求ID / 應答ID / 功能ID:設置診斷模塊PC工具端的診斷請求/應答/功能幀的 ID。

4.2 診斷服務層

診斷服務層參數(shù)主要包含路由激活,S3,P2 時間參數(shù),以及加載 SeedKey 的 安全訪問。如圖4-10所示。

ba84bc12-f92b-11ee-9118-92fbcf53809c.jpg圖4-10 ?診斷服務層參數(shù)

4.2.1 路由激活


【連接DUT之后自動執(zhí)行路由激活命令】:勾選后,當測試儀或PC與被測件建立網(wǎng)絡連接后,軟件自動執(zhí)行路由激活命令。

【TCP初始化激活超時時間】:這個參數(shù)描述了從TCP_Data連接建立過后到失效的最大超時時間。如果在設定時間范圍內(nèi)都不執(zhí)行激活路由的指令,DoIP模塊會主動關(guān)閉TCP_Data套接字。規(guī)范定義時間為2000ms。

【激活類型】,共有5種類型:

1. 【Default】:默認激活模式(Default Activation Mode),這是最基本的路由激活類型,通常用于建立標準的DoIP通信會話。在默認激活模式下,設備之間會進行基本的身份驗證和參數(shù)交換,以建立通信連接。


2. 【W(wǎng)WH-OBD】:全球調(diào)和車載診斷系統(tǒng)要求的診斷通信激活,在這種模式下,設備之間可能需要進行額外的身份驗證和安全驗證,以確保通信的合規(guī)性和安全性。


3. 【ISO/SAE Reserved】:為未來的標準或特定應用保留的路由激活模式。


4. 【Central Security】:Central Security(中央安全)路由激活模式,它涉及到車輛網(wǎng)絡安全的核心管理和認證機制。這種模式通常用于確保只有經(jīng)過授權(quán)和驗證的設備才能與車輛的網(wǎng)絡系統(tǒng)進行通信。


5. 【Additional OEM-Specific Use】:為原始設備制造商(OEM)提供的特定用途而保留的額外路由激活模式。不同的OEM可以根據(jù)自己的需求和車輛網(wǎng)絡架構(gòu),定義和使用特定的路由激活模式,以滿足其獨特的診斷、通信或安全要求。


4.2.2 P2時間參數(shù)


【P2超時時間】:表示 ECU 收到診斷請求幀過后,最短回復的時間間隔。對于診斷工具端,該參數(shù)可以作為發(fā)送請求過后,等待回復的超時判斷參數(shù)。比如診斷工具發(fā)送了一個診斷報文,P2超時時間段內(nèi)都沒有收到回復,則認為請求失敗,超時退出。


【P2擴展時間】:當診斷工具發(fā)出診斷報文過后,被測 ECU 來不及在 P2 超時時間段內(nèi)做出應答,則回復一幀 7F XX 78 報文,告訴診斷工具端自己來不及響應,需要延長等待時間再回復。ECU 發(fā)送了延遲等待報文后,則把等待時間參數(shù)切換為 P2擴展時間。診斷工具端的超時判斷參數(shù)在收到延遲等待報文后,需要切換到 P2擴展時間。


上述兩個參數(shù)可以點開【詳情】按鈕,查看圖示說明,如圖4-11所示。

ba96f9d6-f92b-11ee-9118-92fbcf53809c.jpg圖4-11 ?P2時間參數(shù)設置

4.2.3 診斷儀在線


診斷儀在線包括S3服務器時間和S3客戶端時間參數(shù)。

【S3服務器時間】:表示該ECU從Default會話被切換到其他會話過后,經(jīng)過多長時間會自動切換回默認會話的超時時間。


【S3客戶端時間】:表示作為診斷Tester端,發(fā)送TesterPresent幀的時間間隔。


上述兩個參數(shù)的示意圖,可以點開【詳情】按鈕,查看圖示說明,如圖4-12所示。

ba9d27c0-f92b-11ee-9118-92fbcf53809c.jpg圖4-12 ?S3時間參數(shù)設置

【診斷儀在線】:TSMaster 斷模塊中,可以選擇配置并使能診斷儀在線命令,如圖4-13所示。

baae7430-f92b-11ee-9118-92fbcf53809c.jpg圖4-13 ?診斷儀在線設置

當使能【診斷儀在線】,在診斷模塊上方會出現(xiàn)啟動【診斷儀在線】的開關(guān)。設置診斷儀在線為【打開】狀態(tài),則按照設定的S3客戶端時間間隔發(fā)送該報文。

診斷儀在線的發(fā)送字節(jié)是可選的。支持三種類型:

【默認診斷儀在線服務】:為最常用的0x3E 0x80。

【從基礎(chǔ)配置中選擇】:從基本診斷配置中選擇配置好的3E命令。

【用戶自定義】:用于自定義的字節(jié)。

4.2.4 種子密鑰


TSMaster 中提供了兩種SeedKey種子密鑰的處理方法。第一種就是常用的加載主流的種子密匙的DLL動態(tài)鏈接庫;第二種是提供了內(nèi)置的種子密鑰的解釋器,可以直接編寫SeedKey源代碼,并可以保存生成DLL動態(tài)鏈接庫。


—4.2.4.1載入動態(tài)鏈接庫


TSMaster不僅支持了C/C++,Delphi等語言封裝的DLL文件,也新增支持基于DotNet平臺如C#,VB.Net等語言編寫的DLL動態(tài)鏈接庫,可以高效兼容不同平臺生成的安全訪問DLL,為工程師帶來更便捷的使用體驗。

載入動態(tài)鏈接庫加載界面,如圖4-14所示。

bac55eca-f92b-11ee-9118-92fbcf53809c.jpg圖4-14 ?載入動態(tài)鏈接庫

圖標從左往右依次為:

【1】 加載DLL

【2】 刪除DLL

【3】 打開DLL校驗器,通過DLL校驗器,用戶可以判斷加載的 DLL 接口是否正確,算法是否符合設計要求。比如,用戶選擇Seed的Level過后,輸入Seed值,點擊GenKey 進行判斷。如果該DLL接口跟模板定義接口統(tǒng)一,則會輸出提示信息:Generate Key Success,然后用戶根據(jù)Key值跟目標值對比,進一步確認DLL中的算法是否符合設計要求。如圖4-15。

bacece88-f92b-11ee-9118-92fbcf53809c.jpg圖4-15 ?SeedKey校驗器

【4】 可打開TSMaster安裝目錄下Seed&Key接口工程所在的文件路徑。

在TSMaster安裝目錄中,提供了封裝Seed&Key 算法的模板工程。如GenerateKeyEx,GenerateKeyExOpt, ASAP1A_CCP_ComputeKeyFromSeed,基于此模板工程開發(fā)即可得到能夠直接加載的DLL函數(shù)。TSMaster默認支持SeedKey函數(shù)接口具體為如下:


函數(shù)接口1:

unsignedintGenerateKeyEx(

constunsignedchar* ipSeedArray, /* Array for the seed [in] */

unsignedintiSeedArraySize, /* Length of the array for the seed [in] */

constunsignedintiSecurityLevel,/* Security level [in] */

constchar* ipVariant, /* Name of the active variant [in] */

unsignedchar* iopKeyArray, /* Array for the key [in, out] */

unsignedintiMaxKeyArraySize, /* Maximum length of the array for the key [in] */

unsignedint& oActualKeyArraySize); /* Length of the key [out] */

函數(shù)接口2:

unsignedintGenerateKeyExOpt(

constunsignedchar* ipSeedArray, /* Array for the seed [in] */

unsignedintiSeedArraySize, /* Length of the array for the seed [in] */

constunsignedintiSecurityLevel, /* Security level [in] */

constchar* ipVariant, /* Name of the active variant [in] */

constchar* iPara, /* */

unsignedchar* iopKeyArray, /* Array for the key [in, out] */

unsignedintiMaxKeyArraySize, /* Maximum length of the array for the key [in] */

unsignedint& oActualKeyArraySize) /* Length of the key [out] */

函數(shù)接口3:

boolASAP1A_CCP_ComputeKeyFromSeed(

constunsignedchar* ipSeedArray, /* Array for the seed [in] */

unsignedshortiSeedArraySize, /* Length of the array for the seed [in] */

unsignedchar* iopKeyArray, /* Array for the key [in, out] */

unsignedshortiMaxKeyArraySize, /* Maximum length of the array for the key [in] */

unsignedshort* opSizeKey) /* Length of the key [out] */

如何兼容其他函數(shù)接口


在日常使用中經(jīng)常出現(xiàn)用戶已經(jīng)開發(fā)好了SeedKey DLL,同時該 DLL 的接口不是上述三種中的任何一種,則無法直接加載到TSMaster的診斷模塊中。對此,可以通過二次封裝的形式將存在的SeedKey算法庫進行包裝,生成可以直接加載到TSMaster診斷模塊中的 DLL 。


以一個實際的實例來講解如何兼容其他接口函數(shù)的DLL文件,二次封裝流程的示意圖,如圖4-16。

bad93ff8-f92b-11ee-9118-92fbcf53809c.jpg圖4-16 ?二次封裝流程

▲第一步:查看當前的DLL,名稱為UserSeedKey.DLL。該函數(shù)內(nèi)部的API函數(shù)有:

●Seed 等級為1的時候,調(diào)用函數(shù)void GetKeyFromSeed01(byte* ASeed, byte* AKey);

●Seed等級為3的時候,調(diào)用函數(shù)void GetKeyFromSeed03(byte* ASeed, byte* AKey);

●Seed等級為11的時候,調(diào)用函數(shù) void GetKeyFromSeed11(byte* ASeed, byte* AKey);


進而得知當前DLL不支持上述三種函數(shù)接口,需要進行二次封裝。

▲第二步:選擇 TSMaster 安裝目錄中提供的 GenerateKeyEx 的模板工程,在該工程中用上述DLL的函數(shù)接口。基本思路是:

1. 采用 Loadlibrary 動態(tài)用戶現(xiàn)有的 DLL。

2. 根據(jù)傳入的Level參數(shù),采用GetProcAddress函數(shù)動態(tài)獲取實際的用于計算Key的函數(shù)指針。

3. 如果獲取函數(shù)指針成功,則使用該函數(shù)指針傳輸Seed值,并計算對應的Key值。GenerateKeyEx工程二次封裝示例,如圖4-17。

baf53726-f92b-11ee-9118-92fbcf53809c.png圖4-17 ??GenerateKeyEx工程二次封裝示例

▲第三步:該GenerateKeyEx工程開發(fā)結(jié)束后,TSMaster 直接加載GenerateKeyEx所在的DLL。需要注意的是,用戶需要把現(xiàn)有的UserSeedKey.DLL拷貝到TSMaster根目錄或者GenerateKeyEx.DLL所在的目錄。如果不拷貝過去,GenerateKeyEx.DLL執(zhí)行的時候會出現(xiàn)找不到對應依賴DLL的情況,解鎖失敗。

—4.2.4.2 編寫SeedKey代碼


在TSMaster的內(nèi)置算法編輯器里的操作流程,示意如圖4-18所示。

bb0ae53a-f92b-11ee-9118-92fbcf53809c.jpg圖4-18 ?內(nèi)置算法編輯器

【1】選擇SeedKey算法的函數(shù);

【2】打開算法校驗器,可以于檢查算法結(jié)果是否正確;

【3】打開編寫代碼的窗口;

【4】可用于導出所編寫代碼的為DLL文件;

【5】選擇一個需要的SeedKey函數(shù)接口,并支持擴展自定義函數(shù)接口;

【6】SeedKey源代碼編輯工作區(qū),用于解密算法代碼的輸入與編輯。

值得注意的是,TSMaster 目前提供了最常用的算法函數(shù)的接口形式,如果使用自己特殊的函數(shù)接口形式,可以聯(lián)系上海同星支持,可將相應接口增加到選項中。


另外,所有的接口函數(shù)都定義了返回值類型為s32。增加此約束,主要是增加函數(shù)的嚴謹性。其中,返回值為0表示成功,返回值為其他值則有對應的錯誤碼。因此,在編輯代碼的時候,最后一行需要加上return返回值,如圖4-19所示,否則系統(tǒng)執(zhí)行函數(shù)過后會認為算法執(zhí)行失敗,不予往后面執(zhí)行。

bb216ed6-f92b-11ee-9118-92fbcf53809c.jpg圖4-19 ?函數(shù)return返回值

5、TSMaster 基礎(chǔ)診斷配置

基礎(chǔ)診斷模塊包含基本診斷服務和組合服務。對于診斷過程中獨立執(zhí)行的命令,在基本診斷服務中;用于文件下載的$34、$36和$37放入組合服務中。如圖5-1所示。

bb2cdc1c-f92b-11ee-9118-92fbcf53809c.jpg

圖5-1 基礎(chǔ)診斷配置


5.1 添加刪除服務命令

把鼠標放到需要添加和刪除的服務命令上方,右鍵展開,選擇是否需要添加和刪除該服務,如圖5-2所示。

bb428f26-f92b-11ee-9118-92fbcf53809c.jpg圖5-2 ?添加和刪除的服務命令

5.2 配置基本診斷參數(shù)

以診斷會話控制為例,主要包含如下參數(shù)的配置,如圖5-3所示。

bb64e918-f92b-11ee-9118-92fbcf53809c.jpg圖5-3 ?配置基本診斷參數(shù)

【1】 配置服務名稱:用戶可以配置一個易于理解和管理的服務名稱。

【2】 是否功能標識符:本診斷服務是否采用功能標識符發(fā)送診斷請求。

【3】 是否有回復:用戶可配置是否檢查此服務的回復內(nèi)容。

【4】 選擇子服務類型:比如 Session Control 中的 DiagnosticSessionType 就包含如上圖所示的 Session 類型。

【5】 參數(shù)列表的字節(jié)序:支持Motorola 和 Intel 字節(jié)序。

【6】 參數(shù)列表:診斷服務除了診斷 ID 和子服務類型 ID,還可以帶著參數(shù)發(fā)送給被測 ECU。參數(shù)列表包含請求和應答幀的參數(shù)列表,可以選擇增加/刪除多種類型的參數(shù)。如圖5-4。

bb6b0758-f92b-11ee-9118-92fbcf53809c.jpg圖5-4 ?新增與刪除參數(shù)

其中,根據(jù)不同服務指令,可以設置不同的ID參數(shù)。比如診斷請求會話里的診斷會話類型參數(shù)是必選設置,而參數(shù)列表是可選的。在修改配置后,界面上方會實時顯示實際診斷報文的示例報文,如請求協(xié)議數(shù)據(jù)包是:【10 01 xx xx】:xx 表示該參數(shù)是可變的,根據(jù)用戶實際填入的數(shù)據(jù)確定;診斷儀將要收到的應答協(xié)議數(shù)據(jù)包為【50 01 xx】。

bb787ba4-f92b-11ee-9118-92fbcf53809c.jpg圖5-5 請求與應答參數(shù)設置

5.3 診斷服務參數(shù)

診斷模塊參數(shù)支持 7 種數(shù)據(jù)類型。包括:UInt,Int,Single,Double,HexArray,Ascii和 SystemVar。如圖5-6。

bbac5cb2-f92b-11ee-9118-92fbcf53809c.jpg圖5-6 診斷模塊參數(shù)類型

【1】 UInt:無符號整型,其數(shù)據(jù)長度必須小于32bits,并且為8的倍數(shù),可以為8,16,24,32bits。

【2】 Int:有符號整形,其數(shù)據(jù)長度必須小于32bits,并且為8的倍數(shù),可以為8,16,24,32bits

【3】 Single:單精度浮點數(shù),數(shù)據(jù)長度為固定的32bits。用戶直接輸入輸出浮點數(shù)據(jù)。

【4】 Double:單精度浮點數(shù),數(shù)據(jù)長度為固定的64bits。用戶直接輸入輸出浮點數(shù)據(jù)。

【5】 Hex Array:十六進制數(shù)組,數(shù)據(jù)長度為8的倍數(shù)。輸入數(shù)據(jù)滿足16禁止數(shù)據(jù)類型。

【6】 ASCII:ASCII字符串,數(shù)據(jù)長度為8的倍數(shù)。輸入數(shù)據(jù)為ASCII字符數(shù)組,轉(zhuǎn)化為16進制后進行發(fā)送。

【7】 SystemVar:系統(tǒng)變量,數(shù)據(jù)長度為8的倍數(shù)。TSMaster 系統(tǒng)變量可支持 Uint,Int,Single,Double,UintArray,DoubleArray,HexArray,String 等各種數(shù)據(jù)類型。其具體的數(shù)據(jù)類型由系統(tǒng)變量自身定義所決定。


5.4 配置組合服務

診斷組合服務($343637下載文件)共包含通用配置、擦除Flash配置、請求和傳輸數(shù)據(jù)配置、傳輸退出配置、擴展和輔助的配置。如下詳細介紹每個配置。

5.4.1 通用配置


通用配置中支持加載下載文件格式為hex/bin/s19/mot/srec/vdf等等??梢詫ζ鹗嫉刂泛蛿?shù)據(jù)長度的字節(jié)數(shù)修改,調(diào)調(diào)整校驗和字節(jié)序和自定義CRC校驗算法導入和修改,并可通過下載文件查看器下載文件內(nèi)容。如圖5-7。

bbbd4f2c-f92b-11ee-9118-92fbcf53809c.jpg圖5-7 通用配置

【1】服務名稱:配置該服務的名稱

【2】文件名稱:加載可執(zhí)行文件,支持hex\bin\s19\mot\srec\vdf...

【3】hex viewer:TSMaster 內(nèi)置了可執(zhí)行文件查看編輯器 TSHexViewer,用戶可以用該工具,查看載入Hex 文件的詳細信息,如圖5-8所示。

bbccc9f2-f92b-11ee-9118-92fbcf53809c.jpg圖5-8 查看載入的下載文件

【4】地址和長度標識符。可修改起始地址和數(shù)據(jù)長度的字節(jié)。

【5】校驗和相關(guān)配置。校驗和字節(jié)序支持英特爾和摩托羅拉。在程序下載過程中,為了保證數(shù)據(jù)的完整性,需要引入 Checksum 算法對數(shù)據(jù)的完整性和有效性進行校驗。TSMaster 診斷模塊的符合服務中,引入了主流的CRC 算法進行校驗。其選擇框如下圖所示,同時可實現(xiàn)自定義CRC校驗算法導入和修改,此處自定義算法只能是DLL文件的形式,如圖到5-9。

bbe353ca-f92b-11ee-9118-92fbcf53809c.jpg圖5-9 支持自定義CRC算法導入與修改

當加載好下載文件后,選擇指定的算法過,診斷模塊會對可執(zhí)行文件計算其檢驗和值,包括該可執(zhí)行文件每一個數(shù)據(jù)塊的檢驗和值以及文件整體的檢驗和值,如圖5-10所示。

bc021fe4-f92b-11ee-9118-92fbcf53809c.png圖5-10 文件與數(shù)據(jù)塊檢驗和值

TSMaster的診斷模塊能夠直接把系統(tǒng)變量作為參數(shù),在計算好每一個數(shù)據(jù)塊與文件的檢驗和值過后,會進一步自動轉(zhuǎn)化成系統(tǒng)變量,如圖5-11。

bc12c38a-f92b-11ee-9118-92fbcf53809c.jpg圖5-11 檢驗和系統(tǒng)變量


生成好的檢驗和系統(tǒng)變量,可以通過系統(tǒng)變量的類型添加到服務參數(shù)中。以常用的校驗可執(zhí)行文件的有效性為例,配置如下的 $31例程控制服務命令,就可以實現(xiàn)對文件有效性的檢查,如圖5-12。

bc3004cc-f92b-11ee-9118-92fbcf53809c.jpg圖5-12 檢驗和系統(tǒng)變量添加到服務參數(shù)

5.4.2擦除Flash配置


擦除Flash配置,可以配置無自動擦除、擦除Hex地址范圍、下載每一個數(shù)據(jù)塊之前擦除對應塊。期望回復值以實際ECU的響應進行填寫輸入。如圖5-13。

bc3e9564-f92b-11ee-9118-92fbcf53809c.jpg圖5-13 擦除Flash配置

5.4.3請求和傳輸數(shù)據(jù)配置

請求傳輸數(shù)據(jù)命令的數(shù)據(jù)格式可以修改,比如從00修改為AA??梢宰远x最大傳輸數(shù)據(jù)塊的長度,默認為0x202,實際傳輸層數(shù)據(jù)包為514字節(jié)。如圖5-14。

bc4cb112-f92b-11ee-9118-92fbcf53809c.png圖5-14 請求和傳輸數(shù)據(jù)配置

5.4.4傳輸退出配置

傳輸退出配置,可以設置如下配置,如圖5-15:

● 無校驗

●在ECU端校驗($37+塊校驗和)

●用戶自定義

●在PC端校驗($37+塊校驗和)

校驗和類型選擇無校驗或校驗每一個數(shù)據(jù)塊

bc51b7b6-f92b-11ee-9118-92fbcf53809c.jpg圖5-15 傳輸退出配置

5.4.5 擴展

擴展配置可以添加簽名文件、特殊的CRC算法,與通用配置-校驗和相關(guān)配置里的自定義CRC算法導入相比,此處更靈活可支持任意格式的文件,如圖5-16。

bc5b7698-f92b-11ee-9118-92fbcf53809c.jpg圖5-16 擴展配置

5.4.6 輔助

輔助中可對下載文件按連續(xù)地址的大小分割,比如將數(shù)據(jù)塊按0x1000進行分割。如圖5-17。

bc71f724-f92b-11ee-9118-92fbcf53809c.jpg圖5-17 下載文件分割設置

6、診斷控制臺

診斷控制臺作為診斷命令調(diào)試器,可以讓用戶選擇每一條單獨的服務命令,編輯發(fā)送服務報文和接收服務報文,進行測試驗證。主要包含四塊工作區(qū)域,分別為服務命令選擇區(qū),手動命令輸入?yún)^(qū),診斷命令發(fā)送/應答區(qū)和診斷信息區(qū),如圖6-1所示。

bc8d6b62-f92b-11ee-9118-92fbcf53809c.jpg

圖6-1 控制臺工作分區(qū)


6.1 服務命令選擇區(qū)

服務命令選擇區(qū)中是根據(jù)基礎(chǔ)配或者加載ODX/PDX診斷數(shù)庫生成的可執(zhí)行服務列表。用戶可以雙擊執(zhí)行選中的服務或者右鍵選擇執(zhí)行該服務,如圖6-2所示。

bc9f6254-f92b-11ee-9118-92fbcf53809c.jpg圖6-2 服務命令選擇區(qū)


6.2 手動命令輸入?yún)^(qū)

測試過程中,如果用戶想發(fā)送任意的診斷命令,則可以在手動命令輸入?yún)^(qū)中輸入自己想要發(fā)送的任意報文。在輸入診斷報文過后,點擊右邊的Execute 按鈕,就可以完成診斷報文的發(fā)送。為了增加測試靈活性,還可以通過選擇框選擇采用物理地址發(fā)送還是功能 ID 發(fā)送診斷請求報文。如圖6-3。

bcc15ee0-f92b-11ee-9118-92fbcf53809c.jpg圖6-3 手動命令輸入?yún)^(qū)

6.3 診斷命令發(fā)送/應答區(qū)

在本區(qū)域中,用戶可以編輯發(fā)送數(shù)據(jù)段以及期望接收數(shù)據(jù)段,啟動執(zhí)行來驗證被測ECU 的診斷響應是否符合實際要求,以及是否同步診斷系統(tǒng)變量,如圖6-4。

bcd15c00-f92b-11ee-9118-92fbcf53809c.jpg圖6-4 診斷命令發(fā)送/應答區(qū)

6.4 診斷信息區(qū)

該區(qū)域分為服務層信息和ISO15765-2數(shù)據(jù)流區(qū),其中服務層信息顯示當前在診斷模塊中的操作步驟流程與響應信息。如圖6-5。

bce09f94-f92b-11ee-9118-92fbcf53809c.jpg圖6-5 服務層信息

當診斷服務沒有得到肯定響應或者無響應時,報錯提示信息等。如圖6-6。

bced703e-f92b-11ee-9118-92fbcf53809c.jpg圖6-6 服務層信息負響應提示

ISO15765-2數(shù)據(jù)流區(qū),用于顯示診斷模塊詳細的服務層報文信息。結(jié)合前面配置的診斷數(shù)據(jù)庫,還可以把原始的報文數(shù)據(jù)解析成物理信號等呈現(xiàn)。以22服務為例,可以查看到診斷服務層解析后的參數(shù)數(shù)據(jù),如圖6-7。

bcff8bfc-f92b-11ee-9118-92fbcf53809c.jpg圖6-7 ?ISO15765-2數(shù)據(jù)流區(qū)

7、TSMaster自動診斷流程與注冊系統(tǒng)變量

7.1 診斷流程創(chuàng)建與管理

TSMaster的自動化診斷流程不僅僅是針對某一個具體的應用,而是針對整個項目的診斷流程進行管理。用戶可以根據(jù)完整項目的需求,配置測試診斷流程組,每個組里面可以包含多個不同的診斷流程,在一個診斷流程中包含具體的診斷步驟。

在UDS流程管理欄右鍵鼠標,展開流程用例管理的操作菜單,如圖7-1。

bd17bad8-f92b-11ee-9118-92fbcf53809c.jpg

圖7-1 流程用例管理的操作菜單

操作菜單從上到下分別包含如下操作:


【1】切換UDS流程:切換到當前UDS流程節(jié)點。雙擊該節(jié)點,也可以達到切換到該流程節(jié)點的效果。切換到該節(jié)點過后,節(jié)點圖標和背景色為藍色,同時右邊的節(jié)點流程中展開顯示該UDS流程包含的詳細診斷步驟,如圖7-2。

bd1c02d2-f92b-11ee-9118-92fbcf53809c.jpg圖7-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é)點。

7.2 配置自動診斷流程

TSMaster自動診斷流程,可以快速配置多組診斷流程并可以設置循環(huán)運行和注冊系統(tǒng)變量用于外部調(diào)用等,如下進行詳細介紹。


7.2.1自動診斷工具欄介紹


診斷流程配置工具欄如圖7-3所示。

bd2f0878-f92b-11ee-9118-92fbcf53809c.jpg圖7-3 ?診斷流程配置工具欄


圖標依次從左往右為:

【1】新增診斷流程組。

【2】新增診斷流程用例。

【3】刪除選中的診斷流程組/用例。

【4】啟動配置好的診斷流程。

【5】終端正在運行的診斷流程。

【6】鎖定/解鎖流程配置區(qū)域。如果鎖定該區(qū)域,在診斷流程區(qū)域變得不可編輯。

【7】全選/全不選診斷流程。

【8】使能設置的循環(huán)運行次數(shù)。

【9】實際運行次數(shù)顯示。


7.2.2自動化診斷流程配置步驟


在UDS測試流程區(qū)里,右鍵創(chuàng)建新創(chuàng)建一個UDS流程,雙擊該流程進入后,解鎖邏輯器,并可以設置本流程可以循環(huán)運行的次數(shù),默認不使能循環(huán)運行。如圖7-4。

bd38c3c2-f92b-11ee-9118-92fbcf53809c.jpg圖7-4 ?創(chuàng)建新的UDS流程

然后在邏輯區(qū)右鍵添加步驟或者刪除步驟,并進一步解析管理欄中功能。如圖7-5。

bd8767e8-f92b-11ee-9118-92fbcf53809c.jpg圖7-5 ?診斷步驟添加與管理

【1】在左邊的管理欄中選中一個診斷流程節(jié)點。

【2】在右邊的編輯區(qū)域,添加、刪除、編輯診斷步驟。

【3】添加步驟后,選擇該步驟類型。

【4】編輯步驟名稱。

【5】選擇該步驟地址類型,物理地址還是功能地址。

【6】配置詳細的診斷請求數(shù)據(jù)包。

【7】配置詳細的診斷應答數(shù)據(jù)包。

【8】配置本步驟結(jié)束后步驟之間的等待時間。

【9】配置本步驟發(fā)生錯誤的錯誤處理方法。

7.2.3 診斷步驟類型

測試步驟中,為了增加診斷配置的靈活性,設計了4種類型可供選擇,主要包含:普通步驟,選擇已有配置,種子和密鑰,測試儀在線。通過這4種類型,基本上涵蓋了市面上所有主流的診斷流程需求,下面詳細介紹每種類型的特點。如圖7-6。

bd96562c-f92b-11ee-9118-92fbcf53809c.jpg圖7-6 ?診斷步驟類型

【1】普通步驟:主要用于一些簡單的請求數(shù)據(jù)和應答數(shù)據(jù)都很直接的場合。直接在請求服務中填入想要發(fā)送的請求數(shù)據(jù),在應答服務中填入期望的應答報文,比如服務請求數(shù)據(jù)為【10 01】,服務應答數(shù)據(jù)為【50 01 12 34】。如圖7-7。如果有些服務不需要響應,則可以不設置有回復。

bdac11e2-f92b-11ee-9118-92fbcf53809c.jpg圖7-7 ?普通步驟類型

【2】選擇已有配置:該配置設計的目的,就是讓用戶選擇在基礎(chǔ)診斷設置中已經(jīng)配置好的診斷服務,這種方式是TSMaster最推薦的配置方式。選擇已有配置過程,如圖7-8所示。

bdb931d8-f92b-11ee-9118-92fbcf53809c.jpg圖7-8 ?選擇已有配置

【3】種子和密鑰:種子和密鑰只需要選擇種子等級和密鑰等級參數(shù)即可,解密的DLL直接關(guān)聯(lián)到傳輸層參數(shù)配置載入的種子和密鑰DLL中,如圖7-9所示:

bdcf2fd8-f92b-11ee-9118-92fbcf53809c.jpg圖7-9 ?種子和密鑰

對此,無論是在診斷控制臺模塊中,還是自動診斷流程模塊,都是需要先配置好傳輸層的參數(shù)配置。

【4】測試儀在線:為了支持更加靈活的測試需求,在自動化流程步驟中,提供了打開和關(guān)閉測試儀在線的命令選擇,以及配置該命令數(shù)據(jù)以及周期間隔:

▲ 是否啟動(start)/停止(stop)該命令,如圖7-10:

bddd883a-f92b-11ee-9118-92fbcf53809c.jpg圖7-10 ?啟動/停止測試儀在線命令

▲ 配置測試儀在線的命令的數(shù)據(jù)以及周期間隔,如7-10:

bdf0627a-f92b-11ee-9118-92fbcf53809c.jpg圖7-11 ?配置測試儀在線的命令

7.2.4 步驟間隔時間

診斷流程模塊步驟跟步驟之間的延時是可以設置的,單位為ms,如圖7-12:

be0cb0ec-f92b-11ee-9118-92fbcf53809c.jpg圖7-12 ?配置測試儀在線的命令

7.2.5 屬性

在屬性中,可以設置響應出錯后的以及本指令是停止還是繼續(xù)運行,如圖7-13所示:

be13411e-f92b-11ee-9118-92fbcf53809c.png圖7-13 ?屬性

在TSMaster后續(xù)產(chǎn)品規(guī)劃中,響應出錯后允許跳轉(zhuǎn)到指定的流程中(比如跳轉(zhuǎn)到擦除流程中),進一步增加自動運行流程模塊的靈活性。

7.2.6 使能步驟/位置調(diào)整

對于已經(jīng)完成配置的診斷流程步驟,用戶根據(jù)左邊的選擇框來勾選想要執(zhí)行的診斷步驟。如圖7-14。

關(guān)于執(zhí)行順序調(diào)整:無論是測試用例組,測試用例還是測試用例中的具體步驟,用戶想調(diào)整相互之間執(zhí)行順序的時候,直接拖拽對應的測試用例到相應位置即可。

be2f3e1e-f92b-11ee-9118-92fbcf53809c.jpg圖7-14 ?診斷流程步驟使能

7.3診斷模塊的內(nèi)生系統(tǒng)變量

在TSMaster新添加基礎(chǔ)診斷模塊后,系統(tǒng)變量管理器會自動生成所有者為診斷模塊Diagnostic的系統(tǒng)變量,通過修改系統(tǒng)變量可以配置對應的參數(shù)。如圖7-15。

be3c30e2-f92b-11ee-9118-92fbcf53809c.jpg圖7-15 ?診斷模塊系統(tǒng)變量

7.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客戶端時間。

7.3.2 診斷服務特定系統(tǒng)變量

在基礎(chǔ)診斷配置的復合診斷服務添加新的服務后,系統(tǒng)變量管理器同樣會生成對應的系統(tǒng)變量:服務名_DataFile,此變量為下載文件的絕對路徑,修改此變量可控制下載文件的載入與切換。如圖7-16。

be5c01a6-f92b-11ee-9118-92fbcf53809c.jpg圖7-16 ?下載文件路徑系統(tǒng)變量

此外,當載入下載文件后,系統(tǒng)變量控制器會根據(jù)選擇的校驗和算法生成每塊校驗和,及總校驗和,下載文件的首地址和長度,如果已經(jīng)添加了符合診斷服務,載入了下載文件,并且在基本診斷服務中關(guān)聯(lián)了下載文件相關(guān)變量,那么在替換下載文件的同時,這些關(guān)聯(lián)的變量也會隨之改變,最小的工程修改實現(xiàn)文件的靈活切換。

7.3.3 自動診斷流程的注冊系統(tǒng)變量

在診斷控制臺中可以根據(jù)需要靈活配置診斷服務,這些診斷服務配置好后,用戶需要在診斷控制臺中雙擊啟動該診斷服務。

如果用戶希望在Panel界面中或者程序中啟動診斷流程命令,步驟如下:

【1】首先在診斷Basic Diagnostic Config窗體中,選中目標服務,然后右鍵菜單把該診斷服務注冊為系統(tǒng)變量,如圖7-17所示。

be7e09f4-f92b-11ee-9118-92fbcf53809c.jpg圖7-17 ?診斷服務注冊為系統(tǒng)變量

注冊完成后,該流程的圖標多出3個小彩圓,表示成為一個注冊系統(tǒng)變量的服務,未注冊的流程為藍色圓,如圖7-18所示:

be96f824-f92b-11ee-9118-92fbcf53809c.jpg圖7-18 ?注冊為系統(tǒng)變量的圖標變化

【2】注冊完成后,在系統(tǒng)變量管理器中,就可以看到生成系統(tǒng)變量_Start和_Result如圖7-19。

bec8eca8-f92b-11ee-9118-92fbcf53809c.jpg圖7-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控件,并關(guān)聯(lián)生成好的系統(tǒng)變量流程名_Start,將將按鈕按下事件設置為1,如圖7-20。

bed828d0-f92b-11ee-9118-92fbcf53809c.jpg圖7-20 ?面板按鈕控件關(guān)聯(lián)系統(tǒng)變量

【4】運行程序,點擊Panel的測試按鈕,將值1賦給流程名_Start,診斷模塊執(zhí)行相應的診斷流程,實現(xiàn)自動運行診斷流程。

8、DoIP診斷典型應用

本文設計了一個簡單的 BootLoader 流程來說明如何基于 TSMaster DoIP模塊配置一個Flash BootLoader 流程。


8.1 配置刷寫例程

【1】首先創(chuàng)建UDS流程:注意切換編輯器為解鎖狀態(tài),否則無法添加新的流程步驟。如圖8-1。

bef534c0-f92b-11ee-9118-92fbcf53809c.jpg

圖8-1 解鎖編輯器

【2】切換默認會話,切換擴展會話,然后切換整車制造商自定義會話,在基礎(chǔ)診斷配置先提前配置好,如圖8-2。然后在自動診斷流程中使用選擇已有配置進行添加,如圖8-3。

bf12c30a-f92b-11ee-9118-92fbcf53809c.jpg圖8-2 基礎(chǔ)診斷配置會話服務bf18974e-f92b-11ee-9118-92fbcf53809c.jpg圖8-3 ?切換默認會話、擴展會話、整車制造商自定義會話

【3】添加種子和密鑰步驟,解鎖ECU,如圖8-4。

bf211b94-f92b-11ee-9118-92fbcf53809c.png圖8-4 ?種子和密鑰步驟


【4】基于讀取ID:F080位置處的數(shù)據(jù)。

方式1:使用普通步驟配置形式,如圖8-5。

bf2f4818-f92b-11ee-9118-92fbcf53809c.png圖8-5? 普通步驟讀取DID F188零件號


方式2:在基礎(chǔ)診斷配置中配置好,然后在流程中使用選擇已有配置,如圖8-6。

bf406dbe-f92b-11ee-9118-92fbcf53809c.jpg圖8-6 ?選擇已有配置讀取DID F080

【5】接著在IDF086處寫入數(shù)據(jù)20 11 20 00 00 00 00 00 00,如圖8-7。

bf55f3c8-f92b-11ee-9118-92fbcf53809c.png圖8-7 ?IDF186處寫入字符串

【6】檢查刷寫前提條件,如圖8-8。

bf5fb354-f92b-11ee-9118-92fbcf53809c.png圖8-8 ?檢查刷寫前提條件

【7】添加FlashDriver/應用程序文件流程。首先在基礎(chǔ)診斷配置添加FlashDriver和應用程序文件,如圖8-9。

bf6e0094-f92b-11ee-9118-92fbcf53809c.jpg圖8-9 ?基礎(chǔ)診斷配置添加刷寫文件

然后在自動診斷流程中選擇相應的已有配置,選擇創(chuàng)建好的組合下載服務。如圖8-10。

bf836128-f92b-11ee-9118-92fbcf53809c.jpg圖8-10 ?選擇已有的組合下載服務

【8】采用例程控制擦除Flash。通過診斷基礎(chǔ)設置配置好后擦除指令,將起始地址和數(shù)據(jù)長度的系統(tǒng)變量,通過系統(tǒng)變量的方式添加請求參數(shù),如圖8-11。

bf98f1b4-f92b-11ee-9118-92fbcf53809c.jpg圖8-11 ?診斷基礎(chǔ)配置擦除指令

然后通過選擇已有配置加入到流程中。如圖8-12。

bfaec386-f92b-11ee-9118-92fbcf53809c.png圖8-12 ?例程控制擦除Flash

8.2 DoIP診斷流程一鍵運行

在完成配置后,總的配置流程如圖8-13所示。

bfb5e940-f92b-11ee-9118-92fbcf53809c.jpg圖8-13 ?完成Flash BootLoader配置流程

連接以太網(wǎng)被測件之后,通過按鈕一鍵執(zhí)行自動診斷流程,當每個步驟都是正響應時,會顯示為綠色,如圖8-14。

bfba0eee-f92b-11ee-9118-92fbcf53809c.jpg圖8-14 ?一鍵執(zhí)行自動診斷流程

在Ethernet報文消息中可以查看完整的DoIP BootLoader刷寫流程,也可以使用總線記錄將過程報文記錄成blf文件保存。

bfd339c8-f92b-11ee-9118-92fbcf53809c.png圖8-15 ?Ethernet診斷流程報文

以上,基于TSMaster的DoIP模塊,實現(xiàn)零代碼方式,可以非常簡單快速地開發(fā)基于以太網(wǎng)的DoIP診斷流程應用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5343

    瀏覽量

    170799
  • MASTER
    +關(guān)注

    關(guān)注

    0

    文章

    102

    瀏覽量

    11246
  • 車載以太網(wǎng)
    +關(guān)注

    關(guān)注

    18

    文章

    215

    瀏覽量

    22913
收藏 人收藏

    評論

    相關(guān)推薦

    車載以太網(wǎng)線束傳輸性能——汽車線束故障定位實際測試結(jié)果分析#車載以太網(wǎng)

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年08月16日 18:13:19

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)的區(qū)別

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)在多個方面存在顯著的差異,這些差異主要體現(xiàn)在傳輸速率、實時性、可靠性、物理層標準、應用場景以及技術(shù)發(fā)展等方面。
    的頭像 發(fā)表于 07-25 11:12 ?1300次閱讀

    車載以太網(wǎng)的優(yōu)勢和應用

    車載以太網(wǎng)作為一種新興的車載網(wǎng)絡技術(shù),正在逐漸成為汽車行業(yè)中的關(guān)鍵技術(shù)之一。其優(yōu)勢在于高帶寬、低延遲、高可靠性以及良好的兼容性和拓展性,這些特點使得車載
    的頭像 發(fā)表于 07-25 11:08 ?657次閱讀

    車載以太網(wǎng)性能優(yōu)化方案

    車載以太網(wǎng)開發(fā)過程中,我們最為常見的應用層協(xié)議主要是SOMEIP與DOIP兩大類協(xié)議,其中SOMEIP協(xié)議作為實現(xiàn)SOA架構(gòu)的一種重要實現(xiàn)手段被廣泛應用,DOIP協(xié)議則針對大文件的刷
    的頭像 發(fā)表于 07-25 10:36 ?577次閱讀
    <b class='flag-5'>車載</b><b class='flag-5'>以太網(wǎng)</b>性能優(yōu)化方案

    CANape&VN5620監(jiān)控記錄以太網(wǎng)數(shù)據(jù)操作演示#車載以太網(wǎng) #CANape

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年06月11日 15:53:15

    使用VN5620監(jiān)控記錄以太網(wǎng)總線數(shù)據(jù)#車載以太網(wǎng) #CANape

    以太網(wǎng)硬件
    北匯信息POLELINK
    發(fā)布于 :2024年06月09日 16:45:04

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

    以太網(wǎng)DoIP的診斷功能TSMaster的CANUDS診斷操作指南(上)篇,主要是針對UDS
    的頭像 發(fā)表于 06-08 08:21 ?2001次閱讀
    <b class='flag-5'>TSMaster</b> 的 CAN UDS 診斷<b class='flag-5'>操作</b><b class='flag-5'>指南</b>(上)

    車載以太網(wǎng)硬件接口VN5620設備展示與介紹#車載以太網(wǎng)

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年05月31日 10:27:03

    車載以太網(wǎng)硬件接口VN5650--基于Network-based模式的配置過程#車載以太網(wǎng) #CANoe

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年05月15日 17:28:47

    車載以太網(wǎng)接口VN5650使用場景介紹#車載以太網(wǎng)

    以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2024年05月11日 17:58:05

    車載以太網(wǎng)硬件接口VN5650配置模式--Network-based mode 功能介紹#車載以太網(wǎng)

    以太網(wǎng)接口
    北匯信息POLELINK
    發(fā)布于 :2024年05月11日 17:13:47

    車載以太網(wǎng)靜態(tài)架構(gòu)介紹

    AutoSAR是一種開放的、標準化的汽車電子軟件架構(gòu),旨在提高汽車電子系統(tǒng)的研發(fā)效率和質(zhì)量。車載以太網(wǎng)作為一種高速、可靠的通信技術(shù),已經(jīng)成為現(xiàn)代汽車電子系統(tǒng)的關(guān)鍵技術(shù)之一。在AutoSAR中,車載
    的頭像 發(fā)表于 01-19 18:00 ?993次閱讀
    <b class='flag-5'>車載</b><b class='flag-5'>以太網(wǎng)</b>靜態(tài)架構(gòu)介紹

    車載以太網(wǎng):優(yōu)勢、技術(shù)與應用實踐

    車載以太網(wǎng)能在汽車領(lǐng)域普及主要是根據(jù)高速率和強突破性這兩個特點。現(xiàn)在100M和1000M基本上被每個OEM都以這樣那樣的方式使用,或者計劃使用。2.5G、5G、10G技術(shù)正在應勢而生,很多廠家推出了對應工具。另外,從傳統(tǒng)以太網(wǎng)
    的頭像 發(fā)表于 11-21 16:44 ?1312次閱讀
    <b class='flag-5'>車載</b><b class='flag-5'>以太網(wǎng)</b>:優(yōu)勢、技術(shù)與應用實踐

    PC電腦如何讀取車載以太網(wǎng)接口的激光雷達數(shù)據(jù)

    電腦的普通以太網(wǎng)如何讀取車載以太網(wǎng)接口的激光雷達數(shù)據(jù)呢?智嵌物聯(lián)自主研發(fā)的一款百兆車載以太網(wǎng)轉(zhuǎn)換器,可以實現(xiàn)普通
    的頭像 發(fā)表于 11-18 15:09 ?1080次閱讀
    PC電腦如何讀取<b class='flag-5'>車載</b><b class='flag-5'>以太網(wǎng)</b>接口的激光雷達數(shù)據(jù)