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

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 汽車電子 > 設計應用 > 基于K線/CAN總線的KWP2000協議分析及協議棧的開發(fā)

      基于K線/CAN總線的KWP2000協議分析及協議棧的開發(fā)

      作者: 時間:2012-04-11 來源:網絡 收藏

      圖3 基于診斷服務流程圖

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

      單幀(Single Frame,SF) - 數據域及PCI可在一個數據幀中容納時,服務報文以單幀CAN報文進行發(fā)送。

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

      連續(xù)幀(Consecutive Frame,CF) - 多包數據中除第一幀外的連續(xù)數據幀,除傳送數據外,還包含了多包數據的包序號。

      流控制幀(Flow Control,FC) -用于多包數據傳輸過程中的流控制,不包含數據,只包含流控制狀態(tài)、數據塊大小和最小間隔時間等流控制信息。

      5.jpg

      表5 15765協議網絡層四種PDU對應的PCI格式[7]

      1) 單幀數據中數據域的字節(jié)長度,PCI的長度不包括在內。

      2) 多包數據的數據域字節(jié)總長度。

      3) 多包數據的數據包編號。

      4) 流控制狀態(tài)信息。

      5) 數據塊大小。

      6) 多包數據傳輸的最小時間間隔。

      多包數據的傳輸流程如圖4所示。發(fā)送節(jié)點首先發(fā)送“第一幀”,告知接收節(jié)點將要發(fā)送的數據的總長度;接收節(jié)點分配好資源、準備接收數據,然后以一幀“流控制幀”告知發(fā)送節(jié)點一次可以發(fā)送的數據包數目和時間間隔;發(fā)送節(jié)點接下來就根據接收節(jié)點的接收能力將編好序號的數據包依次發(fā)送過去。

      44.jpg

      圖4 多包數據傳輸流程圖

      在數據傳送過程中,一個網絡層PDU被編排成一個CAN數據幀,它們之間的對應關系由尋址模式(Addressing mode)決定?;贗SO 15765協議規(guī)定了四種尋址模式:正常尋址模式(Normal)、正常固定尋址模式(Normal fixed)、擴展尋址模式(Extended)和用于遠程診斷的混合尋址模式(Mixed)。其中,正常固定尋址模式必須采用CAN擴展幀,并且SAE J1939為該尋址模式下的診斷服務保留了兩個專用參數組編號(PGN):其中PF=218(PF的具體定義請參考SAE J1939數據鏈路層協議)的參數組用于物理尋址(phy),PF=219的參數組用于功能尋址(fcn)。正常固定尋址模式的PDU與CAN數據幀之間的對應關系如表6所示。

      6.jpg

      表6 正常固定尋址模式下N_PDU與CAN數據幀之間的對應關系[7]

      混合尋址模式與正常固定尋址模式類似,唯一的區(qū)別是CAN數據域的第一個字節(jié)用于填充遠程地址(RA),N_PCI和診斷服務數據的填充位置向后移動一個字節(jié)?;旌蠈ぶ纺J接糜诳缭骄W段進行遠程診斷,遠程診斷的機制如圖5所示。圖中CAN1和CAN2兩個不同的子網通過網橋相連,網橋在子網1中的源地址為200,在子網2中的源地址為10,位于子網1中的診斷設備(源地址為241)可通過網橋對子網2中的ECU(源地址為62)進行診斷。

      55.jpg

      圖5 跨越網段的遠程診斷

      4 兩種協議的簡單比較

      從前面基于K線和基于CAN的KWP2000協議可以看出,兩種協議在物理層、數據鏈路層及網絡層(15765)上存在以下主要差別,這也是K線被CAN總線取而代之的主要原因所在:

      K線通訊速率較低,最大波特率僅為10400bps;CAN總線通訊速率較高,最大波特率可達1Mbps。

      K線采用單端信號傳輸,抗干擾能力較弱,可靠性較差;CAN總線采用差分信號傳輸,抗干擾能力強,信號傳輸的可靠性高。

      K線診斷在啟動應用層診斷服務之前必須對ECU進行初始化建立連接,并且初始化過程比較復雜;而基于CAN總線的診斷設備不需要對ECU進行初始化即可進行診斷服務。

      K線診斷應用程序開發(fā)者必須親自管理數據傳輸過程中的字節(jié)間定時,并處理底層通訊錯誤;CAN數據幀以整幀報文的形式進行發(fā)送,應用程序開發(fā)者不必管理字節(jié)間定時,并且CAN總線物理層和數據鏈路層具備完善的錯誤檢測和錯誤恢復機制,應用程序不必監(jiān)視和處理底層通訊錯誤。

      K線網絡結構單一,網絡管理功能很弱;而利用CAN總線可構建復雜的網絡結構,可跨越網段進行遠程診斷。

      K線網絡采用破壞性的仲裁機制,當診斷設備采用功能尋址與多個ECU進行通訊時,為避免總線沖突,ECU開發(fā)者必須采取措施保證多個ECU順序訪問總線;而CAN網絡采用非破壞性的仲裁機制,并且仲裁過程由數據鏈路層完成,當診斷設備采用功能尋址與多個ECU進行通訊時,ECU開發(fā)者不必考慮總線訪問沖突問題。

      K線服務報文最大字節(jié)長度僅為255,無法滿足更長報文的傳輸要求,并且在長報文的傳輸過程中用戶必須自己采取措施進行連接管理,可靠性和兼容性較差;而CAN總線診斷服務報文最大字節(jié)長度可達4096(12位),對于長報文的傳輸,網絡層協議還具備標準化和規(guī)范化的同步控制、順序控制、流控制和錯誤恢復等功能,具備很高的可靠性、兼容性。

      5 KWP2000協議棧的開發(fā)及測試

      從前面的協議分析可以看出,無論是基于K線還是CAN總線的KWP2000協議,都是邏輯非常復雜的系統(tǒng),并且具有嚴格的定時和錯誤處理規(guī)范。如果采用純手工的方式來進行KWP2000協議棧的開發(fā),不僅要耗費大量的時間和人力,其通用性、完備性、可靠性和可維護性都很難保證。而MATLAB/Simulink/StateFlow不僅具備方便快捷的上層實時仿真環(huán)境,還集成了高效的嵌入式代碼自動生成工具,為協議棧的開發(fā)和維護提供了強大的支持平臺。此外,由德國Vector公司的CANoe軟件和相關硬件板卡組成的應用開發(fā)平臺,可用于汽車網絡(CAN,Lin等)的上層協議開發(fā)和系統(tǒng)測試,該平臺同時支持基于K線和CAN總線的KWP2000診斷協議,可作為ECU和診斷設備的測試標準。



      關鍵詞: 2000 CAN KWP 總線

      評論


      相關推薦

      技術專區(qū)

      關閉