日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

UDS tester之Tdrm

發(fā)布時(shí)間:2023/12/16 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UDS tester之Tdrm 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UDS?testerTdrm?

2018-1-16

????????Tdrm叫做?tester?diagnostic?request?manager,或者叫做診斷請(qǐng)求測(cè)試管理器,今天以vectorTdrm為例,研究下它的工作流程。

一、Tdrm的作用

????????如果你在做汽車ECU,那么當(dāng)做診斷服務(wù)的時(shí)候一定會(huì)用到UDS,而如果恰好你所開發(fā)的ECU也有診斷其他ECU的需求,那么就一定會(huì)用到tester端軟件。Tester可以調(diào)用TP層,向其他ecu發(fā)起診斷請(qǐng)求,實(shí)現(xiàn)全車診斷、ECU軟件刷寫的功能,十分有用。它也可以處理ecu的反饋,供用戶層使用。

二、一個(gè)狀態(tài)機(jī),四個(gè)timer

????????先看下內(nèi)部狀態(tài)機(jī)的定義,tester一共定義了8個(gè)狀態(tài),空閑狀態(tài);?默認(rèn)會(huì)話下的空閑狀態(tài)(用于查詢當(dāng)前是否可以進(jìn)行診斷操作,只有在idle的條件下才可以發(fā)起下一次診斷);?診斷請(qǐng)求發(fā)送過(guò)程中;等待請(qǐng)求發(fā)送完成;等待ecu應(yīng)答;接收進(jìn)行中(無(wú)請(qǐng)求的接收);?請(qǐng)求接收結(jié)果接收中;?等待下一次進(jìn)入idledelay

typedef?enum?_tTdrmState

{

??kTdrmStateIdle,??????????????????/*?System?in?idle?state?*/

??kTdrmStateIdleSessionActive,????/*?System?session?is?active?(just?for?TdrmGetStatus()?when?in?idle?mode)?*/

??kTdrmStateTxInProgress,?????????/*?Temporary?state?while?sending?data?*/

??kTdrmStateWaitSendReqConfirm,?/*?Request?issued?to?TP.?Waiting?for?confirmation?*/

??kTdrmStateWaitEcuResponse,???/*?Service?successfully?transmitted?to?ECU.?Wait?for?ECU?response?*/

??kTdrmStateRxInProgress????????/*?Temporary?state?while?receiving?data?*/

??kTdrmStateWaitRxInProgress????/*?Temporary?state?while?receiving?data?*/

??kTdrmStateWaitIdle?????????????/*?Temporary?state?after?a?transmission?*/

}?tTdrmState;

????????四個(gè)timer P2, P2Star, S3,?P3

????????P2:?客戶端請(qǐng)求到ECU的響應(yīng)時(shí)間,?typical?100ms

????????P2Star:?增強(qiáng)延時(shí)時(shí)間,當(dāng)client收到?0x78的否定響應(yīng)時(shí),會(huì)多延長(zhǎng)一會(huì)等待時(shí)間,典型值為?5000ms

????????S3:client發(fā)送兩次test?present3E,00)的間隔。

????????P3:在沒(méi)有應(yīng)答的條件下,兩次請(qǐng)求之間(從第一次請(qǐng)求timeout到第二次請(qǐng)求發(fā)出)插入的延時(shí)時(shí)間。

三、Tdrm的工作流程分析

????????下面用一張圖表示這幾個(gè)狀態(tài)是如何轉(zhuǎn)換的:

?

????????(1)tester?初始化

????????Tdrm?正常工作前應(yīng)該首先調(diào)用TdrmInitPowerOn()來(lái)初始化狀態(tài)機(jī)用到的幾個(gè)timer,根據(jù)當(dāng)前MCU執(zhí)行的周期,計(jì)算出所有時(shí)間參數(shù)對(duì)應(yīng)的循環(huán)數(shù)量;?調(diào)用TdrmInit()來(lái)初始化狀態(tài)機(jī)到idle狀態(tài),關(guān)閉定時(shí)器以及清除請(qǐng)求標(biāo)志等,此時(shí)狀態(tài)機(jī)停留在S1狀態(tài)。需要周期性調(diào)用TdrmTask(),來(lái)推動(dòng)狀態(tài)機(jī)轉(zhuǎn)換。

????????(2)tester?發(fā)送請(qǐng)求

????????當(dāng)應(yīng)用層調(diào)用TdrmServiceRequest()來(lái)請(qǐng)求某一個(gè)服務(wù)時(shí),此時(shí)App需要把請(qǐng)求服務(wù)的數(shù)據(jù)字和長(zhǎng)度填充好,再調(diào)用TP層將數(shù)據(jù)發(fā)送出去;此處就直接返回發(fā)送成功,之后就就進(jìn)入等待ECU應(yīng)答的S4狀態(tài)。與此同時(shí),TP發(fā)送完請(qǐng)求后會(huì)調(diào)用CanTp_NUSDataIndication進(jìn)而調(diào)用TdrmSendConfirm,這里會(huì)判斷這個(gè)請(qǐng)求是否需要ecu應(yīng)答,如果需要就進(jìn)入到S5狀態(tài),如果不需要應(yīng)答肯定響應(yīng),就進(jìn)入S8,繼而回到S1?idle狀態(tài)。

????????(3)tester?接收響應(yīng)

????在S5?等待ECU應(yīng)答狀態(tài)下,會(huì)啟動(dòng)一個(gè)定時(shí)器P2,如果在規(guī)定的時(shí)間內(nèi)TP收到了SF或者FF,那就會(huì)調(diào)用TdrmPrepareReception,使其進(jìn)入到S7也就是等待接收過(guò)程中;如果接收完成或這接收失敗都會(huì)重新回到S1。如果在規(guī)定的時(shí)間內(nèi)沒(méi)有收到任何應(yīng)答,待P2超時(shí)后回到S1,此時(shí)重試次數(shù)減一,重置P2,待進(jìn)行下一次重新發(fā)送。

????????(4)tester?維持會(huì)話

????????作為client端,請(qǐng)求服務(wù)器進(jìn)入非default?session后,如果沒(méi)有請(qǐng)求,要周期發(fā)送tester?present報(bào)文來(lái)保持會(huì)話,如果應(yīng)用層發(fā)起了其他請(qǐng)求從而使?fàn)顟B(tài)機(jī)進(jìn)入非idle狀態(tài)后,就不需要發(fā)送tester?present報(bào)文了。

四、Tdrm的局限性

????????在這個(gè)架構(gòu)下是無(wú)法多路并發(fā)的。不過(guò)在實(shí)際的情況下,如果需要診斷總數(shù)不多的ecu,一般的做法是輪詢,但如果所在ecu需要診斷、刷寫的ecu比較多,論詢是非常耗時(shí)的,如果能把這個(gè)過(guò)程與ecu之間的診斷或刷新順序進(jìn)行解偶,同時(shí)對(duì)多個(gè)ecu進(jìn)行操作,就可以極大提升診斷或刷寫速度了。

總結(jié)

以上是生活随笔為你收集整理的UDS tester之Tdrm的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色漫| 91视频在线观看 | 欧美日韩精品一区二区在线播放 | 日韩一区二区三免费高清在线观看 | 久久久精品亚洲 | 国产电影一区二区三区爱妃记 | 婷婷色小说 | 男女无套免费视频网站动漫 | 欧美一级在线观看 | av中文字幕一区 | 国产精品一线天粉嫩av | 久热最新| 国产妇女乱一性一交 | 欧美三级在线视频 | 久久综合婷婷国产二区高清 | 国语av| 欧美大浪妇猛交饥渴大叫 | 综合久久五月 | 国产一国产精品一级毛片 | 亚洲乱码一区二区 | 欧美jizzhd精品欧美18 | 国产精品极品白嫩在线 | 一级网站在线观看 | 成人在线观看a | 欧美激情一区二区三级高清视频 | 国产色秀 | 日韩免费观看视频 | 国产精品16p | 天堂网8| 黑人无套内谢中国美女 | 中文字幕无线码一区 | 特大黑人巨交吊性xxxxhd | 一区二区三区四区视频在线观看 | 欧美在线观看a | 午夜少妇 | 一区二区视频在线免费观看 | 男朋友是消防员第一季 | 欧美用舌头去添高潮 | youjizz视频 | 色哟哟网站入口 | 91porn九色| 999这里只有精品 | 亚洲午夜福利在线观看 | 欧美大片xxx | 国产精品自产拍高潮在线观看 | 欧美日韩免费在线视频 | 免费看三级黄色片 | 一级成人毛片 | 国产破处在线 | 国产欧美久久久久久 | 制服丝袜一区在线 | 欧美一区二区三区影院 | 自拍视频在线播放 | 91丝袜一区二区三区 | 三上悠亚在线播放 | 国产尤物在线视频 | www.在线观看麻豆 | 欧美日韩a | 国产欧美一区二区三区精品酒店 | 神马午夜dy888 | 成年人拍拍视频 | 午夜精品一区 | 人妻大战黑人白浆狂泄 | 日本在线有码 | 91影音| 一本色道久久综合 | 黄色免费一级片 | 久久精品色妇熟妇丰满人妻 | 国产露脸91国语对白 | 欧美视频在线一区二区三区 | 91热精品 | 国产一区二区三区视频在线 | 美女被草视频在线观看 | 国产黄色大片免费看 | 日本免费在线播放 | 国产精品传媒视频 | 亚洲熟妇av日韩熟妇在线 | 国产综合精品一区二区三区 | 天天操综合 | 91精产国品一二三区在线观看 | 久久久精品小视频 | 免费日韩一区 | 日日天天干 | 中文字幕线人 | 日本三级小视频 | 卡一卡二卡三 | 亚洲国产成人精品女人 | 一本视频 | 884aa四虎影成人精品一区 | 在线视频久久 | 婷婷亚洲综合五月天小说 | 六月丁香婷婷综合 | 欧美黄色视屏 | 欧美日韩一区精品 | 亚洲a级片 | 日韩中文字幕在线视频 | 色涩综合| 精品少妇一区二区三区密爱 | av影视天堂 |