Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation1J1939-21网络链路层简介PreparedbyMaoLP2010-10-30Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation2•J1939综述•J1939和CAN协议的比较•协议数据单元•参数群编号•命令类型目录Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation3SAEJ1939综述用于为中重型道路车辆(卡车、客车、建筑机械、农业机械等)上电子部件间的通讯提供标准的总线通信协议,诞生于1994年。美国汽车工程协会(SAE)的推荐标准,由“卡车与客车电气与电子委员会”(Track&BusElectrical&ElectronicsCommittee)的“卡车与客车控制和通讯网络小组委员会”(Track&BusControlandCommunicationsNetworkSubcommittee)开发编写。以德国博世公司(RobertBoschGmbH)开发的控制局域网CAN2.0B协议为基础,扩展定义了网络层和应用层。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation4J1939综述SAEJ1939的文档构成:1.物理层:J1939-01/11/152.数据链路层:J1939-213.网络层:J1939-314.应用层:J1939-715.网络管理:J1939-816.故障诊断:J1939-31/73这里只介绍J1939-21数据链路层。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation5J1939-21数据链路层数据链路层定义了报文帧的数据结构、编码规则,包括通信优先权、传输方式、通信要求、总线仲裁、错误检测及处理,负责将CAN扩展帧的29位标识符重新分组定义,使报文的标识符就能够描述报文的全部特征,包括目标地址、源地址、消息类型等内容。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation6J1939和CAN的数据帧比较J1939全面定义了使用扩展帧格式的标准化通信,标准帧格式只作为专用消息按J1939规定来使用。CAN中不用节点地址,J1939为设备统一分配地址。和CAN2.0B相比,J1939更进一步地定义了报文格式中仲裁字段的29个标识符位。数据帧的起始位SOF、替代远程请求位SRR、标识符扩展位IDE、远程发送请求位RTR、控制字段、CRC(校验)字段、ACK(应答)字段和EOF(帧结尾)字段七部分仍按CAN协议定义,SAEJ1939不作修改。附件为CAN数据帧格式及CAN与J1939仲裁字段对照。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation7J1939协议数据单元♪J1939把那些重要的报文信息概括在一起,统称为协议数据单元ProtocolDataUnit(PDU)。♪PDU包括29位的标识符和数据字段。♪29位的标识符被划分为六个部分:优先级字段P、扩展数据页位EDP、数据页位DP、协议数据单元格式PF、特定协议数据单元PS和源地址SA。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation8优先级字段Priority(P)-位于仲裁字段前3位,数据传输时具有最高的相对优先级。-可从最高0设置到最低7,所有控制/命令类报文的默认优先级为3,其他报文如信息、专用、请求和响应的默认优先级是6。-报文接收方应将该字段的屏蔽位全部关闭(即无验收滤波,全接收),程序设计时可重编程该字段对报文优先级作调整。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation9扩展数据页位ExtendedDataPage和数据页位DataPage(EDP/DP)-位于仲裁字段和第4和第5位。-用来确定数据帧标识符的体系结构。-J1939当前报文的EDP:DP只使用00或01;EDP:DP=10保留作将来使用。-若EDP:DP=11,则表示这是一条ISO15765-3规范的报文。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation10协议数据单元格式PDUFormat(PF)-位于仲裁字段的第6~11和14~15位(8位)。-有两种协议数据单元格式:PDU1和PDU2。-PDU1格式的取值范围为0~239;PDU2格式的取值范围为240~255。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation11特定协议数据单元PDUSpecific(PS)-位于仲裁字段的第16~23位(8位)。-其含义取决于PF:若PF为PDU1格式,则PS值表示目标地址;PF为PDU2格式,则PS值表示群扩展。-目标地址为预定要接收报文的设备地址;目标地址=255为全局地址,表示网络上的所有设备均可接收该条报文。-PDU2格式只能全局广播。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation12源地址SourceAddress(SA)-位于仲裁字段的第24~31位(8位)。-SA值为报文发送设备对应的地址。-源地址确保了报文ID的唯一性。-关于J1939“地址管理和分配”,参考SAEJ1939-81。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation13数据字段DataField(0~8字节)-当报文参数(群)只有小于等于8字节的数据时,建议使用全部8个字节,以备将来需要添加参数时不会影响到旧版本的设备。-报文帧的数据长度代码DLC应设置为已定义的数据长度数值。-数据长度一旦确定不应更改,因涉及到网络上众多和该数据有关的设备。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation14数据字段DataField(9~1785字节)当传输的数据长度多于8字节时,需要使用“传输协议”功能来通信。-对特定目标地址发送,使用RTS/CTS报文进行点对点连接;-对全局目标发送,使用BAM通知网络设备将广播长消息。-数据的传输时使用“传输”PG。J1939协议数据单元Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation15J1939的参数群编号ParameterGroupNumber占有3个字节24位。参数群编号(PGN)是这样得来的-高字节:6个0(最高有效位)+EDP+DP(8位)-第2字节:PDU格式字段(8位)-低字节:PS字段之群扩展或0(8位)-PGN值和EDP、DP、PF、PS值一一对应J1939可分配的PGN总数为8692个,已分配的PGN请参考SAE1939-71。J1939参数群编号Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation16J1939地址和PGN的分配J1939可分配的最大地址数为2^8=256分配参数群编号时,除了PGN相关的EDP、DP、PF、PS(如需要),也需要指明传输重复率、默认优先级和参数列表。一旦确定了PGN,以及发送该PGN的源地址与/或预期接收该PGN的目标地址,则报文的ID也可确定。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation17J1939传输协议功能无论是主动传输还是响应请求,对特定目标地址大于8字节的数据将以传输协议功能来传输。信息的打包与重组连接管理数据传输Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation18目前支持的报文类型有:命令请求广播/响应应答群功能这里介绍其中几条报文的定义J1939的报文类型Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation19J1939报文类型-请求定义:向网络上的设备请求参数群。PGN:59904。-默认优先级:6-扩展数据页:0和数据页:0-PDU格式:234-特定PDU:目标地址数据长度和数据字段:3字节;所请求的参数群编号,以摩托罗拉格式发送。传输重复率:使用者决定,推荐每秒不多于2次或3次。Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation20响应时,请求是发送到特定(全局)目标,则响应也发到特定(全局)目标。例外:-不多于8字节的PDU2格式PGN只能响应到全局;-地址声明和应答PGN应响应到全局地址。不支持请求的PGN时:-请求是发送到特定目标,则需发NACK响应;-请求是发送到全局目标,NACK不允许作为响应。大于8字节数据的PGN,响应到特定地址时必须使用传输协议TP,响应到全局地址。J1939报文类型-请求Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10/6ATLConfidentialInformation21定义:用于在发送和接收设备之间提供一种握手机制。PGN:59392-默认优先级:6-扩展数据页:0和数据页:0-PDU格式:232-特定PDU:目标地址255数据长度:8字节。传输重复率:收到的参数群编号要求这种应答形式时。J1939报文类型-应答Surpassingcustomer’sexpectationAmperexTechnologyLimited2019/10