TSMaster 診斷
TSMaster提供了診斷控制臺(tái)基礎(chǔ)功能,用戶可以根據(jù)需求配置自己的發(fā)送和應(yīng)答請(qǐng)求。按照如下步驟操作即可。
A 傳輸層參數(shù)
各參數(shù)解釋如下:
》Bus Type: 診斷傳輸層類型,目前已經(jīng)支持CAN/CANFD/LIN,接下來支持以太網(wǎng)和Flexray等。通過下拉列表可以選擇,如下圖所示:
》Channel:診斷模塊用到的邏輯通道。TSMaster支持多個(gè)診斷模塊同時(shí)在線工作,這里用于選擇當(dāng)前診斷模塊使用系統(tǒng)的哪一個(gè)邏輯通道。通過下拉列表進(jìn)行選擇,如下圖所示:
》Request ID/Response ID/Function ID:設(shè)置診斷模塊PC工具端的診斷請(qǐng)求/應(yīng)答/功能幀的ID。
》Request ID Type/Response ID Type /Function ID Type:設(shè)置診斷模塊PC工具端的診斷請(qǐng)求/應(yīng)答/功能幀的ID類型,是標(biāo)準(zhǔn)幀(11位)還是擴(kuò)展幀(29位),如下圖所示:
》Filled Byte:傳輸過程中,實(shí)際有效字節(jié)不足一個(gè)CAN報(bào)文數(shù)據(jù)端的時(shí)候,剩余數(shù)據(jù)段的填充字節(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】。
》STMin:最短接收時(shí)間間隔。TSMaster診斷模塊作為接收端,在接收連續(xù)幀報(bào)文的時(shí)候能夠支持的診斷幀之間的最短時(shí)間間隔,這個(gè)參數(shù)是回復(fù)給診斷客戶端的。設(shè)置為0,表示支持以最短的時(shí)間間隔接收。
》BlockSize:接收Block的大小。TSMaster診斷模塊作為接收端,在接收連續(xù)幀報(bào)文的時(shí)候一次能夠接收的數(shù)據(jù)塊的大小。這個(gè)參數(shù)是回復(fù)給診斷客戶端的。設(shè)置為0,表示一次性能夠接收任意大小的數(shù)據(jù)塊。
》FD Max DLC:當(dāng)傳輸層設(shè)置為CANFD的時(shí)候。此時(shí),傳輸層單幀的最大傳輸字節(jié)數(shù)量是64字節(jié)(DLC=15),但是這個(gè)參數(shù)是可以調(diào)節(jié)的,調(diào)節(jié)范圍如下所示:
》Max Length: 該參數(shù)對(duì)于普通CAN/LIN是無意義的。多幀傳輸?shù)臅r(shí)候。當(dāng)DLC長度= 8字節(jié)的時(shí)候,首幀(First Frame)采用第0字節(jié)低四位+第一個(gè)字節(jié)的8位,共12Bit表示一次傳輸?shù)陌拇笮?,也就是最?095個(gè)字節(jié),如下圖所示:
但是FDCAN中,設(shè)置DLC長度>8字節(jié)的時(shí)候,可以采用更多的Bits來傳輸信息。因此,F(xiàn)DCAN的傳輸層支持采用第2,3,4,5四個(gè)字節(jié)共32bit來傳輸一個(gè)數(shù)據(jù)Block的長度。也就是說FDCAN的傳輸層一次支持傳輸最多4個(gè)G的數(shù)據(jù)。但是具體支持多少,讓用戶可以配置。
注釋:第一個(gè)字節(jié)的高四位 = 1,表示該幀是首幀(First Frame),無論是FDCAN還是Class CAN的傳輸層都是如此。
比如,如下圖所示配置位4095個(gè)字節(jié),則跟普通傳輸層一樣。如果配置為大于4095,則要使用FD幀擴(kuò)容的傳輸層。
B 服務(wù)層參數(shù)
服務(wù)層參數(shù)主要包含S3,P2時(shí)間參數(shù),以及加載SeedKey的dll。如下圖所示:
各參數(shù)解釋如下:
》S3參數(shù):包括S3 ServiceTime和S3 Client Time。
S3 Service Time:表示該ECU從Default會(huì)話被切換到其他會(huì)話過后,經(jīng)過多場(chǎng)時(shí)間會(huì)自動(dòng)切換回默認(rèn)會(huì)話的超時(shí)時(shí)間。
S3 Client Time:表示作為診斷Tester端,發(fā)送TesterPresent幀的時(shí)間間隔。
上述兩個(gè)參數(shù)的示意圖,可以點(diǎn)開Detail按鈕,查看圖示說明,如下圖所示:
》P2參數(shù):包括P2 Timeout和P2 Extended參數(shù)。
P2 Timeout: 表示ECU收到診斷請(qǐng)求幀過后,最短回復(fù)的時(shí)間間隔。對(duì)于診斷工具端,該參數(shù)可以作為發(fā)送請(qǐng)求過后,等待回復(fù)的超時(shí)判斷參數(shù)。比如診斷工具發(fā)送了一個(gè)診斷報(bào)文,P2Timeout時(shí)間段內(nèi)都沒有收到回復(fù),則認(rèn)為請(qǐng)求失敗,超時(shí)退出。
P2 Extended:當(dāng)診斷工具發(fā)出診斷報(bào)文過后,被測(cè)ECU來不及在P2 Timeout時(shí)間段內(nèi)做出應(yīng)答,則回復(fù)一幀3F XX 78報(bào)文,告訴診斷工具端自己來不及響應(yīng),需要延長等待時(shí)間再回復(fù)。ECU發(fā)送了延遲等待報(bào)文后,則把等待時(shí)間參數(shù)切換為P2Extended。診斷工具端的超時(shí)判斷參數(shù)在收到延遲等待報(bào)文后,需要切換到P2Extended。
上述兩個(gè)參數(shù)示意圖如下所示:
》使能Tester Present命令:
TSMaster診斷模塊中,可以選擇配置并使能TSMaster Present命令,如下圖所示:
當(dāng)使能了該命令過后,在模塊的最上方會(huì)出現(xiàn)啟動(dòng)Tester Present命令的開關(guān)。打開Tester Presnet,則按照設(shè)定的S3ClientTime時(shí)間間隔發(fā)送該報(bào)文。
Tester Present的發(fā)送字節(jié)是可選的。支持三種類型:
【Default Request】:也就是最常用的0x3E 0x80
【From Basic Config】:從Basic Config中選擇配置好的3E命令
【Manual Definition】:用于自定義的字節(jié)
》加載Seed&Key DLL
在診斷過程中,會(huì)設(shè)計(jì)到安全訪問的問題,也就是所說的Seed&Key。TSMaster診斷模塊支持通過dll載入Seed&Key算法,該算法dll跟主流工具的計(jì)算接口兼容,接口定義如下圖所示:
DLL加載界面如下圖所示:
【1】加載DLL
【2】刪除DLL
【3】DLL校驗(yàn)器,通過此按鈕,用戶可以判斷自己加載的dll接口是否正確,算法是否符合設(shè)計(jì)要求。如下圖所示:
如上圖所示界面,用戶選擇Seed的Level過后,輸入Demo Seed值,點(diǎn)擊GenKey進(jìn)行判斷。如果該DLL接口跟模板定義接口統(tǒng)一,則會(huì)輸出提示信息:Generate Key Success,然后用戶根據(jù)Key值跟目標(biāo)值對(duì)比,進(jìn)一步確認(rèn)DLL中的算法是否符合設(shè)計(jì)要求。
【4】打開TSMaster安裝目錄下Seed&Key接口工程所在的路徑。用戶可以拷貝該工程添加自己的Seed&Key算法。
C TesterPresent
在Diagnostic Tp參數(shù)配置中使能TesterPresenter,TSMaster會(huì)提供一個(gè)全局的開關(guān)。用戶通過該開關(guān),可以直接打開和關(guān)閉TesterPresent命令,如下圖所示:
除了該全局開關(guān),如果用戶想更加靈活的控制TesterPresent命令的打開和關(guān)閉,在后續(xù)的自動(dòng)化流程步驟中,TSMaster也提供了基于步驟配置該命令的方式,讓用戶選擇在需要的步驟打開和關(guān)閉TesterPresent命令。
-
診斷
+關(guān)注
關(guān)注
1文章
56瀏覽量
12265
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論