《SAE J1939中文完整文件.doc》由会员分享,可在线阅读,更多相关《SAE J1939中文完整文件.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、路面车辆推荐操作规程(被采纳为美国国家标准)SAEJ1939:串行控制通信汽车网络的推荐操作规程前言本系列SAE推荐操作规程是由卡车及客车电子电气委员会所属的卡车及客车控制及通信小组委员会制定的。该小组委员会的目标是针对电控单元的需求、设计和使用,提交信息报告、制定推荐操作规程。这些电控单元在汽车部件之间传递着电子信号和控制信息。本规程的使用不限于卡车和客车应用,其对于其他的应用也可以提供直接的支持,正如已在建筑及农业设备和固定式的动力系统。本推荐操作规程的最终目标是形成工业标准,因此可能为适应实际应用和技术进步作出经常性的调整。本推荐操作规程中描述的控制局域网(Controller Area
2、 Network,CAN)协议是博世公司(Robert Bosch GmbH,Bosch)的知识产权。博世将给予所有要生产或设计控制局域网电控单元的企业一个证书。只有包含了控制局域网协议的集成芯片或软件的制造商需要办理版权证书的手续,对控制局域网协议的使用并不需要申请证书。有关证书授权的信息和典型应用可以在下述地址获得:Robert Bosch GmbHAttn: Licensing DepartmentPO Box 106050D-70049 StuttgartFederal Republic of Germany本推荐操作规程的制定是作为在J1708、J1587和J1922推荐操作规程中所
3、完成工作的延续。但J1939系列的推荐操作规程相比上述早期文件提供了更高的性能。目 录前言11目标31.1开放程度31.2执行验证32参考32.1出版物32.2定义及缩写42.2.1定义42.2.2缩写62.3开放系统互连模型参考:72.4文档结构指南83技术规定93.1J1939教程93.1.1简介103.1.2消息格式和使用方法103.1.3地址和名称(J1939/81及附录B)113.1.4通信方式133.1.5传送消息(使用J1939/21和J1939/7X)133.1.6接收消息(使用J1939/21和J1939/7X)133.1.7电控单元设计(使用J1939/11、J1939/2
4、1和J1939/7X)143.1.8网络拓扑J1939/01使用物理层J1939/11和网络层J1939/31143.2预分配值143.2.1参数群编号153.2.2数据域分组153.2.3名称系统和功能163.2.4产业类群163.2.5制造商代码173.2.6首选地址173.2.7可疑参数编号(SPN)173.3应用实例181 目标本推荐规程供轻型、中型或重型的车辆或者合适的使用车辆派生部件(如发动机组)的固定设施使用。涉及的车辆包括(但不限于):卡车及其拖车;建筑设备以及农业设备和器具。本推荐规程的目的是提出一个电子系统间的开放互联系统。即通过提供一个标准的框架使电控单元(Electro
5、nic Control Units,ECU)之间可以实现相互通信。1.1 开放程度一个J1939的网络开放到这样一种程度,即两个遵循同一个J1939/0X文件的电控单元可以通过该网络连接以及彼此通信而不需要实现额外的功能接口。J1939/0X文件描述了某种特定类型的应用,典型的情形是代表了与其相关的一个特定的工业,如农业机械或重型卡车。遵循不同J1939/0X的电控单元之间有可能不能进行直接的相互通信,并且它们的混用在有些情况下有可能引起整个网络的工作失常或完全崩溃。1.2 执行验证目前并没有一个流程来测试、验证或正式批准使用J1939网络的电控单元。委员会希望每个开发者都能按照本推荐规程的宗
6、旨,以及遵循本推荐规程的相应约定来设计他们的产品。在J1939/11和J1939/21中对针对本规程的自我验证做出了规定。委员会希望在将来能够定义并实现用来测试新产品与所有适用J1939文件的完全兼容性的流程。在此之前,特定产品对本规程的执行程度将只能作名义上的判断。针对本规程的任何部分的使用或解释的疑问都应该被提交到SAE控制和通信小组委员会来进行决议。2 参考2.1 出版物ISO7498信息处理系统开放系统互连基本参考模型ISO11898路面车辆数字信息交换控制局域网(高速),1992年12月ISO 11992路面车辆牵引车辆或被牵引车辆的电气连接数字信息交换(第1、2、3部分)SAE J
7、1213汽车电子术语表SAE J1708重型汽车微机系统串行数据连接的推荐操作规程SAE J1587重型汽车微机系统电子数据连接的推荐操作规程SAE J1922高速公路中型或重型柴油车辆的电子控制设备的传动控制接口SAE出版物可在SAE,400 Commonwealth Drive, Warrendale, PA 15096-0001获得。ISO出版物可在ANSI,11 West 42nd Street, New York, NY 110036获得。2.2 定义及缩写本文件中的定义将取代SAE J1213中相应的定义。SAE J1213中的定义在其他地方是完全适用的。2.2.1 定义应答(Ac
8、knowledgement,ACK) 确认所要求的动作已经被理解并完成;地址(Address) 定义消息的源节点(或在适用情况下为目的节点)的一个(或一些)8位域;仲裁(Arbitration) 一个或多个ECU在获取对共用总线的访问权时解决冲突所使用的过程;位填充(Bit Stuffing) 一个被用来保证发送或接收消息具有最小1-0跳变并使CAN数据帧中的比特流能够正确的再同步的处理方式。更详细的讨论参见CAN的说明;桥接器,桥路(连接器)(Bridge) 两个J1939网段之间存储并转发消息的设备。它保证不同网段间介质、电器接口和数据传输率的转换。桥接器两端的协议和地址空间保持不变,但请
9、注意为了尽可能减小各网段总线的负载,桥接器可能会选择性的过滤掉某些通过它的消息;总线(Bus) 见网段;CAN数据帧(CAN Data Frame) 组成传送数据的CAN协议帧所必需的有序比特流,以帧起始(SOF)开始以帧结束(EOF)结尾;循环冗余校验(Cyclic Redundancy Check,CRC) 一种错误控制算法。这里使用了15位的CRC来检测传输错误。对于k比特的消息或帧,发送器产生一个n位帧检测序列。这样由k+n位组成的结果帧对这个预先定义的数就是可分的。接收器按该数对收到的数据进行除法运算,若没有余数则可认为没有错误发生;数据域(Data Field) CAN数据帧中包含
10、应用层(文档J1939/7X)定义的0-64位数据;数据页(Data Page) CAN数据帧的标志符中用来在两页参数群编号中选择其中一页的一个比特。它为参数群编号将来的扩展提供了可能。它也是用来确定标明CAN数据帧中的数据域的参数群编号的各个域之一;目标地址(Destination Address,DA) 用来指出要接收J1939消息的ECU的29位CAN标志符中的特定协议数据单元域;设备(Device) 具有一个或多个ECU和网络连接的实际的部件;电(子)控(制)单元(Electronic Control Unit,ECU) 可以发出J1939消息的计算机化的电子装置;帧结束(End of
11、 Frame,EOF) 标志CAN数据帧结束的7位的域;扩展帧(Extended Frame) CAN2.0规范中定义的使用29位标志符的CAN数据帧;帧(Frame) 形成整个消息的一系列数据位。帧又被划分成几个域,每个域包括了预定义类型的数据。参见CAN数据帧;功能(Function) 具有一个或多个连接在J1939总线网段上的ECU的车辆系统的能力。功能的值在64位ECU名称中的8位功能域中被定义;网关(Gateway) 该设备使数据可以在两个使用不同协议或消息组的网络中传输,网关提供了在从一个网段向另一个传送消息时将参数重新包装到新的消息中的手段;群扩展(Group Extension
12、(GE)这是J1939 CAN数据帧PDU中的一个域,是决定参数群编号时必不可少的信息;标识符(Identifier)CAN仲裁域的标识部分;空闲状态(Idle)没有节点传输或试图传输数据时的CAN总线状态;装置(Implement)由一个或多个电控单元组成的机构,可以附在车辆上或脱离车辆单独使用;介质(Media)网络中在电控单元间承载电气传输(或相似通信方法)的物理实体。对J1939/11而言,介质是屏蔽双绞线;消息(Message)“消息”是指一个或多个拥有相同参数群编号的“CAN数据帧”。例如,在总线上传送的编号相同的和参数群信息可能包含多个CAN数据帧;多组消息(Multipacke
13、t Messages)一种J1939消息,在当前拥有相同参数群编号的所有数据需要多个CAN数据帧来传送时使用。每个CAN数据帧拥有相同的标识符,但在每个信息包中包含不同的数据;名称(NAME)被用来标识电控单元主要功能及其实例的8字节数值。一个设备的名称必须是唯一的,在当前车辆网络中不可以有两个设备共享同一个名称;节点(Node)将电控单元与网络相连的硬件。一个节点在网络中可能拥有多个地址;非易失性(Non-Volatile)在任何情况甚至断电情况下,保持可变内存数据的能力。该功能被用于电控单元的地址和名称等在使用过程中会更改的重要数据。只读存储器从技术上来讲具有非易失性,但因为其数据无法在使
14、用过程中更改,因此不是本文所推荐的;拒绝应答(Negative-Acknowledgment(NACK)该应答表明,某个设备不能理解一个消息或者无法实现一个请求操作;信息包(Packet)一个CAN数据帧就是一个信息包。信息包还可以是,用一个CAN数据帧就可以包含被传送的全部参数群的消息;参数群(Parameter Group(GP)在同一个J1939消息中传送的参数集合。参数群可以包括:命令、数据、请求、应答和拒绝应答等。不论是在一个单信息包消息还是在多组消息中,参数群都被看作数据。因为参数群不必包含源地址,因此任何设备都可以送出参数群;参数群编号(Parameter Group Numbe
15、r(PGN)3字节,24位,包含了保留位、数据页、PDU格式和群扩展域等信息。参数群编号唯一的标识了一个确定的参数群;协议数据单元格式(PDU Format(PF)29位标识符中一个8位数据,表明了协议数据单元的格式,并且被部分或完全的用来为参数群提供标志。该数据在参数群中还被用来标注CAN数据帧的数据域;特定协议数据单元(PDU Specific(PS)29位标识符中一个8位数据,其具体数据由协议数据单元格式的值决定。该数据可能是一个目标地址(DA),还可能是群扩展(GE)信息。该数据在参数群中也被用来标注CAN数据帧的数据域;1型协议数据单元(PDU1 Format)用在将被发送到指定目标
16、地址(DA)的消息中。特定协议数据单元(PS)中包含了目标地址(特定或全局);2型协议数据单元(PDU2 Format)该格式用来发送被使用群扩展技术标注的信息。这种协议数据单元不包含目标地址。在该格式下,特定协议数据单元(PS)中包含的是群扩展信息;首选地址(Preferred Address)在申请地址时,电控单元首先尝试使用的地址。首选地址由委员会分配;优先权(Priority)在标识符中占一个3比特区域,设置了传输过程中的仲裁优先级。最高优先级为0,最低优先级为7;协议数据单元(Protocol Data Unit(PDU)一个协议数据单元指一个J1939特定CAN数据帧格式;远程传输
17、请求(Remote Transmission Request(RTR)CAN协议的特性之一就是允许一个电控单元请求其他电控单元发送消息。该CAN特性没有在J1939中使用,取而代之的是另一种专门为J1939设计的请求机制;中继器(Repeater)一种可以使来自于一个媒体段的数据信号再生并送到另一个媒体段的设备。该设备允许在总线上接入更多电气负载(设备),或者连接另一种类型的媒介(物理层扩展)。在中继器两端的速度(数据传输速率)、协议(数据链路层)和地址空间应该是相同的。J1939要求,重新生成数据信号产生的延时相对于每位数据的传输都要保持在一个很小的比率以下;保留位(Reserved Bit
18、)SAE在29位标识符中为将来定义而保留的一个数据位。同时也是标注CAN数据帧中数据域的参数群编号的一个域;路由器(Router)一种容许拥有不同地址空间、不同数据传输速率和不同媒体的网段进行消息交换的设备。该设备使得每个网段有最小的总线负载,同时可以从远程网段获得关键消息。跨越各网段的协议要保持一致。注意为了把消息从网段1上的地址X翻译并路由到网段2上的地址Y,路由器必须要拥有对应的查询表;网段(Segment)指当前网络的物理介质和网络中没有通过网络互连电控设备连接的节点。在网络中同一段内的电控单元可以同时检测到信号(例:在不同的网络电气部分间没有中间设备)。网络的不同段可以通过网络互连电
19、控单元,包括中继器、桥接器和路由器等,连接在一起;源地址(Source Address(SA)在29位标识符中表示消息来源的8位数据域。源地址域中保存了发出消息的电控单元的地址;标准帧(Standard Frame)符合CAN 2.0b规范,采用11位标识符的CAN数据帧;帧起始(Start of Frame(SOF)CAN数据帧中用来表示帧开始的第一个数据位;子网(Subnetwork)当有多个段的被使用的时候,在一个特定的SAE J1939段内的网络活动(消息传递)。子网可以包括:牵引车、 拖车、装置和刹车系统。注意,子网可由桥接器、路由器或网关分离开,以减少网段内的总线通信量。综上,SA
20、E J1939车辆网络由各种子网构成;车辆(Vehicle)在大多数应用中,可以驱动自己和一个或多个J1939段的机械。车辆由连接在一起的一个或多个车辆系统装配而成;车辆系统(Vehicle System)车辆的组成部分,或者与车辆的组成部分相似的部分,包括一个或多个可以连接或从车辆上断开的J1939段。一个车辆系统可由多个功能组成,而且拥有多个连接在车辆系统中J1939段上的电控单元。2.2.2 缩写ABS(Antilock Braking System)防抱死系统AP(Accelerator Pedal)加速踏板ASR(Acceleration Slip Regulation (Tract
21、ion Control))加速轮胎滑差率调节(驱动力控制)ASCII(American Standard Code for Information Interchange)美国信息交换标准码CAN(Controller Area Network)控制器局域网Con-Ag(Construction-Agriculture Industry)建筑业农业DLC(Data Length Code)数据长度码ID(Identifier)标识符IDE(Identifier Extension Bit)标识符扩展位LLC(Logical Link Control)逻辑链路控制LSB(Least Signif
22、icant Byte or Least Significant Bit)最低有效字节或位MAC(Medium Access Control)媒体访问控制MID(Message Identifier)消息标识符MSB(Most Significant Byte or Most Significant Bit)最高有效字节或位NA(Not Allowed)禁用NA(Not Available)无效OSI(Open System Interconnect)开放式系统互联P(Priority)优先级PDU(Protocol Data Unit)协议数据单元PID(Parameter Identifie
23、r)参数标识符PS_GE(PDU Specific - Group Extension)特定协议数据单元_群扩展PS_DA(PDU Specific - Destination Address)特定协议数据单元_目标地址PTO(Power Take-Off)动力输出装置R(Reserved)保留的SID(Subsystem Identifier)子系统标识符SLOT(Scaling, Limits, Offset, and Transfer Function)定标、界定、偏移和传输功能SPN(Suspect Parameter Number)可疑参数编号SRR(Substitute Remot
24、e Request)代用远程请求un(Undefined)未定义2.3 开放系统互连模型参考:应用层应用一表示层会话层传输层网络层数据链路层物理层应用二物理传输媒介应用层表示层会话层传输层网络层数据链路层物理层7654321发送帧组装接收帧拆装OSI层次图1 OSI七层模型开放系统互连模型是由国际标准化组织在1984提出的一个计算机通信体系的模型。如图1所示OSI模型由若干层次组成。分层的目的是使得协议的开发可以根据所需各层的功能来进行。J1939就是根据此模型分层构建起来的。虽然针对OSI模型的每层都有对应的J1939文件,但并不是所有的层次都是由各自的J1939文档来明确界定的。那些没有对
25、应文档描述的层次由包括在其他文档中的功能来支持。各层的功能描述如下:1 物理层 特定结构的比特流在物理媒介上的传输;处理访问物理媒介的机械、电气、功能和时序特性。2 数据链路层 提供通过物理层的可靠信息传输;通过加入必需的同步、错误控制、时序控制及流量控制来发送数据块(即帧)。3 网络层 为高层屏蔽系统间连接时所使用的数据传输及切换等技术细节;负责建立、维护以及拆除连接。4 传输层 提供终端节点间数据的可靠、透明传输;提供点到点的错误恢复和流量控制;提供长消息的分段以及再组装。5 会话层 提供不同应用之间通信的控制框架;建立、管理以及拆除互连应用间的会话。6 表示层 为应用过程提供数据表示之间
26、差别(即语法)的屏蔽。7 应用层 提供用户对开放系统互连环境的访问及提供分布式信息服务。OSI模型的目的是为协调计算机系统通信标准的开发提供一个共同的基础,以使此类开发能在这个共同基础的的整体框架内进行。任何在此基础上开发的标准,如J1939,都并不需要明确地照此7层模型进行划分,但是7层模型中描述的基本功能必须在这些协议中得到支持。此外,实现各层功能的硬件和软件也不需要被严格地区分定义,只要每一层的功能在系统设计中是可辨识的。在特定系统中分配这些功能的过程中,7层模型中层与层之间的区分可能会被完全淡化。如果纵观J1939协议的各层文档,可以看出有些实现OSI七层模型中特定功能的J1939协议
27、层次总是与其他OSI层次结合在一起。这往往是由于特定层次并不需要独立的对应文档。由于J1939网络是一个专门用途的通信系统,只需要支持在特定工业领域里的一组特定的应用,而不需要通用化。因此并不需要实现OSI模型的所有层次。只有在J1939的潜在应用中需要用到的层次将被定义。这些层次都分别用文档做出了描述。2.4 文档结构指南此J1939文档是整个J1939协议框架中的顶层文档。针对J1939网络的每个特定应用以及OSI七层协议的每个层次都分别有文档来进行详细的说明,这些文档分别被命名为J1939/N。为了区分同层协议的不同版本,使用了斜线后的第二个数字来进行区分。这样,如果要获得特定应用的J1
28、939网络的详细说明,以北美农业设备为例,就应该首先拿到顶层的文档J1939/02,这个文档中描述了该应用的所有相关的层次、版本的文档。现有的文档及编号情况如下:J1939即本文档,概括地描述了J1939网络、OSI分层结构、下级文档的结构,并且提供了所有预分配值和名称。J1939/0X针对特定应用的说明文档,这里X指J1939的特定的网络/应用版本,这个文档指出了J1939适用的特定工业或应用领域,并且列出了构成网络的每个层次对应文档的各个版本。J1939/01卡车及客车控制及信息网络。J1939/02农业设备控制及通信网络。J1939/1X物理层文档,这里X指物理层的某个版本。J1939/
29、11物理层,250K比特/秒,屏蔽双绞线。J1939/12(草案)物理层,250K比特/秒,四芯绞线。J1939/13(草案)物理层,诊断接口。J1939/21数据链路层(该层不允许定义另外版本的文档)。J1939/3X网络层文档,X指特定版本的网络层。J1939/31网络层。J1939/4X传输层文档,这里X指特定版本的传输层。现在还没有定义传输层文档。J1939/5X会话层文档,这里X指特定版本的会话层。现在还没有定义会话层文档。J1939/6X表示层文档,这里X指特定版本的表示层。现在还没有定义表示层文档。J1939/7X应用层文档,这里X指特定版本的应用层J1939/71应用层 车辆J
30、1939/72(草案)应用层 虚拟终端J1939/73应用层 诊断J1939/81J1939网络管理协议(该层不允许定义另外版本的文档)J1939/82(草案)执行OSI模型中的7个层次都被分别分配了文档编号,不管这些层次在现有的J1939规程中有没有被特别定义。这样做一方面是为了更加易于辨识J1939与OSI模型的关系,同时也是为以后需要定义相应层次文档时提供了扩展的可能。J1939/81,作为网络管理协议,被单独地定义出来。这是由于它纵向地贯穿了所有的层次,故此最好被说明和理解成一个独立的主题,而不是将网络管理层的每一个部分包括在其影响的特定层次之中。同一个网络中可能会同时使用不同的应用层
31、文档,所以必须保证兼容性。典型的例子如一个农业设备,在大多数的通信时使用J1939/71,而在显示终端通信时使用J1939/72。在某些情形下,单个车辆或应用中也可能出现在同一系统中使用不同物理层的情况,但这里并不需要提供兼容性,只要不同的物理层是在不同的网段中被使用。例如在卡车上,连接牵引车与拖车的物理层可能与牵引车自己用的物理层不同。3 技术规定除了介绍整个系列的J1939文档,本文档也将试图为并不熟悉J1939的人回答以下这些最基本的问题:n J1939将如何工作n 如何构成和处理消息(发送和接收)n 如何设计支持J1939的ECUn 典型的控制时序是如何完成的(应用实例)n 典型的网络
32、是如何布线的3.1 J1939教程以下教程是为J1939/01中描述的卡车和客车控制通信网络设计的,J1939/01在这个教程中被当作一个典型例子来使用。这并不说明所有的应用都一定要按照J1939/01来执行。其他的应用可能在一个或多个层次上选择使用不同的版本,这意味着在参考下面的讨论时相应的内容应作改动。这一部分文档的目的是举例说明J1939网络,而不是定义。对J1939网络详细的说明和定义应该参照各单独的子文档(J1939/0X到J1939/81)。3.1.1 简介J1939是被设计来支持物理上可能分布在车辆各个不同位置的电控单元之间的实时闭环控制功能的高速通信网络。J1708/J1587
33、是较早的被广泛使用的低速网络,用来提供电控单元间简单的信息交换,包括诊断数据。J1939能完成J1708/J1587的所有功能此外再加上对控制系统的支持。任何应用都可能使用上述一种或全部网络。J1939使用了控制局域网协议,任何ECU在总线空闲时都可以发送消息。每个消息都包含了一个标识符,其中说明了消息的优先级、发送者以及所包含的数据。在传送标识符时使用了一种非破坏性的仲裁过程来消除冲突。这保证了高优先级的消息可以以较短的时延通过网络,因为尽管所有电控单元完全等同的访问网络,但是当多个电控单元同时试图发送时,最高优先级的消息将在仲裁过程中胜出。3.1.2 消息格式和使用方法J1939利用CAN
34、协议中定义的扩展帧29位标识符(如图2)实现了一个完整的网络定义。J1939/21通过将所有11位标识符消息定义为专用的,允许使用11位标识符的CAN标准帧的设备在同一个网络中使用。这样,11位标识符的定义并不是直接属于J1939的一个组成部分,但是也被包含进来。这是为了保证其使用者可以在同一网络中并存而不出现冲突。J1939不会提供更进一步的11位标识符使用的说明。CAN数据帧中的SOF、SRR、IDE和RTR数据位也不会在下面的讨论中涉及。29位标识符中的前3位被用来在仲裁过程中决定消息的优先级,前3位的值为000的消息具有最高的优先级。高优先级的消息常被需要高速传输的控制消息使用,典型的
35、如从传动装置到发动机的控制消息(见J1939/71)。低优先级的消息通常在实时性要求不是很高的场合使用,典型的如发动机配置消息。对每类消息而言,优先级是可编程的,这样原始设备制造商在需要时可以对网络进行调整。扩展CAN格式SOF11位标识符SRRIDE18位标识符扩展RTRJ1939帧格式SOF优先级RDPPDU格式(PF)6位(高位)SRRIDEPF(续)特定PDU(PS)(目的地址、群扩展或专用)源地址RTR321876543218765432187654321J1939帧比特位置1234567891011121314151617181920212223242526272829303132
36、33CAN29位标识符位置282726252423222120191817161514131211109876543210图2 J1939的29位标识符标识符的下面一位R是保留位。发送的消息中这一位必须被设置为0。这一缺省值的设置允许SAE委员会在将来赋予它别的意义。以下9位是数据页位和PDU格式(PDU Format, PF)域。PDU即协议数据单元(Protocol Data Unit)。数据页位DP用来做数据页选择。在页0中包含了目前定义的所有消息,而页1为将来扩展提供了可能。PF域标明了能够传输的一共两种协议数据单元的格式,在J1939/21的3.3节中有详细的描述。SRR位和IDE位
37、完全由CAN协议中定义,在J1939种没有定义,也没有改动。 以下8位是特定PDU(PS),意即其具体意义由PF域的值决定:若PF域的值在0到239之间(PDU1),PS域中包含的是目的地址。若PF域的值在240到255之间(PDU2),PS域中包含的是PF的群扩展。群扩展提供了更多的值来标记那些向网络上所有ECU广播的消息。J1939的大多数消息是使用PDU2的广播消息,网络中用PDU2格式传送的消息是不能定向到某个特定的ECU的,当一条消息必须定向到某个特定ECU时,就一定要在PDU1格式的范围之内为它分配一个参数群编号,这样特定的目的地址就可以被放到该消息的标识符中,例如传动装置向发动机
38、请求一个特定扭矩或向减速器请求一个特定扭矩。对那些由SAE委员会定义和发布的参数群,就必须考虑使用这种目的地址特定的消息。综上,保留位R、数据页位DP、PDU格式PF和PDU特定PS一起,定义了被发送的参数群。这些参数群是有明确的定义的,这个定义中包括了在8字节数据域中的参数分配、发送的循环率以及消息的优先级。使用“参数群”这种说法是由于它们是特定参数的群组。参数群由一个参数群编号来唯一确定,参数群编号的结构允许定义最多8672个参数群。参数群及参数群编号在J1939/21中有详细的描述,当前的分配在附录A中列出。标识符的最后8位是发送消息的ECU的地址(源地址)。对于一个特定的网络,所有地址
39、都必须是唯一的(最多254个)。两个不同的ECU不可以同时使用同一个地址。参数群编号是源地址无关的,这就使任何ECU都可以发送任何消息。3.1.3 地址和名称(J1939/81及附录B)网络中的每一个ECU都至少有一个与其相联系的名称和地址。在有些时候,发动机和发动机减速器被防在同一个ECU中实现,这样,在同一个ECU中可能同时有多个名称和地址共存。ECU的地址为消息定义了一个特定的通信源节点或目的节点,名称则包括了该地址上基本功能的标识,当完成该基本功能的多个ECU在同一个网络中共存时,则名称中还包含了该功能的实例的编号。同一网络中的相同的功能最多可以允许254个不同的ECU共存,每个都通过
40、自己的地址和名称相互区别。J1939定义了64位的名称来区分每个ECU,其结构如表1所示。功能实例、ECU实例和身份编号允许具有相同制造商和型号的多个ECU在同一个网络中共存而每个都使用唯一的名称。有关ECU的命名和地址分配的完整描述参见J1939/81,当前的委员会分配情况见附录B。表1 名称的结构仲裁地址能力行业组车辆系统实例车辆系统保留功能功能实例ECU实例制造商代码身份编号1位3位4位7位1位8位5位3位11位21位名称说明了一个ECU完成的基本功能,并且唯一标识出每一个ECU,即使在同一网络中有多个同样型号的ECU时也是如此。但是由于长达64位,名称在平时的通信中并不便于使用。因此,
41、一旦网络完全初始化,每个ECU都使用一个8位的地址作为源标识,该地址也可理解为一个可用来在网络中访问指定ECU的“句柄”。例如,某发动机可能被分配到地址0,但如果有另外一个发动机存在,它就需要一个单独的、唯一的地址和实例。接收目标特定命令的ECU可能需要多个地址,这就允许了分别地指令某种动作。例如当传动装置向发动机(地址为0)要求一个特定扭矩值时,必须与其向发动机减速器要求一个特定扭矩的情形区别开来。从上面的例子可以看出,网络中的一个ECU可能有多个地址而每个地址都有一个与之相连的名称。为了实现为网络中每个ECU分配地址的初始化过程,经常使用的设备都由委员会分配了优先地址(优先地址在表B2-B
42、9)中列出。使用优先地址将多个设备试图要求同一地址的冲突的出现频率降到最低。一般说来,大多数ECU在启动后会马上使用它们的优先地址,系统启动后使用一个特定的分配地址的规程来解决这一过程中可能出现的冲突(参见J1939/81,在J1939/01中也有详细的描述)。每个ECU必须声明它想要使用的地址。这就是地址索取特性,有两个可选的特性:1) 启动及每次要求时,某ECU必须发送一个地址索取消息来索取地址,当该ECU发送地址索取消息时,所有的ECU将这个新的被索取地址记录下来或与它们拥有的网络地址列表比较。尽管不是所有的ECU都必须维护这样的地址列表,但是所有的ECU至少必须将该新地址与自己的地址进
43、行比较。当多个ECU都要求同一个地址时,拥有最低的名称值的ECU可以使用这个地址而其他的ECU必须索取一个另外的地址或停止在网络上的传输。2) ECU发送一个地址索取要求消息来获得被其他ECU使用的地址。当某ECU发送地址索取要求消息时,所有被要求的ECU都发送它们的地址索取消息。这样,经常有变动的ECU(工具、拖车等)或启动得比较晚的ECU就可以获得当前的地址表并可以找到和使用一个空闲的地址或判断哪些ECU现在在网络中。这种方法为需要的ECU提供了自配置地址的可能。自配置地址的功能是可选的,建议那些很可能碰到地址冲突的ECU支持此功能。当出现地址冲突时,可以采用下列4种措施之一,这取决于相应
44、ECU的功能:自配置的ECU 自配置的ECU能够动态计算和索取一个空闲的地址,多数的服务设备和网桥都具有此功能。可由命令配置的ECU 网络互连ECU,如网桥或服务设备可能会要求另一个ECU使用某个指定的地址,那个未索取到预期地址的ECU接着就会发出一个地址索取消息来告知其对该指定地址的接受。即使已经获得了一个合法的地址,ECU也可能被要求使用一个新的地址。服务人员可配置的ECU 可以被服务人员配置的ECU,这种配置通常是通过拨码开关或者服务设备来进行的。当使用“指定地址”时,这种选择与命令配置是有区别的,由于通常需要一个服务设备且使用了专用的技术。不可配置的ECU 这类既不能自配置也不能重新编
45、程的ECU若无法获得合法的地址必须停止传送消息3.1.4 通信方式在J1939中有3种通信方式,恰当的使用每种方式可以更有效地使用参数群编号。3种通信方式分别为:使用1型协议数据单元的确定目标通信(协议数据单元值为0-239)(包括对全局目标地址255的使用);使用2型协议数据单元的广播通信(协议数据单元值为240-255);既不使用1型协议数据单元,也不使用2型协议数据单元的专有通信。每种通信方式都有其相应的用途。当一个消息必须被发送到某个确定目标而不是所有目标时,就需要使用目标特定的参数群编号。例如:J1939中定义了一个转矩消息,该消息可能被发送到引擎或减速器。当有多个引擎时,该消息可能需要被发送到某一特定引擎,这时就需要事先分配给目标引擎参数群编号来加以区别。广播通信可以在多种情况下使用,包括:消息被从一个或多个源地址发向一个目标地址;消息被从一个或多个源地址发向多个目标地址。广播通信不能用在消息必须被发送到某个确定目标而不是所有目标的场合。J1939的第三种通信方式,专有通信,是通过使用两个专有参数群编号来实现的。其中,一个专有参数群编号被分配来广播专有通信,而另一个被分配来确定专有通信的目标。该通信方式实现了两个功能,一、使得确定的源设备可以使用2型协议数据单元(广播)来发送它的专有消息,二、使得服务设备可以从一组备选的电控单元中确定其通信对象。例如,当一个引擎可