在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SAE J1939協議解讀

北匯信息POLELINK ? 2023-11-09 08:25 ? 次閱讀


在乘用車領域比較熟知的是CAN(FD)、LIN、FlexRay、Ethernet通信協議,但對于J1939往往所知甚少。其實在CAN總線協議誕生之初,J1939協議便隨之誕生,并且始終在商用車、工程機械等領域發揮著重要作用。而在乘用車領域,隨著新能源汽車的發展,為了保證電動汽車與充電基礎設施互聯互通,我國在2015年發布了GB/T 27930-《電動汽車非車載傳導式充電機與電池管理系統之間的通信協議》,其使用的也正是J1939協議。因此,本期將對J1939協議做個基礎介紹,方便大家快速了解J1939協議包含的內容。

什么是J1939J1939是由美國汽車工程師學會(Society of Automotive Engineers,簡稱SAE)開發的一系列標準,其目的是使不同制造商的車輛和設備能夠在同一個網絡上進行通信,實現數據交換和協作。J1939是基于CAN總線技術的,主要的通信速率是250Kbps或500Kbps,通常采用廣播通信的方式,同時也支持點對點通信。J1939誕生的背景在20世紀后半葉,隨著商用車輛、重型機械設備等對多功能化和電子化的需求急劇增加,其內部不同子系統之間需要進行高效的通信和協作來實現更先進的控制和監控功能。同時,為了在不同制造商和設備之間實現互操作性來確保不同系統之間的通信能夠無縫進行,制定一套標準化的通信協議變得尤為重要。而此時CAN總線技術的出現為實時、可靠且高速的通信提供了可能。在此背景下,一直倡導在汽車和機械領域制定標準的美國汽車工程師學會(SAE)組織開發了J1939協議的一系列標準規范,該工作于1994年左右開始,并在1998年正式發布了J1939協議,成為了商用車輛和重型機械設備領域中通信和控制的主要標準之一。
J1939分層結構
J1939采用分層通信結構,主要包括物理層、數據鏈路層、網絡層和應用層,其中CAN提供了基本的“物理層”和“數據鏈路層”。這種分層結構有助于管理復雜的通信系統,使不同層次的功能分開,同時有助于確保J1939協議在不同的商用車輛和重型機械設備應用中具有靈活性和可擴展性。8376abfa-7e96-11ee-9788-92fbcf53809c.png圖1. J1939分層結構 J1939的標準文檔構成
J1939協議的標準文檔構成通常包括一系列文件,這些文件共同定義了協議的規范、特性和實施細節。
1)SAE J1939: Serial Control and Communications Heavy Duty Vehicle Network。通常被稱為J1939協議的頂級文檔,主要包括了關于J1939協議的概述、基本原則和總體架構,以及對其他相關J1939標準和文檔的引用,當前最新版本于2023年發布。
2)SAE J1939-01: On-Highway Equipment Control and Communication Network。定義了公路設備實現控制和通信網絡所需J1939協議文件的最小子集,當前最新版本于2021年發布。
3)SAE J1939-02: Agricultural and Forestry Off-Road Machinery Control and Communication Network。定義了農林非道路機械實現控制和通信網絡所需J1939協議文件的最小子集,當前最新版本于2019年發布。
4)SAE J1939-03: On-Board Diagnostics Implementation Guide。介紹了J1939協議中診斷功能的基本概念,提供了關于如何實施診斷功能的指導,當前最新版本于2021年發布。
5)SAE J1939-05: Marine Stern Drive and Inboard Spark-Ignition Engine On-Board Diagnostics Implementation Guide。提供了關于如何在船舶引擎和尾驅系統上實施診斷功能的指導,當前最新版本于2012年發布。
6)SAE J1939-11: Physical Layer, 250 Kbps, Twisted Shielded Pair。主要關注針對250 Kbps通信速率和使用屏蔽雙絞線情況下的物理層規范,當前最新版本于2016年發布。
7)SAE J1939-13: Off-Board Diagnostic Connector。主要定義離線診斷設備連接器的要求,當前最新版本于2016年發布。
8)SAE J1939-14: Physical Layer, 500 kbit/s。主要定義500Kbps通信速率下的物理層規范,當前最新版本于2022年發布。
9)SAE J1939-15: Physical Layer, 250 Kbps, Un-Shielded Twisted Pair (UTP) 。主要關注針對250 Kbps通信速率和使用非屏蔽雙絞線情況下的物理層規范,當前最新版本于2018年發布。
10)SAE J1939-21: Data Link Layer。主要關注數據鏈路層規范,當前最新版本于2022年發布。
11)SAE J1939-22: CANFD Data Link Layer。主要關注基于CANFD的數據鏈路層規范,當前最新版本于2022年發布。
12)SAE J1939-31: Network Layer。主要關注網絡層規范,當前最新版本于2023年發布。
13)SAE J1939-71: Vehicle Application Layer。主要關注應用層規范,當前最新版本于2022年發布。
14)SAE J1939-73: Application Layer - Diagnostics。主要關注應用層診斷規范,當前最新版本于2022年發布。
15)SAE J1939-74: Application - Configurable Messaging。主要定義應用層的可配置消息規范,當前最新版本于2021年發布。
16)SAE J1939-75: Application Layer - Generator Sets and Industrial。主要關注J1939協議發電機組和工業領域的應用,當前最新版本于2021年發布。
17)SAE J1939-81: Network Management。主要關注網絡管理規范,當前最新版本于2017年發布。
18)SAE J1939-82: Compliance - Truck and Bus。主要關注卡車和公共汽車領域的合規性要求,當前最新版本于2015年發布。
19)SAE J1939-84: OBD Communications Compliance Test Cases for Heavy Duty Components and Vehicles。主要關注OBD通信的合規性測試,當前最新版本于2017年發布。

83819790-7e96-11ee-9788-92fbcf53809c.pngSAE J1939主要協議解讀
SAE J1939物理層
J1939物理層的協議主要有J1939-11,J1939-13,J1939-14,J1939-15等。以J1939-11為例,主要包含以下內容:

1)通信速率:規定了通信速率為250Kbps。

2)連接器:包括類型、引腳分配和電氣特性等內容。

3)傳輸線路:描述了適用于250Kbps通信速率的電纜和傳輸線路特性,如采用屏蔽雙絞線,總線阻抗為120Ω。

4)總線拓撲:最大線纜長度為40m,最大支線長度為1m,最大節點數量為30個。

5)一致性測試:規范中定義的參數(如總線電平)應如何測試驗證。

6)故障:定義了不同故障情況下的通信行為。

SAE J1939 數據鏈路層
J1939數據鏈路層的協議主要有J1939-21,J1939-22等。其中J1939-21主要是針對CAN數據鏈路層,J1939-22則主要是針對CANFD數據鏈路層。以J1939-21為例,其基于CAN2.0B規范定義了J1939報文的報文格式、報文類型和傳輸協議等,在物理層之上提供了可靠的數據傳輸功能,實現應用層報文的數據交換,接下來將針對J1939-21中的定義展開介紹。
| 報文格式
1)協議數據單元(Protocol Data Unit, PDU)J1939報文使用的基于CAN2.0B的拓展幀格式定義了一個完整的標準化通訊策略,通過PDU定義了一個框架,用來組織數據幀中J1939協議相關的信息。PDU由數據幀中的ID和數據場組成,數據幀和PDU的對應關系如下圖所示。838dc2ea-7e96-11ee-9788-92fbcf53809c.png圖2. CAN2.0B幀格式與J1939PDU的對應關系
P(Priority),優先級字段,用于在仲裁過程中控制報文優先級。EDP(Extended Data Page),為擴展數據頁位,在J1939中固定取值為0。P(Data Page),數據頁位,可用來擴展參數組的數量。PF(PDU Format),為PDU格式字段,通過不同的取值來確定參數組編號(Parameter Group Number, PGN)是按照PDU1格式還是PDU2格式。PS(PDU Specific),特定協議數據單元字段,當PF的值為0-239時PS表示目標地址(PDU1格式),當PF的值為240-255時PS字段表示組擴展(PDU2格式),且報文只能廣播。SA(Source Address),源地址字段,整個網絡中SA的值必須是唯一的。Data Field,數據場,對于Classic CAN來說是8個字節,而CANFD則最多有64個字節數據。如果需要傳輸更多的數據,則需要借助J1939的傳輸協議。2)參數組編號(PGN)參數組是應用層中定義的與某個ECU相關的具有相同控制功能的若干個參數的組合,而PGN是用于唯一標識參數組的號碼,在應用層中定義。PGN由三個字節組成,從最高位開始的前6個比特默認值為0,然后是EDP位和DP位,接下來兩個字節分別是PF和PS。
8399b0aa-7e96-11ee-9788-92fbcf53809c.png圖3. PDU與PGN的對應關系
3)可疑參數編號(Suspect Parameter Number, SPN)某個特定PDU對應的PGN是由一系列參數組成的,而SPN則是指明該PGN數據場中各個字節對應的是哪些具體的參數。下圖為PGN 65262這個參數組的示例,包含發動機冷卻液溫度、燃油溫度、發動機機油溫度等參數,不同的參數由不同的SPN區分。
83a0f5cc-7e96-11ee-9788-92fbcf53809c.png圖4. PGN與SPN的對應關系示例
| 報文類型SAE J1939目前支持五種報文類型。
1)命令從某個源地址向特定目標地址或全局目標地址發送命令類型的參數組。目標地址接收到命令類型的報文后,應根據接收到的報文采取具體的動作。PDU1 格式(PS為目標地址)和PDU2 格式(PS為組擴展)都能用作命令。命令類型的消息可能包括傳動控制、地址請求、扭矩/速度控制等等。2)請求請求類型的報文提供了從全局范圍或從特定目標地址獲取信息的能力。請求 PGN能定向到特定目標地址的ECU來檢查是否支持特定參數組(即被請求的目標地址能否傳送特定PGN)。對請求的響應取決于該PGN是否被支持,若是被支持,響應設備會發送被請求的信息,若該PGN不被支持,響應的設備會發送確認PGN來作為否定消息。

3)廣播/響應設備主動提供的報文通常通過廣播報文發出來,如發動機周期性發往全局地址的水溫、油溫、油壓參數組報文。而收到命令或請求后則是通過響應報文進行回復,如變速器接收到發動機控制命令后返回響應。

4)應答對于特定命令、請求需要進行應答,包含肯定應答、否定應答、拒絕訪問和無法應答。需要注意應答報文必須被發送到全局地址。5)組功能報文組功能報文是完成某項任務(如專用功能、網絡管理、多包傳輸功能)的若干子功能的集合,通過請求對應組功能的PGN可以探查是否支持該組功能。
|傳輸協議
當被傳輸的數據大于8字節(對于CANFD則是大于64字節),需要使用傳輸協議對參數組進行拆包與重組和連接管理,實現多包傳輸。

1)拆包與重組當需要傳輸的數據域無法用一個單獨的CAN數據幀完全裝載時(數據長度大于8個字節),例如一個PDU的數據域包含18個字節,就需要將數據域拆分。在拆包和重組過程中,使用數據場的第一個字節作為序列號為拆包進行排序,接收方則根據這個序列號對接收到的多個包進行排序重組。第一個J1939報文的數據場包含序列號1和數據域的前1-7個字節,第二個J1939報文的數據場包含序列號2和數據域的其后的8-14個字節,最后一個J1939報文的數據場就包含序列號3和數據域最后的四個字節,數據場剩下未使用的字節全部填充為0xFF。

2)連接管理連接管理指的是傳輸單個較大參數組的雙方之間建立虛擬連接過程中涉及的建立連接、使用連接傳輸數據和關閉連接三個過程。連接管理使用的是PGN 60416,相關的報文稱為Transport Protocol?Connection Management(TP.CM),包含Connection Mode Request to Send(TP.CM_RTS), Connection Mode Clear to Send(TP.CM_CTS), End of Message Acknowledgment(TP.CM_EndOfMsgACK), Connection Abort(TP.Conn_Abort), Data Transfer Message (TP.DT), Broadcast Announce Message(TP.CM_BAM)。點對點通信的連接管理過程如下所示:

建立連接

當某個發送節點需要傳輸超過8個字節的數據時,首先發送TP.CM_RTS報文,并且攜帶了需要傳輸數據的總長度。接收節點收到TP.CM_RTS之后,可以通過發送TP.CM_CTS報文表示可以發送,連接建立成功,其中TP.CM_CTS報文中攜帶了發送方允許發送報文的數量信息。


數據傳輸

當發送節點收到TP.CM_CTS報文后開始通過TP.DT報文發送拆包后的數據,根據TP.CM_CTS報文中的數量信息發送特定數量后需等待下一個TP.CM_CTS報文才能繼續發送數據包。

關閉連接

當接收節點接收最后一個數據包后,向發送接節點發送TP.CM_EndOfMsgACK報文表示數據接收完畢關閉連接。

83adb366-7e96-11ee-9788-92fbcf53809c.png圖5. 點對點發送的連接管理過程
對于廣播發送大數據包時的連接管理則比較簡單,不需要建立連接和關閉連接,只需要發送方通過TP.CM_BAM報文通知接收方即將會發送大包數據。
83b8a32a-7e96-11ee-9788-92fbcf53809c.png圖6. 廣播數據發送過程SAE J1939網絡層
SAE J1939網絡層的協議主要有J1939-31等,主要描述了J1939不同網段之間進行通信需要的服務和功能。介紹了四種為不同網段之間實現互連提供功能的ECU類型:轉發器(實現轉發功能)、網橋(實現轉發和過濾功能)、路由器(實現轉發、過濾和地址轉換功能)和網關(實現轉發、過濾、地址轉換和報文重組功能)。
SAE J1939 應用層
SAE J1939應用層的協議主要有J1939-71,J1939-73等。
| J1939-71
J1939-71定義了針對車輛應用的信號(即SPN)和報文(即PGN)。下圖分別是該規范中發動機燃氣流量PGN 61450參數組的定義和發動機進氣質量流量SPN 132的定義。
83c0543a-7e96-11ee-9788-92fbcf53809c.png圖7. PGN 61450定義
83c80eaa-7e96-11ee-9788-92fbcf53809c.png圖8.SPN 132定義
| J1939-73
J1939-73定義了診斷報文的類型,常用的有:

?DM1 - Diagnostic Message 1:DM1報文用于報告當前故障和相關的故障信息,它提供了有關車輛或設備上發生的故障的詳細信息,包括故障代碼、故障位置、嚴重性等。DM1報文的PGN是65226,該報文是法規強制要求實現的,通常是以廣播形式周期性發送。


?DM2 - Diagnostic Message 2:DM2報文用于報告歷史故障和相關的故障信息,其PGN是65227。

?DM3 - Diagnostic Message 3:DM3報文用于清除記錄的診斷故障碼,其PGN是65228。

另外在J1939-73中還定義了DTC(Diagnostic Trouble Code)的格式,長度為4個字節,如下表所示。此處SPN主要用于識別診斷信息所關聯的對象,FMI定義了SPN的故障模式,OC表示故障發生的次數,CM位目前協議規定其值應為0,其取值為1主要是為了兼容早期版本,此時對應的SPN還需要經過換算才能得到真實的SPN值。83cfba74-7e96-11ee-9788-92fbcf53809c.png表1. DTC的組成
J1939 網絡管理
J1939的網絡管理協議主要是J1939-81,需要注意的是此處的網絡管理不是用來實現網絡休眠喚醒的,而是對節點地址的配置和管理。一般情況下地址都是提前分配好的,因此針對這部分本文不再展開介紹。

83dbdf3e-7e96-11ee-9788-92fbcf53809c.png總結J1939協議由各個層級的多個規范組成,本文介紹了當前J1939包含的協議并針對部分常見協議做了介紹。協議的規范以及版本眾多給不同節點之間的互操作性帶來了挑戰,因此針對J1939的測試驗證是不可缺少的重要一環。北匯信息專注于汽車電子測試、與眾多OEM合作,在針對J1939的物理層、數據鏈路層、應用層的測試開發和測試實施有著豐富的經驗,也歡迎大家共同探討。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電動汽車
    +關注

    關注

    156

    文章

    12390

    瀏覽量

    234300
  • CAN總線
    +關注

    關注

    145

    文章

    1977

    瀏覽量

    132444
  • SAE
    SAE
    +關注

    關注

    0

    文章

    28

    瀏覽量

    13466
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    盟通方案|如何集成J1939協議

    SAEJ1939是美國汽車工程師協會開發的商用車行業標準通信協議,基于CAN總線技術構建,專為重型車輛(卡車、客車)及工業設備設計,實現ECU間實時數據交換與控制。J1939采用CAN29位擴展幀
    的頭像 發表于 06-13 11:35 ?145次閱讀
    盟通方案|如何集成<b class='flag-5'>J1939</b><b class='flag-5'>協議</b>

    Vector MICROSAR HSM固件通過ISO/SAE 21434認證

    Vector針對汽車ECU硬件安全模塊(HSM)的固件產品——MICROSAR HSM,已正式通過 ISO/SAE 21434認證。作為一家國際軟件供應商,此次認證彰顯Vector致力于提供符合最高國際標準信息安全解決方案的承諾。
    的頭像 發表于 06-12 17:33 ?395次閱讀
    Vector MICROSAR HSM固件通過ISO/<b class='flag-5'>SAE</b> 21434認證

    ISO/SAE 21434標準解讀 DEKRA德凱解析ISO/SAE 21434汽車網絡安全產品

    國際標準,為企業構建汽車全生命周期的網絡安全防護體系提供了清晰的框架。 ISO/SAE 21434標準解讀 全流程網絡安全護航 ISO/SAE 21434標準覆蓋車輛開發的每一個階段,從概念設計到開發、驗證、確認、生產、運營,直
    的頭像 發表于 06-10 14:47 ?377次閱讀

    STM32已經用標準庫寫好的代碼,怎么導入RT THREAD?

    之前已經在裸機上實現了SAE J1939協議,因為要添加IOT 功能,現在想添加RT THREAD.因為之前寫裸機程序的時候用的是標準庫。而RT THREAD STUDIO自動生成的是HAL庫,請問有什么好方法在我原來的代碼上添
    發表于 05-27 06:01

    SPI協議,寄存器解讀

    最近在學習SPI協議,對寄存器操作不是特別熟練。發帖希望有大佬能從寄存器角度提供幫助,幫忙指導根據手冊去解讀協議。有償。
    發表于 05-22 20:08

    SAE 2025國際汽車安全大會圓滿收官

    SAE International 主辦,上海國際汽車城與TüV北德協辦的第七屆SAE 2025 國際汽車安全大會于5月16日在上海國際汽車城圓滿閉幕。大會聚焦“智能化時代的汽車安全新挑戰與新機遇”,匯聚了來自全國各地近400位行業專家、企業代表與科研學者,共同探討汽車
    的頭像 發表于 05-21 14:28 ?298次閱讀

    經緯恒潤VDE Cloud深度賦能汽車智能通信網絡設計

    當前汽車產業正加速向電動化、智能化、網聯化轉型,電子電氣架構復雜度呈現指數級攀升。面對車型快速迭代、多團隊協同開發、數據安全管控等現代研發需求,以及混合多總線協議(CAN/CAN FD/J1939
    的頭像 發表于 05-12 09:52 ?1004次閱讀
    經緯恒潤VDE Cloud深度賦能汽車智能通信網絡設計

    AIWA HS-J202/HS-J202M/HS-J800維修手冊

    電子發燒友網站提供《AIWA HS-J202/HS-J202M/HS-J800維修手冊.pdf》資料免費下載
    發表于 04-08 11:06 ?34次下載

    MOSFET參數解讀

    SGT-MOSFET各項參數解讀
    發表于 12-30 14:15 ?1次下載

    SAE J3400標準助力北美電動汽車充電未來

    專家強調,SAE J3400標準涵蓋的不僅僅是充電連接器,而是一整套充電系統,而且其中整合了大量行業最佳實踐。
    的頭像 發表于 12-11 16:07 ?596次閱讀

    深入解析J1939-73:車輛診斷通信的標準與應用

    SAEJ1939協議概述SAEJ1939協議是由美國汽車工程師協會(SAE,SocietyofAutomotiveEngineers)定義的
    的頭像 發表于 12-11 10:01 ?1536次閱讀
    深入解析<b class='flag-5'>J1939</b>-73:車輛診斷通信的標準與應用

    經緯恒潤榮獲ISO/SAE 21434汽車網絡安全流程認證

    近日,經緯恒潤順利通過TüV南德意志集團總部的審查,獲得ISO/SAE21434汽車網絡安全流程認證證書。這一榮譽標志著經緯恒潤在汽車網絡安全管理方面的技術實力和安全保障能力得到認可,已能夠在全球
    的頭像 發表于 12-03 01:00 ?463次閱讀
    經緯恒潤榮獲ISO/<b class='flag-5'>SAE</b> 21434汽車網絡安全流程認證

    SAE J1939中英文資料

    最全的J1939中英文協議資料
    發表于 11-26 15:06 ?2次下載

    【技術分享】汽車電子之LIN協議

    導讀LIN協議在汽車電子網絡通訊中廣泛使用,很多用戶在解碼LIN協議時,對LIN協議不同版本間的差異不太熟悉,可能導致解碼中出現數據長度識別和校驗混亂。LIN協議起源LIN是面向汽車底
    的頭像 發表于 11-12 01:05 ?1303次閱讀
    【技術分享】汽車電子之LIN<b class='flag-5'>協議</b>

    CAN/CAN FD/CAN XL三大總線協議解讀,是逐步替代關系嗎?

    進入核心市場。 不過,從市場表現來看,目前CAN/CAN FD/CAN XL各有各的市場,并非逐步取代的關系,背后的原因是什么呢? ? CAN/CAN FD/CAN XL協議解讀 CAN
    的頭像 發表于 08-12 01:12 ?5446次閱讀
    主站蜘蛛池模板: 日本吻胸抓胸激烈视频网站 | 岛国午夜 | 日本不卡在线播放 | 欧美婷婷综合 | wwwcom日本| 亚洲欧美精品 | 狠狠色综合网站久久久久久久 | 性欧美黑人巨大videos | 亚洲精品成人a | 操操操天天操 | 欧美一卡2卡三卡4卡5卡免费观看 | 国产乱淫a∨片免费视频 | 成熟女性毛茸茸xx免费视频 | 欧美黑粗硬 | 亚洲 欧美 日韩 在线 中文字幕 | 狠狠操精品视频 | 欧美一区色| 九色综合网 | 亚洲第一毛片 | 色婷婷在线视频观看 | 天天拍夜夜添久久精品中文 | 天堂最新资源在线 | 国产成人精品系列在线观看 | 亚洲欧美日韩高清mmm777 | 亚洲精品午夜久久aaa级久久久 | 久久色婷婷 | 婷婷六月久久综合丁香一二 | 亚洲天堂视频在线播放 | 午夜一级影院 | 亚洲综合激情丁香六月 | 亚洲第一区视频 | 天天干夜夜做 | 乱人伦精品一区二区 | 婷婷六月丁香色婷婷网 | 97人人揉人人捏人人添 | 免费啪啪小视频 | 美女扒开腿让男生桶爽网站 | 欧美黄色免费 | 亚洲欧洲一区二区三区在线观看 | 日本黄色片段 | 色婷婷综合久久久中文字幕 |