<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于K線/CAN總線的KWP2000協(xié)議分析及其協(xié)議棧的開(kāi)

          基于K線/CAN總線的KWP2000協(xié)議分析及其協(xié)議棧的開(kāi)

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

          1 前言

          本文引用地址:http://www.ex-cimer.com/article/201609/303556.htm

          在汽車故障診斷領(lǐng)域,針對(duì)診斷設(shè)備和汽車ECU之間的數(shù)據(jù)交換,各大汽車公司幾乎都制訂了相關(guān)的標(biāo)準(zhǔn)和協(xié)議。其中,歐洲汽車領(lǐng)域廣泛使用的一種車載診斷協(xié)議標(biāo)準(zhǔn)是(Keyword Protocol 2000),該協(xié)議實(shí)現(xiàn)了一套完整的車載診斷服務(wù),并且滿足E-OBD(European On Board Diagnose)標(biāo)準(zhǔn)。最初是基于K線的診斷協(xié)議,由于K線物理層和數(shù)據(jù)鏈路層在網(wǎng)絡(luò)管理和通訊速率上的局限性,使得K線無(wú)法滿足日趨復(fù)雜的車載診斷網(wǎng)絡(luò)的需求。而CAN網(wǎng)絡(luò)(Controller Area Network)由于其非破壞性的網(wǎng)絡(luò)仲裁機(jī)制、較高的通訊速率(可達(dá)1M bps)和靈活可靠的通訊方式,在車載網(wǎng)絡(luò)領(lǐng)域廣受青睞,越來(lái)越多的汽車制造商把應(yīng)用于汽車控制、診斷和通訊。近年來(lái)歐洲汽車領(lǐng)域廣泛采用了基于,即ISO 15765協(xié)議,而基于K線的KWP2000物理層和數(shù)據(jù)鏈路層協(xié)議將逐步被淘汰。

          在網(wǎng)絡(luò)協(xié)議開(kāi)發(fā)和測(cè)試應(yīng)用方面,美國(guó)MathWorks公司和德國(guó)Vector公司提供了功能強(qiáng)大的開(kāi)發(fā)和測(cè)試工具,可分別用于協(xié)議棧源碼的開(kāi)發(fā)和ECU測(cè)試。

          2 基于K線的KWP2000協(xié)議

          基于K線的KWP2000協(xié)議標(biāo)準(zhǔn)主要包括ISO/WD 14230-1~14230-4,各部分協(xié)議與OSI模型的對(duì)應(yīng)關(guān)系如表1所示。

          表1 KWP2000協(xié)議與OIS模型的對(duì)應(yīng)關(guān)系

          ISO 14230-1規(guī)定了KWP2000協(xié)議的物理層規(guī)范(K線、L線),它在ISO 9141-2的基礎(chǔ)上把數(shù)據(jù)交換系統(tǒng)擴(kuò)展到了24V電壓系統(tǒng)。ISO 14230-2規(guī)定了KWP2000的數(shù)據(jù)鏈路層協(xié)議,包括報(bào)文結(jié)構(gòu)、初始化過(guò)程、通訊連接管理、定時(shí)參數(shù)和錯(cuò)誤處理等內(nèi)容。K線的報(bào)文包括報(bào)文頭、數(shù)據(jù)域和校驗(yàn)和三部分,其中報(bào)文頭包含格式字節(jié)、目標(biāo)地址(可選)、源地址(可選)和附加長(zhǎng)度信息(可選),如表2所示。

          表2 基于K線的KWP2000報(bào)文結(jié)構(gòu)[3]

          1)可選字節(jié),取決于格式字節(jié)Fmt的A1A0位

          2)服務(wù)標(biāo)識(shí)符(Service ID),數(shù)據(jù)域的第1個(gè)字節(jié)

          在開(kāi)始診斷服務(wù)之前,診斷設(shè)備必須對(duì)ECU進(jìn)行初始化,通過(guò)ECU的響應(yīng)獲取ECU的源地址、通訊波特率、支持的報(bào)文頭格式、定時(shí)參數(shù)等信息。ECU所支持的報(bào)文頭和定時(shí)參數(shù)信息包含在ECU返回的“關(guān)鍵字(Key Word)”中(這也是協(xié)議命名的由來(lái))。關(guān)鍵字由兩個(gè)字節(jié)構(gòu)成,如圖1所示,關(guān)鍵字的低字節(jié)中各位的含義如表3所示。

          圖1 關(guān)鍵字格式[3]

          表3 關(guān)鍵字低字節(jié)中各位的含義[3]

          *) 只允許TP0,TP1 = 0,1 或者1,0

          診斷設(shè)備可以采用兩種方式對(duì)ECU進(jìn)行初始化——5Baud初始化和快速初始化,對(duì)于這兩種初始化的時(shí)序在數(shù)據(jù)鏈路層協(xié)議[3]中均有明確規(guī)定。完成初始化過(guò)程后,診斷設(shè)備和ECU方可進(jìn)行應(yīng)用層的診斷服務(wù)和響應(yīng)。ISO 14230-3規(guī)定了應(yīng)用層的服務(wù)規(guī)范,包括診斷管理功能組、數(shù)據(jù)傳輸功能組、診斷信息傳輸功能組、輸入/輸出控制功能組、遠(yuǎn)程啟動(dòng)ECU例程功能組、數(shù)據(jù)上載/下載功能組和擴(kuò)展功能組。在診斷服務(wù)請(qǐng)求/響應(yīng)過(guò)程中,診斷設(shè)備和ECU必須遵循圖2所示的時(shí)序和相關(guān)定時(shí)參數(shù)。對(duì)于初始化和診斷服務(wù)過(guò)程中出現(xiàn)的各種定時(shí)錯(cuò)誤,在數(shù)據(jù)鏈路層和應(yīng)用層協(xié)議里面都有相應(yīng)的處理規(guī)范,診斷設(shè)備及ECU的應(yīng)用程序都必須嚴(yán)格遵守。

          圖2 K線診斷服務(wù)時(shí)序圖[3]

          3 基于的KWP2000協(xié)議

          基于CAN總線的KWP2000協(xié)議實(shí)際上指的就是ISO/WD 15765-1~15765-4,該協(xié)議把KWP2000應(yīng)用層的診斷服務(wù)移植到CAN總線上。數(shù)據(jù)鏈路層采用了ISO 11898-1協(xié)議,該協(xié)議是對(duì)CAN2.0B協(xié)議的進(jìn)一步標(biāo)準(zhǔn)化和規(guī)范化;應(yīng)用層采用了ISO 15765-3協(xié)議,該協(xié)議完全兼容基于K線的應(yīng)用層協(xié)議14230-3,并加入了CAN總線診斷功能組;網(wǎng)絡(luò)層則采用ISO 15765-2協(xié)議,規(guī)定了網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(N_PDU,如表4所示)與底層CAN數(shù)據(jù)幀、以及上層KWP2000服務(wù)之間的映射關(guān)系,并且為長(zhǎng)報(bào)文的多包數(shù)據(jù)傳輸過(guò)程提供了同步控制、順序控制、流控制和錯(cuò)誤恢復(fù)功能。

          表4 網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元(N_PDU)格式[7]

          1) 地址信息:包含源地址(SA)、目標(biāo)地址(TA)、目標(biāo)地址格式(TA_Type)和遠(yuǎn)程地址(RA)

          2) 協(xié)議控制信息:包含四種幀格式,見(jiàn)表5

          3) 數(shù)據(jù)域:KWP2000服務(wù)標(biāo)識(shí)符(Service ID) + 服務(wù)參數(shù)

          應(yīng)用層協(xié)議規(guī)定了四種服務(wù)數(shù)據(jù)結(jié)構(gòu),.Request、.Indication、.Response和.Confirm,分別用于診斷設(shè)備(Tester)的服務(wù)請(qǐng)求、ECU的服務(wù)指示、ECU的服務(wù)響應(yīng)和Tester的服務(wù)確認(rèn)。這些數(shù)據(jù)結(jié)構(gòu)中包含了地址信息、服務(wù)請(qǐng)求ID和服務(wù)請(qǐng)求參數(shù)等內(nèi)容。基于CAN總線的KWP2000診斷服務(wù)流程如圖3所示。

          圖3 基于CAN總線的KWP2000診斷服務(wù)流程圖

          從上面的服務(wù)流程可以看出,基于CAN總線的KWP2000協(xié)議支持多包數(shù)據(jù)傳輸,并且多包數(shù)據(jù)的管理和組織是在網(wǎng)絡(luò)層完成的,應(yīng)用層不必關(guān)心數(shù)據(jù)的打包和解包過(guò)程。為實(shí)現(xiàn)這一功能,網(wǎng)絡(luò)層定義了四種PDU(以PCI類型進(jìn)行區(qū)分,如表5所示):


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();