一
什么是SAE-J1939?
SAE-J1939(以下簡稱J1939)是美國汽車工程協會(SAE)的推薦標準,廣泛用于是商用車(重卡、大客車等道路車輛和工程機械、農業機械、軌道機車、船舶等非道路車輛及設備)上電子部件間的數字通訊。
二
SAE-J1939與CAN2.0的關系
CAN2.0(前文指路)是一種總線規范,是數據鏈路層的技術。J1939是SAE(美國汽車協會)基于CAN總線定義的的規范,主要用于解決不同發動機廠商、不同ECU廠商之間的兼容性問題。
J1939定義了一系列的PGN和SPN,這些PGN包含了發動機、變速器、車軸等汽車上各部件的信息;對參數的表示方法(狀態和值)又定義了SLOT(Scaling—比例、Limit—界限、Offset—偏移、Transfer—傳送)。ECU廠商開發設備時都應該遵循這個規范。ECU模塊的功能不同、廠商不同,在J1939的基礎上,又表現出其多樣性:支持或者不支持某些PGN、SPN和SLOT;新增了某些J1939未定義的PGN和SPN。
三
SAE-J1939與CAN2.0B消息幀格式
CAN2.0規范包括CAN2.0A(標準幀格式),CAN2.0B(擴展幀格式),二者使用不同的幀格式位碼。J1939是在CAN2.0B的基礎上進一步封裝,對仲裁場部分的29位ID的重新定義。SAE-J1939中只為擴展幀格式定義了標準化的通信,因此,SAE-1939設備必須使用擴展幀格式。
SAE-J1939將每個數據幀(PDU,協議數據單元)融合進一個CAN2.0數據幀中,其結構如下:
CAN擴展幀的數據幀格式與SAE-J1939協議數據單元對比如下圖:
參數群編號(PGN):
PGN對于制定基于SAE-J1939的CAN協議來說十分重要,很多ECU廠商規定在接受CAN報文時識別的就是PGN而不是整個報文的ID。參數群編號是由24位組成的(其實是18位),主要包括下面幾個部分:保留位(R,1bit,默認為:0),數據頁位(DP,1bit,多數情況下為:0),PDU格式(PF,8bit)和特定PDU(PS,8bit,目標地址是否群擴展)。當PF值為:0~239之前時PGN的低字節將被設置為:0;當PF值為240~254之時,PGN的低字節為PS的值。PGN結構如下表:
-
CAN
+關注
關注
57文章
2662瀏覽量
462427 -
總線
+關注
關注
10文章
2817瀏覽量
87696
發布評論請先 登錄
相關推薦
評論