吴忠躺衫网络科技有限公司

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

    文章

    12188

    瀏覽量

    232463
  • CAN總線
    +關注

    關注

    145

    文章

    1955

    瀏覽量

    131099
  • SAE
    SAE
    +關注

    關注

    0

    文章

    27

    瀏覽量

    13273
收藏 人收藏

    評論

    相關推薦

    MOSFET參數解讀

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

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

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

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

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

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

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

    SAE J1939中英文資料

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

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

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

    請問ESP-IDF的WPA3-SAE的入網加密算法最耗時的是那個函數?

    請問ESP-IDF的WPA3-SAE的入網加密算法最耗時的是那個函數
    發表于 06-05 08:17

    IEC104協議電力自動化網關

    、IEC102、IEC103、PLC、空調協議、BACnet、JAE1939、KNX、Lonworks等多種協議轉換為IEC104協議,快速的接入交通軌道、電力自動化網絡中。 IEC1
    的頭像 發表于 05-23 10:28 ?656次閱讀
    IEC104<b class='flag-5'>協議</b>電力自動化網關

    請問ENC28J60不使用TCPIP協議可否使用?

    今天突發奇想,ENC28J60應該是實現了以太網的物理層的。如果我只需要和自己的產品建立連接,是否可以自己在ENC28J60的基礎上自定一個協議,這樣能否達到簡便使用以太網物理層的目的?
    發表于 05-11 07:20

    工業富聯獲頒ISO/SAE 21434汽車網絡安全認證

    2024年4月9日,工業富聯旗下子公司南寧富聯富桂精密工業有限公司獲頒ISO/SAE 21434:2021道路車輛-網絡安全工程流程認證證書,標志著其已建立起符合ISO/SAE 21434要求的網絡安全產品開發流程體系,構筑了企業網絡安全風險管控能力,為保障產品及企業的網
    的頭像 發表于 04-16 16:41 ?636次閱讀
    工業富聯獲頒ISO/<b class='flag-5'>SAE</b> 21434汽車網絡安全認證

    黑芝麻智能獲得ISO/SAE 21434:2021汽車網絡安全流程認證證書

    4月3日,黑芝麻智能獲得 ISO/SAE 21434:2021汽車網絡安全流程認證證書,標志著黑芝麻智能已建立起符合ISO/SAE 21434要求的網絡安全產品開發流程體系,構筑起網絡安全風險管控能力。
    的頭像 發表于 04-03 17:22 ?741次閱讀
    黑芝麻智能獲得ISO/<b class='flag-5'>SAE</b> 21434:2021汽車網絡安全流程認證證書

    CAN總線實現高效數據通信的關鍵技術

    CAN 總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN 為底層協議專為大型貨車和重工機械車輛設計的 J1939 協議。
    發表于 03-20 11:21 ?501次閱讀
    CAN總線實現高效數據通信的關鍵技術

    STM32WB55RG是否可以使用j-flash通過j-link燒錄協議棧和FUS bin文件?

    硬件基于STM32WB55RG是否可以使用j-flash通過j-link燒錄協議棧和FUS bin文件?
    發表于 03-12 07:14

    Microchip通過ISO/SAE 21434汽車網絡安全標準

    隨著汽車行業日益依賴無線和車載網絡連接,網絡安全問題日益凸顯。為確保道路車輛網絡安全風險得到有效管理,國際標準化組織(ISO)與國際汽車工程師學會(SAE)聯合制定了ISO/SAE 21434標準。這一嚴格的標準為汽車產品的整個生命周期,從概念到設計、生產、維護及退役,都
    的頭像 發表于 02-19 17:29 ?1046次閱讀
    单机百家乐官网游戏下| 请问下百家乐官网去哪个娱乐城玩最好呢| 百家乐官网博彩的玩法技巧和规则 | 百佬汇百家乐官网的玩法技巧和规则| 钱百家乐取胜三步曲| 澳门百家乐怎洋赢钱| 盛世国际投注| 百家乐官网开户送彩金28| 做生意的十大风水禁忌| 大发888娱乐城帝豪| 网上百家乐官网真实吗| 百家乐出租平台| 电子百家乐规则| 大发888游戏平台hg dafa 888 gw| 百家乐官网视频游戏注册| 赌百家乐大小点桌| 88娱乐城备用网址| 百家乐官网网上赌有作假吗| 百家乐心术| 皇宝娱乐| 百家乐官网技巧玩法技巧| 百家乐官网台布哪里有卖| 七胜百家乐官网娱乐城总统网上娱乐城大都会娱乐城赌场 | 百家乐官网折叠桌| 百家乐平台凯发| 现金棋牌| 百家乐赌场国际| 大发888赢钱技巧| 真人百家乐官网代理分成| 百家乐对子的玩法| 百家乐官网长路投注法| 富易堂百家乐娱乐城| bet365备用| 阴宅风水24山分金| 亚洲顶级赌场手机版| 百家乐官网高级技巧| 免费百家乐过滤工具| 百家乐官网怎么样投注| 全景网百家乐的玩法技巧和规则| 百家乐官网视频游戏客服| 大发888bocai官方下载|