精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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的物理層、數據鏈路層、應用層的測試開發和測試實施有著豐富的經驗,也歡迎大家共同探討。

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

    關注

    155

    文章

    11689

    瀏覽量

    227844
  • CAN總線
    +關注

    關注

    145

    文章

    1896

    瀏覽量

    130330
  • SAE
    SAE
    +關注

    關注

    0

    文章

    25

    瀏覽量

    13166
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

    求助,為什么在CAN數據庫(.dbc文本文件)中找不到報文?

    我有CAN數據庫(dbc文件)。這是一個文本文件。此文件的擴展名為 dbc。在Vector CANdb++編輯器中打開它時,將填充J1939報文和CAN ID。 但是,在.dbc文本文件中找不到
    發表于 01-23 06:28

    琢磨了一天的CAN協議

    最新公司需要利用J1939的CAN協議進行數據通信,琢磨了一天,才明白,現在整理成筆記,內容如下:1.數據幀格式數據幀格式應遵循CAN29位標識符的擴展幀格式,CAN數據幀由很多域組成(仲裁域+控制
    的頭像 發表于 01-10 08:00 ?407次閱讀
    琢磨了一天的CAN<b class='flag-5'>協議</b>

    是什么原因導致AD1939采集信號失真?如何解決?

    ADI工程師: 你好,我在使用AD1939進行數據采集時碰到了采樣的數據失真的問題,再次將問題列出,請相關人員或者論壇上的朋友解答。 我設計的工程中,AD1939與fpga, fpga
    發表于 12-18 07:13

    CanEasy多場景應用,讓汽車總線測試更簡單

    ,以及在整個開發過程中進行剩余總線模擬,實現從測試到控制單元的參數化。 除基礎總線協議外,CanEasy也支持SOME/IP、DoIP、OBD2、UDS、XCP/CCP、J1939協議以及讀取CDD
    的頭像 發表于 12-11 09:46 ?927次閱讀
    CanEasy多場景應用,讓汽車總線測試更簡單

    SAE J1939網絡層與應用層#J1939 #汽車總線

    汽車總線網絡層
    北匯信息POLELINK
    發布于 :2023年11月27日 11:23:33

    SAE J1939數據鏈路層#J1939 #汽車總線

    數據汽車總線
    北匯信息POLELINK
    發布于 :2023年11月21日 15:54:14

    SAE J1939協議解讀--什么是J1939?#汽車總線 #J1939

    汽車總線
    北匯信息POLELINK
    發布于 :2023年11月15日 18:16:32

    解讀Modbus通訊協議

    作為工控人,Modbus 通訊協議想必都不陌生,Modbus 通訊協議可以說是工業自動化領域應用最為廣泛的通訊協議,因為他的開放性、可擴充性和標準化使他成為通用工業標準。 1979 年施耐德電氣制定
    的頭像 發表于 11-09 16:39 ?1279次閱讀

    傳感控制芯片SNJ08L152應用——SENT傳感器

    琻捷電子的傳感控制芯片SNJ08L152是一款支持SENT(SAE J2716-2016)協議并且支持高精度ADC測量的車規級SOC,具有豐富的存儲資源和外設資源。
    的頭像 發表于 11-01 13:44 ?2698次閱讀
    傳感控制芯片SNJ08L152應用——SENT傳感器

    一文詳解CAN通信協議結構設計

    CAN 總線協議已經成為汽車計算機控制系統和嵌入式工業控制局域網的標準總線,并且擁有以CAN 為底層協議專為大型貨車和重工機械車輛設計的 J1939 協議
    發表于 10-17 09:36 ?558次閱讀
    一文詳解CAN通信<b class='flag-5'>協議</b>結構設計

    工程機械中的CANOPEN JAE1939網關:物聯網技術提升

    在工程機械應用領域,數據的采集、傳輸和處理成為越來越重要的問題。為了更好地解決這個問題,CANOPEN JAE1939轉Modbus網關應運而生。本文將介紹鋇錸CANOPEN JAE1939轉Modbus網關BL120CN的使用場景、
    的頭像 發表于 09-26 11:20 ?595次閱讀
    工程機械中的CANOPEN JAE<b class='flag-5'>1939</b>網關:物聯網技術提升