400-878-1895
QQ2310018808 WangwangOnline
  sales@tnkey.cn

 

 

 

 

 

 

J1939协议简介
简介:J1939协议简介缩写ACK Acknowledgment:应答 BAM Broadcast Announce Message:广播通知消息 CAN ontroller Area Network:控制器局域网 CRC Cyclic Redundancy Check:循环冗余校验 CTS Clear-To-Send:清除发送 DA Destination Address:目标地址 DLC Data Length Code:数据长度代码 DP Data Page:数据页 EOF End of Frame:框架结束或帧结束 ID Identifier:标...
Brand
Made In
Modle PXF0945
Disctount
PassionTech Ord OrderNum Product Name Price RMB Brand  
PXO_01101.02.0149.00000SAE J1939 Module for canAnalyser / canAnalyser-lite7163~7917ixxat
PXO_29001.02.0149.00000SAE J1939 Module for canAnalyser / canAnalyser-lite7163~7917ixxat
该文章系原厂商文章翻译,不通之处请参考原文

J1939协议简介


缩写
ACK              Acknowledgment:应答
BAM             Broadcast Announce Message:广播通知消息
CAN              ontroller Area Network:控制器局域网
CRC              Cyclic Redundancy Check:循环冗余校验
CTS              Clear-To-Send:清除发送
DA                Destination Address:目标地址
DLC              Data Length Code:数据长度代码
DP                Data Page:数据页
EOF              End of Frame:框架结束或帧结束
ID                  Identifier:标志符
IDE               Identifier Extension Bit:标志符扩展位
LLC               Logical Link Control:逻辑连接控制
LSB              Least Significant Byte or Least Significant Bit:最小有意义位或字节
MAC             Medium Access Control:媒体通道控制
MF                Manufacturer:制造商
MSB             Most Significant Byte or Most Significant Bit:最大有意义位或字节
NA                not Allowed:不应答
NACK            Negative-Acknowledgment:错误应答
P                  Priority:优先级
PDU              Protocol Data Unit:协议数据单元
PF                PDU Format:协议数据单元格式
PGN              Parameter Group Number:参数组代码
PS                PDU Specific:协议数据单元细节
GE                Group Extension:组扩展
DA                Destination Address:目标单元地址
R                  Reserved:保留
RTR              Remote Transmission Request:远程传输请求
RTS              Request-To-Send:发送请求
SA                Source Address:原地址
SOF              Start of Frame:帧开始
SRR              Substitute Remote Request:替代远程请求
TP                 Transport Protocol:传送协议
Th                       Hold Time:保持时间
Tr                        Response Time:响应时间
un                 Undefined:没有定义
CAN2.0B包含两种格式的说明:标准格式和扩展格式。SAE J1939必须使用扩展格式。在CAN网络上也可以有标准格式 

图1:标准格式
J1939协议

     图2:扩展格式
J1939协议


SAE J1939信息框架格式――CAN扩展格式信息,如图2所示,包含了一个协议数据单元(PDU)。PDU包含7个预先定义的部分:优先级、保留位、数据页、PDU格式、PDU细节、原地址和数据部分。
表1:


29位标志符
CAN

29位标志符
J1939

 

位的位置

11位标志符
CAN

11位标志符
J1939(1)

SOF

SOF(2)

1

SOF

SOF(2)

ID28

P3

2

ID11

P3

DI27

P2

3

ID10

P2

ID26

P1

4

ID9

P1

ID25

R1

5

ID8

SA8

ID24

DP

6

ID7

SA7

ID23

PF8

7

ID6

SA6

ID22

PF7

8

ID5

SA5

ID21

PF6

9

ID4

SA4

ID20

PF5

10

ID3

SA3

ID19

PF4

11

ID2

SA2

ID18

PF3

12

ID1

SA1

SRR(r)

SRR(r) (2)

13

RTR(x)

RTR(2)(d)

IDE(r)

IDE(r) (2)

14

IDE(d)

IDE(2)

ID17

PF2

15

r 0

r 0(2)

ID16

PF1

16

DLC4

DLC4

ID15

PS8

17

DLC3

DLC3

ID14

PS7

18

DLC2

DLC2

ID13

PS6

19

DLC1

DLC1

ID12

PS5

20

 

 

ID11

PS4

21

 

 

ID10

PS3

22

 

 

ID9

PS2

23

 

 

ID8

PS1

24

 

 

ID7

SA8

25

 

 

ID6

SA7

26

 

 

ID5

SA6

27

 

 

ID4

SA5

28

 

 

ID3

SA4

29

 

 

ID2

SA3

30

 

 

ID1

SA2

31

 

 

ID0

SA1

32

 

 

RTR(r)

RTR(r)(2)(d)

33

 

 

r 1

r 1(2)

34

 

 

r 0

r 0(2)

35

 

 

DLC4

DLC4

36

 

 

DLC3

DLC3

37

 

 

DLC2

DLC2

38

 

 

DLC1

DLC1

39

 

 

  1. 11位标志位要求的格式
  2. CAN定义位,在SAE J1939里面没有改变
  3. 注释:

SOF - Start of Frame Bit :框架开始位                             
ID## - Identifier Bit #n   :标志符位                                 
SRR - Substitute Remote Request :替代远程请求          
RTR - Remote Transmission Request Bit     :远程传送请求
IDE - Identifier Extension Bit                          :标志符扩展位
r# - CAN Reserved Bit #n                              :CAN保留位
DLC# - Data Length Code Bit #n                   :数据长度代码位
(d) - dominant bit                         :显性位
(r) - recessive bit                         :影性位
(x) - bit state dependent on message        :位状态,有信息决定

P# - SAE J1939 Priority Bit #n              :SAE J1939优先级位
R# - SAE J1939 Reserved Bit #n            :SAE J1939保留位
SA# - SAE J1939 Source Address Bit#n      :SAE J1939原地址位
DP - SAE J1939 Data Page                 :SAE J1939数据页
PF# - SAE J1939 PDU Format Bit #n         :SAE J1939 PDU 格式位
PS# - SAE J1939 PDU Specific Bit #n           :SAE J1939 PDU详细位
表1 显示了29位标志符CAN、J1939,11位标志符的CAN、J1939仲裁和控制字段。在5。2章节里面定义了每一个SAE J1939的完整定义。

参数组代码:PGN。
在CAN数据框架内有必要标志一个参数组,参数组代码用24位表示。PGN参数组代码是一个24位的值,由如下要素组成:保留位、数据页位、PDU格式域和组扩展域。将域位转换成PGN参数组代码有如下规格。如果PF的值小于240(F0),PGN的低字节设置为0。
注意并不是所有的131071个组合都是可用的。
表2:PGN参数组代码


PGN
BYTE1

PGN BYTE1

PGN
BYTE1

PGN
BYTE 2

PGN
BYTE3

 

 

 

 

 

Bits 8-3

R
Bit2

DP
Bit1

PF
Bits 8-1

PS
Bits 8-1

PGN
Dec10

PGN
Hex16

 

 

 

0

0

0

0

0

0

000000

239

239

SAE

 

0

 

0

 

0

 

238

 

0

 

60928

 

00EE00

 

0

0

0

239

0

61184

00EF00

1

240

MF

0

0

0

240

0

61440

0F000

 

3840

 

SAE

 

0

 

0

 

0

 

254

 

255

 

65279

 

00FEFF

 

4080

 

0

0

0

255

0

65280

00FF00

 

256

 

 

 

0

 

0

 

0

 

255

 

255

 

65535

 

00FFFF

 

4336

MF

0

0

1

0

0

65536

010000

 

240

 

 

 

0

 

0

 

1

 

239

 

0

 

126720

 

01EF00

 

4576

SAE

0

0

1

240

0

126976

01F000

 

4096

 

 

 

0

 

0

 

1

 

255

 

255

 

131071

 

01FFFF

 

8672

SAE

 

 

 

 

 

 

 

8672

8672

 

Protocol Data Unit (PDU):协议数据单元
应用层或网络层会对PDU进行处理。SAE J1939协议数据单元由7部分组成,他们分别是优先级、保留位、数据页、PDU格式、PDU细节(可以是目标单元地址、组扩展或所有权)、原地址和数据段。这7个部分会被封装成一个或多个CAN数据框架并且通过物理层发送给其他的网络设备。每一个CAN数据框架只有一个PDU。需要注意的是一些PGN定义需要多个CAN数据框架去发送相应的数据。
CAN数据框架中的一些段并没有定义在PDU里面,因为他们是由CAN规格定义的,对于数据链接层之上的OSI层是不可见的。这些字段是由CAN协议定义的在SAE J1939里面没有改变。这些字段包括:SOF、SRR、IDE、RTR、CRC、ACK、EOF。

 在图3中显示了这7个字段。在PDU中的每一个字段在后来的应用中都有定义。

图3
J1939协议
P:优先级
R:保留位
DP:数据页
PF:PDU格式
PS:PDU细节
SA:原地址
Date Field:数据字段
P优先级:有三个位用来表示信息发送到总线的优先级。对于接收者来说这三个位应该都认为0,被忽略掉。信息的优先级可以设置为0,最高,或者7,最低。所有控制信息默认的优先级是3,所有的其他的优先级默认为6。
R保留位:SAE为了以后应用保留下来的,暂时无意义。
DP数据页:对于参数组描述选色一个辅助的页。请参考图4。
PDU Format(PF):协议数据单元格式。PF是一个8位的字段,由这8个位决定了PDU的格式。这8个位是决定PGN参数组代码字段的一部分。PGN参数组代码是用来确定或者标志命令、数据、一些请求、应答或不应答。PGN参数组代码确定或标志的信息要求一个或多个CAN数据框架发送这些信息。如果多于8个字节的需要描述的话就需要发送多个CAN数据。如果是8个或者少于8个字节可以描述的信息,则只需要一个CAN 数据即可。一个PGN参数组代码可以描述一个或多个参数信息。当然一个PGN参数组信息可以只描述一个参数,但是推荐尽可能将一个CAN数据的8个字节全都用上。
PDU Specific(PS)协议数据单元细节:PS是一个8个位字段描述,它由PDU FORMAT格式决定。由PF决定PS是目的单元地址还是组扩展。如果PF字段的值小于240,PS字段表示的是目的单元地址。如果PF字段的值是240~255,PS字段表示组扩展值。见表3,参考图4 PGN参数组代码范围。
表3:PDU SPECIFIC

 

PDU Format(PF) Field

PDU Specified(PS) Field

PDU1 Format

0~239

Destination Address

PDU2 Format

240~255

Group Extension

Destination Address(DA)目的单元地址:这个字段定义了信息发送的特殊地址。注意所有其他的设备应该忽略这个字段。全局目的单元地址(255)要求所有接收到这个信息的设备都必须相应这个信息。

 

DP   = Date Page(1 bit)                                   GE=Group Extension(8bits)
PF   = PDU Format (8bits)                              P=Priority
PS   = PDU Specific(8bits)                             NA=Not Allowed
DA   = Destination Address(8bits)                    un=Undefined
PGN  =Parameter Group Number(3bytes)
图4:SAE J1939 PARAMETER GROUP NUMBER TEMPLATE
J1939协议
Group Extension(GE)参数组扩展:参数组扩展字段,由PF字段的高四位决定(当PF高四位都为1后,PS字段就为GE)。每一页有4096个参数组。这些4096个参数组只能用PDU2格式。另外使用PDU1格式每一页可以有240个参数组提供。总共有8672个参数组是可以使用的。
可以使用的参数组的数目可以通过一下发放计算:
(240+(16 * 256))*2=8672
240 =每一页可以使用的PDU格式的数据(例如PDU1格式,PS字段表示为目的单元地址)
16= 每一个组扩展值的PDU格式的值(例如PDU2格式)
256=所有可以使用的组扩展值的个数(例如PDU2格式)
2=数据页的状态(两种PDU格式)

Source Address(SA)原地址:8位。在一个网络里面每一个设备应该有一个唯一的原地址。原地址保证了CAN通讯标志符的是唯一的。原地址的管理和分配在SAE J1939-81里面有描述。
Date Field:数据字段。当8个或者小于8个的字节可以描述一个给定的参数组,一个CAN数据框架的8个字节都可以使用。当描述一个给定的参数组需要9~1785个字节时,需要多个CAN数据框架描述。

Protocol Data Unit(PDU)Formats:在图5中介绍了可用的PDU格式。有两种PDU格式定义:PDU1格式(PS=目的单元地址)和PDU2格式(PS=组扩展)。
图5:AVAILABLE PDU FORMATS


J1939协议


PDU1格式:这种格式允许参数组发送特殊的或者全局的目的单元。PS字段表示DA目的单元地址。PDU1格式可以用作要求或发送一个未被请求的信息。PDU1格式是由PF字段决定的。当PF字段的值0~239,表示这个信息是PDU1格式。
PDU2格式:这种格式只能将参数组做为全局信息来通讯。PDU2格式的信息可以用作要求或发送未被请求的信息。PDU2格式是由PF决定的,当PF的值在240~255之间,表示这个信息是PDU2格式。

信息类型:当前能够提供5中信息类型:命令、请求、广播/相应,应答和组功能。这些特殊的信息类型可以由相关的PGN参数组。
命令:这种参数类型将那些命令一个特殊或全局目的但于的参数组加以分类。目的单元根据接收的命令信息执行特殊的动作。PDU1和PDU2格式都可以用做命令格式。例如命令类型的信息包括:发送控制、地址请求、扭矩/速度控制等等。

Related Products
Question About the Products  If you have Anyquestion about the products,Please write here!
Title:
Input Question:
Contact: