吴忠躺衫网络科技有限公司

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

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

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

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

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

TSMaster 可以少代碼甚至零代碼就可以完成診斷流程開發(fā),診斷開發(fā)人員只需要熟悉診斷流程,就能打通研發(fā)、產(chǎn)線、售后整條鏈路環(huán)節(jié)。

TSMaster 的 UDS 診斷功能不僅支持 CAN, LIN,同時也支持以太網(wǎng)的 DoIP 的診斷功能,TSMaster 的 CAN UDS 診斷操作指南(上)篇,主要是針對UDS 診斷模塊的創(chuàng)建、CAN UDS 診斷傳輸層配置和TSMaster 基礎(chǔ)診斷配置進行講解。

本文關(guān)鍵詞:UDS,基礎(chǔ)診斷,診斷系統(tǒng)變量

目錄

Catalog

1.TSMaster 的 UDS 診斷模塊的創(chuàng)建

2.CAN UDS 診斷傳輸層配置

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

TSMaster 的 UDS 診斷模塊的創(chuàng)建

TSMaster 的 UDS 診斷模塊的創(chuàng)建流程如下:

Step1:診斷模塊位于主菜單【應(yīng)用】->【診斷模塊】,如下圖 1-1。

072ec1a2-252d-11ef-bd4a-92fbcf53809c.png

圖 1-1 診斷模塊

Step2:【添加基礎(chǔ)診斷】模塊,可以添加多個 CAN 基礎(chǔ)診斷模塊,如圖 1-2。

075606fe-252d-11ef-bd4a-92fbcf53809c.png

圖 1-2 添加 CAN 基礎(chǔ)診斷模塊


TSMaster 支持創(chuàng)建多個診斷模塊,并通過多通道的同星 CAN 卡進行綁定,可以同時與多個UDS診斷 ECU進行連接和診斷交互,進一步可以實現(xiàn)多個ECU的同步診斷刷寫功能。

CAN UDS 診斷傳輸層配置

TSMaster 提供了診斷傳輸層的配置功能,用戶可以根據(jù)需求配置相應(yīng)的傳輸層配置比如總線類型、請求和應(yīng)答 ID、FD 可變波特率、安全算法等等一系列配置。

1.

診斷傳輸層

CAN 診斷傳輸層 ISO TP,包含診斷傳輸層和診斷服務(wù)層參數(shù),如圖 2-1 所示。

079a22a8-252d-11ef-bd4a-92fbcf53809c.png

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

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

● 總線類型:診斷傳輸層類型

使用同星 UDS on CAN/CANFD 功能可以選擇總線類型為【CAN】或者【CANFD】,通過下拉列表可以選擇,如圖 2-2 所示:

07e460d4-252d-11ef-bd4a-92fbcf53809c.png

圖 2-2 CAN/CANFD 診斷總線類型


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

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

08271e88-252d-11ef-bd4a-92fbcf53809c.jpg

圖 2-3 傳輸層通道選擇

● 請求 ID: 設(shè)置診斷模塊 PC 工具端的診斷請求 ID。

● 請求 ID 類型:設(shè)置診斷模塊 PC 工具端的診斷請求 ID 類型,0 是標準幀(11 位),1 是擴展幀(29 位),如圖 2-4 所示。

08642a12-252d-11ef-bd4a-92fbcf53809c.png

圖 2-4 請求 ID 類型選擇

● 應(yīng)答 ID:設(shè)置診斷模塊 PC 工具端的診斷應(yīng)答 ID

● 應(yīng)答 ID 類型:設(shè)置診斷模塊 PC 工具端的診斷應(yīng)答 ID 類型,0 是標準幀(11 位),1 是擴展幀(29 位)。


● 功能 ID:設(shè)置診斷模塊 PC 工具端的診斷功能 ID

● 功能 ID 類型:設(shè)置診斷模塊 PC 工具端的診斷功能 ID 類型,0 是標準幀(11 位),1 是擴展幀(29 位)。


● 發(fā)送填充字節(jié):傳輸過程中,實際有效字節(jié)不足一個 CAN 報文數(shù)據(jù)端的時候,剩余數(shù)據(jù)段進行填充字節(jié)。比如一幀 CAN 報文 8 個字節(jié),如果有效傳輸字節(jié)是[0x02,0x10,0x02],填充字節(jié)是 0xAA,則實際的報

文字節(jié)是[0x02,0x10,0x02,0xAA,0xAA,0xAA,0xAA,0xAA]。


●接收幀間隔:接收連續(xù)幀最小幀間隔(ms)。TSMaster 診斷模塊作為接收端,在接收連續(xù)幀報文的時候能夠支持的診斷幀之間的最短時間間隔,這個參數(shù)是回復給診斷客戶端的。設(shè)置為 0,表示支持以最短的時間間隔接收。


● 用戶自定義發(fā)送幀間隔:發(fā)送連續(xù)幀最小間隔由用戶確定,具體間隔時間由【發(fā)送幀間隔】的值設(shè)定。


● 發(fā)送幀間隔:發(fā)送連續(xù)幀最小間隔。

● 發(fā)送塊大?。篢SMaster 診斷模塊作為發(fā)送端,在發(fā)送連續(xù)幀報文的時候一次能夠發(fā)送的數(shù)據(jù)塊的大小。設(shè)置為 0,表示一次性能夠發(fā)送任意大小的數(shù)據(jù)塊。


● FC 幀后間隔:表示發(fā)送流控幀與發(fā)送第一幀連續(xù)幀之間的最大時間間隔。


● FD 最大 DLC:FD 幀的最大 DLC 值,該參數(shù)只在有【總線類型】為CAN FD 模式下才有效。如圖 2-5 所示:

0890af4c-252d-11ef-bd4a-92fbcf53809c.png

圖 2-5 FD 幀的最大 DLC

● FD 可變波特率:可以選擇是否開啟可變波特率模式。

● 最大長度:服務(wù)層數(shù)據(jù)包的最大長度。該參數(shù)對于普通 CAN/LIN 是無意義的。


比如,多幀傳輸時 DLC 長度=8 字節(jié),首幀(First Frame)采用第 0 字節(jié)低四位加第一個字節(jié)的 8 位,共 12Bit 表示一次傳輸?shù)陌拇笮?,也就是最?4095個字節(jié),如下表所示:

08e270de-252d-11ef-bd4a-92fbcf53809c.png


當使用 CANFD 協(xié)議時,設(shè)置 DLC 長度>8 字節(jié),可以采用更多的 Bits 來傳輸信息。因此,CANFD 的傳輸層支持采用第 2,3,4,5 四個字節(jié)共 32bit 來傳輸一個數(shù)據(jù) Block 的長度,換句話說,CANFD 的傳輸層一次支持傳輸最多 4 個 G 的數(shù)據(jù)。具體支持多少,可由用戶自主進行配置。

08fc779a-252d-11ef-bd4a-92fbcf53809c.png

注意:第一個字節(jié) Byte0 的高四位=1,表示該幀是首幀(First Frame),無論是 CAN 還是 Classical CAN 的傳輸層都是如此。

2.

診斷服務(wù)層

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

0924bfd4-252d-11ef-bd4a-92fbcf53809c.png

圖 2-6 診斷服務(wù)層參數(shù)

2.1 P2 時間參數(shù)

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


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


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

094ea3da-252d-11ef-bd4a-92fbcf53809c.png

圖 2-7 P2 時間參數(shù)設(shè)置

2.2 診斷儀在線

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

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


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


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

09863cfa-252d-11ef-bd4a-92fbcf53809c.png

圖 2-8 S3 時間參數(shù)設(shè)置

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

09e1f89c-252d-11ef-bd4a-92fbcf53809c.png

圖 2-9 診斷儀在線設(shè)置

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


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

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

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

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

2.3 種子密鑰

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

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

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


載入動態(tài)鏈接庫加載界面,如圖 2-10 所示:

0a18aec8-252d-11ef-bd4a-92fbcf53809c.png

圖 2-10 載入動態(tài)鏈接庫

圖標從左往右依次為:

【1】 加載 DLL

【2】 刪除 DLL

【3】 打開 DLL 校驗器,通過 DLL 校驗器,用戶可以判斷加載的 DLL 接口是否正確,算法是否符合設(shè)計要求。比如,用戶選擇 Seed 的 Level 過后,輸入 Seed

值,點擊 GenKey 進行判斷。如果該 DLL 接口跟模板定義接口統(tǒng)一,則會輸出提示信息:Generate Key Success,然后用戶根據(jù) Key 值跟目標值對比,進一步確認 DLL 中的算法是否符合設(shè)計要求。如圖 2-11。

0a18aec8-252d-11ef-bd4a-92fbcf53809c.png

圖 2-11 SeedKey 校驗器

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

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

函數(shù)接口 1:

unsigned int GenerateKeyEx(

const unsigned char* ipSeedArray, /* Array for the seed [in] */

unsigned int iSeedArraySize,

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

const unsigned int iSecurityLevel,/* Security level [in] */

const char* ipVariant,

/* Name of the active variant [in] */

unsigned char* iopKeyArray,

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

unsigned int iMaxKeyArraySize, /* Maximum length of the array for the key

[in] */

unsigned int& oActualKeyArraySize);

/* Length of the key [out] */

函數(shù)接口 2:

unsigned int GenerateKeyExOpt(

const unsigned char* ipSeedArray, /* Array for the seed [in] */

unsigned int iSeedArraySize, /* Length of the array for the seed [in] */

const unsigned int iSecurityLevel, /* Security level [in] */

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

const char* iPara, /* */

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

unsigned int iMaxKeyArraySize, /* Maximum length of the array for the key [in]

*/

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

函數(shù)接口 3:

bool ASAP1A_CCP_ComputeKeyFromSeed(

const unsigned char* ipSeedArray, /* Array for the seed [in] */

unsigned short iSeedArraySize, /* Length of the array for the seed [in] */

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

unsigned short iMaxKeyArraySize, /* Maximum length of the array for the key

[in] */

unsigned short* opSizeKey) /* Length of the key [out] */

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

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


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

0a6d84b6-252d-11ef-bd4a-92fbcf53809c.png

圖 2-12 二次封裝流程

第一步,查看當前的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 值,并計算對應(yīng)的 Key值。GenerateKeyEx 工程二次封裝示例,如圖 2-13。

0a9c887e-252d-11ef-bd4a-92fbcf53809c.jpg

圖 2-13GenerateKeyEx 工程二次封裝示例


第 三 步, 該 GenerateKeyEx 工 程 開 發(fā) 結(jié) 束 后 , TSMaster 直 接 加 載GenerateKeyEx 所在的 DLL。需要注意的是,用戶需要把現(xiàn)有的 UserSeedKey.DLL

拷貝到 TSMaster 根目錄或者 GenerateKeyEx.DLL 所在的目錄。如果不拷貝過去,GenerateKeyEx.DLL 執(zhí)行的時候會出現(xiàn)找不到對應(yīng)依賴 DLL 的情況,解鎖失敗。

2.3.2 編寫 SeedKey 代碼

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

0ac08436-252d-11ef-bd4a-92fbcf53809c.png

圖 2-14 內(nèi)置算法編輯器

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

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

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

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

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

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

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


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

0aff2880-252d-11ef-bd4a-92fbcf53809c.png

圖 2-15 函數(shù) return 返回值

TSMaster 基礎(chǔ)診斷配置

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

0b1d88f2-252d-11ef-bd4a-92fbcf53809c.png

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

1.

添加刪除服務(wù)命令

把鼠標放到需要添加和刪除的服務(wù)命令上方,右鍵展開,選擇是否需要添加和刪除該服務(wù),如下圖所示:

0b75218e-252d-11ef-bd4a-92fbcf53809c.png

圖 3-2 添加和刪除的服務(wù)命令

2.

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

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

0baff426-252d-11ef-bd4a-92fbcf53809c.jpg

圖 3-3 配置基本診斷參數(shù)

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

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

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

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

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

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

0be4f428-252d-11ef-bd4a-92fbcf53809c.png

圖 3-4 新增與刪除參數(shù)

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

0c0e05fc-252d-11ef-bd4a-92fbcf53809c.png

圖 3-5 請求與應(yīng)答參數(shù)設(shè)置

3.

診斷服務(wù)參數(shù)

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

0c36d130-252d-11ef-bd4a-92fbcf53809c.png

圖 3-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)變量自身定義所決定。

4.

配置組合服務(wù)

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

4.1 通用配置

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

0c7b7a42-252d-11ef-bd4a-92fbcf53809c.png

圖 3-7 通用配置

【1】服務(wù)名稱:配置該服務(wù)的名稱

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

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

0cb7332a-252d-11ef-bd4a-92fbcf53809c.png

圖 3-8 查看載入的下載文件

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

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

0d1254b2-252d-11ef-bd4a-92fbcf53809c.png

圖 3-9 支持自定義 CRC 算法導入與修改

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

0d4f7450-252d-11ef-bd4a-92fbcf53809c.png

圖 3-10 文件與數(shù)據(jù)塊檢驗和值

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

0d868512-252d-11ef-bd4a-92fbcf53809c.jpg

圖 3-11 檢驗和系統(tǒng)變量

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

0dbf8efc-252d-11ef-bd4a-92fbcf53809c.png

圖 3-12 檢驗和系統(tǒng)變量添加到服務(wù)參數(shù)

4.2 擦除 Flash 配置

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

0df73bb8-252d-11ef-bd4a-92fbcf53809c.png

圖 3-13 擦除 Flash 配置

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

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

0e51a378-252d-11ef-bd4a-92fbcf53809c.png

圖 3-14 請求和傳輸數(shù)據(jù)配置

4.4 傳輸退出配置

傳輸退出配置,可以設(shè)置如下配置,如圖 3-15:

● 無校驗

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

●用戶自定義

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

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

0e7a6c54-252d-11ef-bd4a-92fbcf53809c.png

圖 3-15 傳輸退出配置

4.5 擴展

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

0eb3628e-252d-11ef-bd4a-92fbcf53809c.png

圖 3-16 擴展配置

4.6 輔助

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

0edb06e0-252d-11ef-bd4a-92fbcf53809c.png

圖 3-17 下載文件分割設(shè)置

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

    關(guān)注

    57

    文章

    2769

    瀏覽量

    464379
  • 診斷系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    11799
  • MASTER
    +關(guān)注

    關(guān)注

    0

    文章

    104

    瀏覽量

    11329
收藏 人收藏

    評論

    相關(guān)推薦

    TSMasterCAN UDS 診斷操作指南(下)

    上期,我們主要介紹了UDS診斷模塊的創(chuàng)建以及TSMaster基礎(chǔ)診斷配置。很多客戶表示意猶未盡。因此我們將繼續(xù)帶來《TSMaster的CAN
    的頭像 發(fā)表于 06-18 08:21 ?2071次閱讀
    <b class='flag-5'>TSMaster</b> 的 <b class='flag-5'>CAN</b> <b class='flag-5'>UDS</b> <b class='flag-5'>診斷</b><b class='flag-5'>操作</b><b class='flag-5'>指南</b>(下)

    TSMaster 中不同總線報文消息過濾的操作方式

    同。今天重點和大家分享一下關(guān)于TSMaster中報文消息過濾的多種方式操作。本文關(guān)鍵字:CAN、LIN、FlexRay、報文消息過濾目錄Catalog1.CAN報文消
    的頭像 發(fā)表于 06-22 08:21 ?1652次閱讀
    <b class='flag-5'>TSMaster</b> 中不同總線報文消息過濾的<b class='flag-5'>操作</b>方式

    誰能幫我解答下CAN總線中的UDS診斷?

    誰能幫我解答下CAN中的UDS診斷?需要聯(lián)系請私信我。遇到好多難題。有點懵。想請高手幫我解答下.主要是沒有程序。而且還不知道報文里面的數(shù)據(jù)代表什么?
    發(fā)表于 10-21 23:14

    UDS診斷命令備忘錄

    UDS實踐性強,邏輯復雜,很多服務(wù)非要體驗過一次才能理解,導致包括我在內(nèi)的初學者感覺晦澀難懂,不明覺厲,因此將自己的理解寫下來、整理下來,與君共勉。零、UDS診斷命令備忘錄一、簡介UDS
    發(fā)表于 08-26 16:09

    OBDII與UDS的區(qū)別是什么

    PrimaryECU在已經(jīng)開發(fā)完UDS診斷的基礎(chǔ)增加OBD II診斷一、OBD II與UDS的區(qū)別?這里主要介紹在
    發(fā)表于 02-23 06:55

    基于MM32F0140系列MCU實現(xiàn)UDS Bootloader的設(shè)計

    ?  CAN 是控制器域網(wǎng) (Controller Area Network, CAN)的簡稱,是一種功能豐富的車用總線標準,被設(shè)計用于在不需要主機(Host)的情況下,允許網(wǎng)絡(luò)的單芯片和儀器相互
    發(fā)表于 09-15 16:35

    【野火】瑞薩RA MCU創(chuàng)意氛圍賽+ 基于CAN總線的UDS診斷升級MCU /bootloader/UDS診斷/14229/15765

    基于can總線的UDS軟件升級 最近學習UDS診斷協(xié)議(ISO14229),是一項國際標準,為汽車電子系統(tǒng)中的診斷通信定義了統(tǒng)一的協(xié)議和服務(wù)
    發(fā)表于 06-13 01:26

    UDS常用診斷服務(wù)

    UDS診斷概述 UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務(wù))診斷協(xié)議是在汽車電子ECU環(huán)境下的一種
    的頭像 發(fā)表于 06-12 10:36 ?1.3w次閱讀
    <b class='flag-5'>UDS</b>常用<b class='flag-5'>診斷</b>服務(wù)

    新功能發(fā)布 | TSMaster診斷功能之Diagnostic TP參數(shù)配置

    TSMaster診斷TSMaster提供了診斷控制臺基礎(chǔ)功能,用戶可以根據(jù)需求配置自己的發(fā)送和應(yīng)答請求。按照如下步驟操作即可。A傳輸層參數(shù)各
    的頭像 發(fā)表于 05-31 11:03 ?2113次閱讀
    新功能發(fā)布 | <b class='flag-5'>TSMaster</b><b class='flag-5'>診斷</b>功能之Diagnostic TP參數(shù)配置

    新功能發(fā)布 | TSMaster診斷模塊之自動診斷流程

    TSMaster自動診斷流程TSMaster自動診斷流程主要是針對整個項目的診斷流程進行管理。本文主要講解流程應(yīng)用管理和配置
    的頭像 發(fā)表于 06-27 15:40 ?1469次閱讀
    新功能發(fā)布 | <b class='flag-5'>TSMaster</b><b class='flag-5'>診斷</b>模塊之自動<b class='flag-5'>診斷</b>流程

    新功能發(fā)布 | TSMaster診斷功能的典型應(yīng)用

    TSMaster典型應(yīng)用前面幾個章節(jié)主要介紹了關(guān)于TSMaster診斷模塊的一些基礎(chǔ)操作詳解,相信大家對TSMaster
    的頭像 發(fā)表于 07-04 09:27 ?1417次閱讀
    新功能發(fā)布 | <b class='flag-5'>TSMaster</b><b class='flag-5'>診斷</b>功能的典型應(yīng)用

    應(yīng)用筆記 | TSMaster使用教程—UDS刷寫流程

    今天給大家介紹基于TSMasterUDS診斷刷寫流程?;玖鞒讨饕譃榛緟?shù)配置、刷寫流程兩部分。1基本參數(shù)配置1、新建工程打開TSMaster軟件,選擇創(chuàng)建新工程-
    的頭像 發(fā)表于 01-06 09:53 ?4220次閱讀
    應(yīng)用筆記 | <b class='flag-5'>TSMaster</b>使用教程—<b class='flag-5'>UDS</b>刷寫流程

    基于CAN總線的UDS診斷Bootloader升級MCU工具

    今日跟大家分享參加野火【瑞薩RA MCU創(chuàng)意氛圍賽】選手的項目——基于CAN總線的UDS診斷Bootloader升級MCU工具。
    的頭像 發(fā)表于 08-21 14:01 ?2488次閱讀
    基于<b class='flag-5'>CAN</b>總線的<b class='flag-5'>UDS</b><b class='flag-5'>診斷</b>Bootloader升級MCU工具

    汽車UDS協(xié)議棧與XCP協(xié)議棧

    在車輛中進行故障診斷、參數(shù)配置和編程等操作。 UDS協(xié)議棧通常包含以下功能軟件: 通信層:負責處理UDS協(xié)議的通信,包括CAN總線通信、LI
    的頭像 發(fā)表于 10-27 16:35 ?4431次閱讀
    汽車<b class='flag-5'>UDS</b>協(xié)議棧與XCP協(xié)議棧

    TSMaster 總線記錄功能操作指南

    總線記錄主要是指對CAN、LIN、FlexRay,Ethernet等總線系統(tǒng)的通信數(shù)據(jù)進行記錄和分析,是工程師在故障診斷、性能分析和數(shù)據(jù)記錄方面的重要工具,作為TSMaster軟件中使用率很高
    的頭像 發(fā)表于 03-05 08:21 ?806次閱讀
    <b class='flag-5'>TSMaster</b> 總線記錄功能<b class='flag-5'>操作</b><b class='flag-5'>指南</b>
    潞城市| 百家乐关键词| 百家乐赌场优势| 高陵县| 加州百家乐娱乐城| 大发888下载| 姚记百家乐官网的玩法技巧和规则| 全讯网| 云鼎百家乐官网作弊| 大发888 casino下载| 万龙百家乐官网的玩法技巧和规则 | 赌博百家乐官网判断决策| 成都百家乐的玩法技巧和规则| 百家乐官网投注五揽式| 威尼斯人娱乐场 送2688元礼金领取lrm64 | 爱婴百家乐的玩法技巧和规则 | 金盈娱乐| 百家乐赌博网址| 如何玩百家乐官网扑克| 十三张百家乐的玩法技巧和规则 | 阳曲县| 百家乐十赌九诈| 百家乐官网视频软件下载| 娱乐城百家乐的玩法技巧和规则| 百家乐官网桌布橡胶| 大发888娱乐官方| 免费百家乐官网统计| BET365官方网| 乐天堂百家乐娱乐场| 百家乐官网投注程式| 大发888为什么打不开| 恒利百家乐官网的玩法技巧和规则 | 百家乐官网现金平台排名| 免费百家乐预测软件| KTV百家乐官网的玩法技巧和规则| 同乐成娱乐| 大杀器百家乐学院| 百家乐官网娱乐备用网址| 宝马会娱乐城网址| 什么是百家乐的大路| 百家乐官网真人斗地主|