一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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,同時(shí)也支持以太網(wǎng)的 DoIP 的診斷功能,TSMaster 的 CAN UDS 診斷操作指南(上)篇,主要是針對UDS 診斷模塊的創(chuàng)建、CAN UDS 診斷傳輸層配置和TSMaster 基礎(chǔ)診斷配置進(jìn)行講解。

本文關(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ǔ)診斷】模塊,可以添加多個(gè) CAN 基礎(chǔ)診斷模塊,如圖 1-2。

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

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


TSMaster 支持創(chuàng)建多個(gè)診斷模塊,并通過多通道的同星 CAN 卡進(jìn)行綁定,可以同時(shí)與多個(gè)UDS診斷 ECU進(jìn)行連接和診斷交互,進(jìn)一步可以實(shí)現(xiàn)多個(gè)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 支持多個(gè)診斷模塊同時(shí)在線工作,這里用于選擇當(dāng)前診斷模塊的應(yīng)用邏輯通道,通過下拉列表進(jìn)行選擇,如圖 2-3 所示:

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

圖 2-3 傳輸層通道選擇

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

● 請求 ID 類型:設(shè)置診斷模塊 PC 工具端的診斷請求 ID 類型,0 是標(biāo)準(zhǔn)幀(11 位),1 是擴(kuò)展幀(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 是標(biāo)準(zhǔn)幀(11 位),1 是擴(kuò)展幀(29 位)。


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

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


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

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


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


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


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

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


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


● 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 是無意義的。


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

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


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

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

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

2.

診斷服務(wù)層

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

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

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

2.1 P2 時(shí)間參數(shù)

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


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


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

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

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

2.2 診斷儀在線

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

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


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


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

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

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

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

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

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

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


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

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

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

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

2.3 種子密鑰

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

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

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


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

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

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

圖標(biāo)從左往右依次為:

【1】 加載 DLL

【2】 刪除 DLL

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

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

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

圖 2-11 SeedKey 校驗(yàn)器

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

在 TSMaster 安裝目錄中,提供了封裝 Seed&Key 算法的模板工程。如GenerateKeyEx,GenerateKeyExOpt ASAP1A_CCP_ComputeKeyFromSeed,基于此模板工程開發(fā)即可得到能夠直接加載的 DLL 函數(shù)。TSMaster 默認(rèn)支持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,同時(shí)該 DLL 的接口不是上述三種中的任何一種,則無法直接加載到 TSMaster 的診斷模塊中。對此,可以通過二次封裝的形式將存在的 SeedKey 算法庫進(jìn)行包裝,生成可以直接加載到 TSMaster 診斷模塊中的 DLL 。


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

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

圖 2-12 二次封裝流程

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


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

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

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


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

第二步,選擇 TSMaster 安裝目錄中提供的 GenerateKeyEx 的模板工程,在該工程中用上述 DLL 的函數(shù)接口?;舅悸肥牵?/p>


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

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

3. 如果獲取函數(shù)指針成功,則使用該函數(shù)指針傳輸 Seed 值,并計(jì)算對應(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í)行的時(shí)候會(huì)出現(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】打開算法校驗(yàn)器,可以于檢查算法結(jié)果是否正確;

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

【4】可用于導(dǎo)出所編寫代碼的為 DLL 文件;

【5】選擇一個(gè)需要的 SeedKey 函數(shù)接口,并支持?jǐn)U展自定義函數(shù)接口;

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

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


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

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

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

TSMaster 基礎(chǔ)診斷配置

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

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

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

1.

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

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

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

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

2.

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

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

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

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

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

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

【3】 是否有回復(fù):用戶可配置是否檢查此服務(wù)的回復(fù)內(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ù)。比如診斷請求會(huì)話里的診斷會(huì)話類型參數(shù)是必選設(shè)置,而參數(shù)列表是可選的。在修改配置后,界面上方會(huì)實(shí)時(shí)顯示實(shí)際診斷報(bào)文的示例報(bào)文,如請求協(xié)議數(shù)據(jù)包是:【10 01 xx xx】:xx 表示該參數(shù)是可變的,根據(jù)用戶實(shí)際填入的數(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:單精度浮點(diǎn)數(shù),數(shù)據(jù)長度為固定的 32bits。用戶直接輸入輸出浮點(diǎn)數(shù)據(jù)。

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

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

【6】 ASCII:ASCII 字符串,數(shù)據(jù)長度為 8 的倍數(shù)。輸入數(shù)據(jù)為 ASCII 字符數(shù)組,轉(zhuǎn)化為 16 進(jìn)制后進(jìn)行發(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ù)配置、傳輸退出配置、擴(kuò)展和輔助的配置。如下詳細(xì)介紹每個(gè)配置。

4.1 通用配置

通用配置中支持加載下載文件格式為 hex/bin/s19/mot/srec/vdf 等等??梢詫ζ鹗嫉刂泛蛿?shù)據(jù)長度的字節(jié)數(shù)修改,調(diào)調(diào)整校驗(yàn)和字節(jié)序和自定義 CRC 校驗(yàn)算法導(dǎo)入和修改,并可通過下載文件查看器下載文件內(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 文件的詳細(xì)信息,如圖 3-8 所示。

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

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

【4】地址和長度標(biāo)識符??尚薷钠鹗嫉刂泛蛿?shù)據(jù)長度的字節(jié)。

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

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

圖 3-9 支持自定義 CRC 算法導(dǎo)入與修改

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

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

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

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

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

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

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

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

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

4.2 擦除 Flash 配置

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

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

圖 3-13 擦除 Flash 配置

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

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

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

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

4.4 傳輸退出配置

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

● 無校驗(yàn)

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

●用戶自定義

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

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

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

圖 3-15 傳輸退出配置

4.5 擴(kuò)展

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

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

圖 3-16 擴(kuò)展配置

4.6 輔助

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

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

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

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

    關(guān)注

    57

    文章

    2921

    瀏覽量

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

    關(guān)注

    0

    文章

    41

    瀏覽量

    12018
  • MASTER
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    11745
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    TSMasterCAN UDS 診斷操作指南(下)

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

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

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

    UDS診斷命令備忘錄

    UDS實(shí)踐性強(qiáng),邏輯復(fù)雜,很多服務(wù)非要體驗(yàn)過一次才能理解,導(dǎo)致包括我在內(nèi)的初學(xué)者感覺晦澀難懂,不明覺厲,因此將自己的理解寫下來、整理下來,與君共勉。零、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實(shí)現(xiàn)UDS Bootloader的設(shè)計(jì)

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

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

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

    UDS診斷協(xié)議在純電動(dòng)汽車電機(jī)控制器中的應(yīng)用說明

      針對UDS診斷協(xié)議在電動(dòng)汽車電機(jī)控制器中的應(yīng)用問題,利用UDS診斷協(xié)議中各項(xiàng)服務(wù)的功能,同時(shí)根據(jù)電機(jī)控制器的功能需求,實(shí)現(xiàn)UDS
    發(fā)表于 04-02 17:16 ?8次下載

    UDS常用診斷服務(wù)

    UDS診斷概述 UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務(wù))診斷協(xié)議是在汽車電子ECU環(huán)境下的一種
    的頭像 發(fā)表于 06-12 10:36 ?2.1w次閱讀
    <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 ?2560次閱讀
    新功能發(fā)布 | <b class='flag-5'>TSMaster</b><b class='flag-5'>診斷</b>功能之Diagnostic TP參數(shù)配置

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

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

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

    TSMaster典型應(yīng)用前面幾個(gè)章節(jié)主要介紹了關(guān)于TSMaster診斷模塊的一些基礎(chǔ)操作詳解,相信大家對TSMaster
    的頭像 發(fā)表于 07-04 09:27 ?1860次閱讀
    新功能發(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 ?5395次閱讀
    應(yīng)用筆記 | <b class='flag-5'>TSMaster</b>使用教程—<b class='flag-5'>UDS</b>刷寫流程

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

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

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

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

    TSMaster 總線記錄功能操作指南

    總線記錄主要是指對CAN、LIN、FlexRay,Ethernet等總線系統(tǒng)的通信數(shù)據(jù)進(jìn)行記錄和分析,是工程師在故障診斷、性能分析和數(shù)據(jù)記錄方面的重要工具,作為TSMaster軟件中使用率很高
    的頭像 發(fā)表于 03-05 08:21 ?1219次閱讀
    <b class='flag-5'>TSMaster</b> 總線記錄功能<b class='flag-5'>操作</b><b class='flag-5'>指南</b>