J1939 汽车CAN总线协议 中文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

J1939协议简介型号:PXF0945J1939协议简介缩写ACKAcknowledgment:应答BAMBroadcastAnnounceMessage:广播通知消息CANontrollerAreaNetwork:控制器局域网CRCCyclicRedundancyCheck:循环冗余校验CTSClear-To-Send:清除发送DADestinationAddress:目标地址DLCDataLengthCode:数据长度代码DPDataPage:数据页EOFEndofFrame:框架结束或帧结束IDIdentifier:标志符IDEIdentifierExtensionBit:标志符扩展位LLCLogicalLinkControl:逻辑连接控制LSBLeastSignificantByteorLeastSignificantBit:最小有意义位或字节MACMediumAccessControl:媒体通道控制MFManufacturer:制造商MSBMostSignificantByteorMostSignificantBit:最大有意义位或字节NAnotAllowed:不应答NACKNegative-Acknowledgment:错误应答PPriority:优先级PDUProtocolDataUnit:协议数据单元PFPDUFormat:协议数据单元格式PGNParameterGroupNumber:参数组代码PSPDUSpecific:协议数据单元细节GEGroupExtension:组扩展DADestinationAddress:目标单元地址RReserved:保留RTRRemoteTransmissionRequest:远程传输请求RTSRequest-To-Send:发送请求SASourceAddress:原地址SOFStartofFrame:帧开始SRRSubstituteRemoteRequest:替代远程请求TPTransportProtocol:传送协议ThHoldTime:保持时间TrResponseTime:响应时间unUndefined:没有定义CAN2.0B包含两种格式的说明:标准格式和扩展格式。SAEJ1939必须使用扩展格式。在CAN网络上也可以有标准格式图1:标准格式图2:扩展格式SAEJ1939信息框架格式――CAN扩展格式信息,如图2所示,包含了一个协议数据单元(PDU)。PDU包含7个预先定义的部分:优先级、保留位、数据页、PDU格式、PDU细节、原地址和数据部分。表1:29位标志符CAN29位标志符J1939位的位置11位标志符CAN11位标志符J1939(1)SOFSOF(2)1SOFSOF(2)ID28P32ID11P3DI27P23ID10P2ID26P14ID9P1ID25R15ID8SA8ID24DP6ID7SA7ID23PF87ID6SA6ID22PF78ID5SA5ID21PF69ID4SA4ID20PF510ID3SA3ID19PF411ID2SA2ID18PF312ID1SA1SRR(r)SRR(r)(2)13RTR(x)RTR(2)(d)IDE(r)IDE(r)(2)14IDE(d)IDE(2)ID17PF215r0r0(2)ID16PF116DLC4DLC4ID15PS817DLC3DLC3ID14PS718DLC2DLC2ID13PS619DLC1DLC1ID12PS520ID11PS421ID10PS322ID9PS223ID8PS124ID7SA825ID6SA726ID5SA627ID4SA528ID3SA429ID2SA330ID1SA231ID0SA132RTR(r)RTR(r)(2)(d)33r1r1(2)34r0r0(2)35DLC4DLC436DLC3DLC337DLC2DLC238DLC1DLC1391.11位标志位要求的格式2.CAN定义位,在SAEJ1939里面没有改变3.注释:SOF-StartofFrameBit:框架开始位ID##-IdentifierBit#n:标志符位SRR-SubstituteRemoteRequest:替代远程请求RTR-RemoteTransmissionRequestBit:远程传送请求IDE-IdentifierExtensionBit:标志符扩展位r#-CANReservedBit#n:CAN保留位DLC#-DataLengthCodeBit#n:数据长度代码位(d)-dominantbit:显性位(r)-recessivebit:影性位(x)-bitstatedependentonmessage:位状态,有信息决定P#-SAEJ1939PriorityBit#n:SAEJ1939优先级位R#-SAEJ1939ReservedBit#n:SAEJ1939保留位SA#-SAEJ1939SourceAddressBit#n:SAEJ1939原地址位DP-SAEJ1939DataPage:SAEJ1939数据页PF#-SAEJ1939PDUFormatBit#n:SAEJ1939PDU格式位PS#-SAEJ1939PDUSpecificBit#n:SAEJ1939PDU详细位表1显示了29位标志符CAN、J1939,11位标志符的CAN、J1939仲裁和控制字段。在5。2章节里面定义了每一个SAEJ1939的完整定义。参数组代码:PGN。在CAN数据框架内有必要标志一个参数组,参数组代码用24位表示。PGN参数组代码是一个24位的值,由如下要素组成:保留位、数据页位、PDU格式域和组扩展域。将域位转换成PGN参数组代码有如下规格。如果PF的值小于240(F0),PGN的低字节设置为0。注意并不是所有的131071个组合都是可用的。表2:PGN参数组代码PGNBYTE1PGNBYTE1PGNBYTE1PGNBYTE2PGNBYTE3Bits8-3RBit2DPBit1PFBits8-1PSBits8-1PGNDec10PGNHex16000000000000239239SAE00023806092800EE0000023906118400EF001240MF0002400614400F0003840SAE0002542556527900FEFF408000025506528000FF002560002552556553500FFFF4336MF0010065536010000240001239012672001EF004576SAE001240012697601F000409600125525513107101FFFF8672SAE86728672ProtocolDataUnit(PDU):协议数据单元应用层或网络层会对PDU进行处理。SAEJ1939协议数据单元由7部分组成,他们分别是优先级、保留位、数据页、PDU格式、PDU细节(可以是目标单元地址、组扩展或所有权)、原地址和数据段。这7个部分会被封装成一个或多个CAN数据框架并且通过物理层发送给其他的网络设备。每一个CAN数据框架只有一个PDU。需要注意的是一些PGN定义需要多个CAN数据框架去发送相应的数据。CAN数据框架中的一些段并没有定义在PDU里面,因为他们是由CAN规格定义的,对于数据链接层之上的OSI层是不可见的。这些字段是由CAN协议定义的在SAEJ1939里面没有改变。这些字段包括:SOF、SRR、IDE、RTR、CRC、ACK、EOF。在图3中显示了这7个字段。在PDU中的每一个字段在后来的应用中都有定义。图3P:优先级R:保留位DP:数据页PF:PDU格式PS:PDU细节SA:原地址DateField:数据字段P优先级:有三个位用来表示信息发送到总线的优先级。对于接收者来说这三个位应该都认为0,被忽略掉。信息的优先级可以设置为0,最高,或者7,最低。所有控制信息默认的优先级是3,所有的其他的优先级默认为6。R保留位:SAE为了以后应用保留下来的,暂时无意义。DP数据页:对于参数组描述选色一个辅助的页。请参考图4。PDUFormat(PF):协议数据单元格式。PF是一个8位的字段,由这8个位决定了PDU的格式。这8个位是决定PGN参数组代码字段的一部分。PGN参数组代码是用来确定或者标志命令、数据、一些请求、应答或不应答。PGN参数组代码确定或标志的信息要求一个或多个CAN数据框架发送这些信息。如果多于8个字节的需要描述的话就需要发送多个CAN数据。如果是8个或者少于8个字节可以描述的信息,则只需要一个CAN数据即可。一个PGN参数组代码可以描述一个或多个参数信息。当然一个PGN参数组信息可以只描述一个参数,但是推荐尽可能将一个CAN数据的8个字节全都用上。PDUSpecific(PS)协议数据单元细节:PS是一个8个位字段描述,它由PDUFORMAT格式决定。由PF决定PS是目的单元地址还是组扩展。如果PF字段的值小于240,PS字段表示的是目的单元地址。如果PF字段的值是240~255,PS字段表示组扩展值。见表3,参考图4PGN参数组代码范围。表3:PDUSPECIFICPDUFormat(PF)FieldPDUSpecified(PS)FieldPDU1Format0~239DestinationAddressPDU2Format240~255GroupExtensionDestinationAddress(DA)目的单元地址:这个字段定义了信息发送的特殊地址。注意所有其他的设备应该忽略这个字段。全局目的单元地址(255)要求所有接收到这个信息的设备都必须相应这个信息。DP=DatePage(1bit)GE=GroupExtension(8bits)PF=PDUFormat(8bits)P=PriorityPS=PDUSpecific(8bits)NA=NotAllowedDA=DestinationAddress(8bits)un=UndefinedPGN=ParameterGroupNumber(3bytes)图4:SAEJ1939PARAMETERGROUPNUMBERTEMPLATEGroupExtension(GE)参数组扩展:参数组扩展字段,由PF字段的高四位决定(当PF高四位都为1后,PS字段就为GE)。每一页有4096个参数组。这些4096个参数组只能用PDU2格式。另外使用PDU1格式每一页可以有240个参数组提供。总共有8672个参数组是可以使用的。可以使用的参数组的数目可以通过一下发放计算:(240+(16*256))*2=8672240=每一页可以使用的PDU格式的数据(例如PDU1格式,PS字段表示为目的单元地址)16=每一个组扩展值的PDU格式的值(例如PDU2格式)256=所有可以使用的组扩展值的个数(例如PDU2格式)2=数据页的状态(两种PDU格式)SourceAddress(SA)原地址:8位。在一个网络里面每一个设备应该有一个唯一的原地址。原地址保证了CAN通讯标志符的是唯一的。原地址的管理和分配在SAEJ1939-81里面有描述。DateField:数据字段。当8个或者小于8个的字节可以描述一个给定的参数组,一个CAN数据框架的8个字节都可以使用。当描述一个给定的参数组需要9~1785个字节时,需要多个CAN数据框架描述。ProtocolDataUnit(PDU)Formats:在图5中介绍了可用的PDU格式。有两种PDU格式定义:PDU1格式(PS=目的单元地址)和PDU2格式(PS=组扩展)。图5:AVAILABLEPDUFORMATSPDU1格式:这种格式允许参数组发送特殊的或者全局的目的单元。PS字段表示DA目的单元地址。PDU1格式可以用作要求或发送一个未被请求的信息。PDU1格式是由PF字段决定的。当PF字段的值0~239,表示这个信息是PDU1格式。PDU2格式:这种格式只能将参数组做为全局信息来通讯。PDU2格式的信息可以用作要求或发送未被请求的信息。PDU2

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功