在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于K線/CAN總線的KWP2000協(xié)議分析及其協(xié)議棧的開發(fā)與測試

            基于K線/CAN總線的KWP2000協(xié)議分析及其協(xié)議棧的開發(fā)與測試

            作者: 時間:2016-12-16 來源:網絡 收藏
            1 前言


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

            在網絡協(xié)議開發(fā)和測試應用方面,美國MathWorks公司和德國Vector公司提供了功能強大的開發(fā)和測試工具,可分別用于協(xié)議棧源碼的開發(fā)和ECU測試。

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

            基于K線的KWP2000協(xié)議標準主要包括ISO/WD 14230-1~14230-4,各部分協(xié)議與OSI模型的對應關系如表1所示。

            表1 KWP2000協(xié)議與OIS模型的對應關系

            本文引用地址:http://www.biyoush.com/article/201612/330609.htm

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

            表2 基于K線的KWP2000報文結構[3]

            1)可選字節(jié),取決于格式字節(jié)Fmt的A1A0位
            2)服務標識符(Service ID),數據域的第1個字節(jié)
            在開始診斷服務之前,診斷設備必須對ECU進行初始化,通過ECU的響應獲取ECU的源地址、通訊波特率、支持的報文頭格式、定時參數等信息。ECU所支持的報文頭和定時參數信息包含在ECU返回的“關鍵字(Key Word)”中(這也是協(xié)議命名的由來)。關鍵字由兩個字節(jié)構成,如圖1所示,關鍵字的低字節(jié)中各位的含義如表3所示。

            圖1 關鍵字格式[3]

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

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

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

            圖2 K線診斷服務時序圖[3]

            3 基于CAN總線的KWP2000協(xié)議

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

            表4 網絡層協(xié)議數據單元(N_PDU)格式[7]

            1) 地址信息:包含源地址(SA)、目標地址(TA)、目標地址格式(TA_Type)和遠程地址(RA)
            2) 協(xié)議控制信息:包含四種幀格式,見表5
            3) 數據域:KWP2000服務標識符(Service ID) + 服務參數
            應用層協(xié)議規(guī)定了四種服務數據結構,.Request、.Indication、.Response和.Confirm,分別用于診斷設備(Tester)的服務請求、ECU的服務指示、ECU的服務響應和Tester的服務確認。這些數據結構中包含了地址信息、服務請求ID和服務請求參數等內容?;贑AN總線的KWP2000診斷服務流程如圖3所示。

            圖3 基于CAN總線的KWP2000診斷服務流程圖

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

            單幀(Single Frame,SF) - 數據域及PCI可在一個CAN數據幀中容納時,服務報文以單幀CAN報文進行發(fā)送。
            第一幀(First Frame,FF) - 數據域及PCI不能在一個CAN數據幀中容納時,服務報文以多幀CAN報文進行發(fā)送,其中第一幀(FF)除傳送數據外,還包含了多包數據的長度信息。
            連續(xù)幀(Consecutive Frame,CF) - 多包數據中除第一幀外的連續(xù)數據幀,除傳送數據外,還包含了多包數據的包序號。


            上一頁 1 2 3 下一頁

            評論


            技術專區(qū)

            關閉