(SAE1939-81:2003NEQ)国家标准化管理委员会ICSGB/TXXXX.7-XXXX商用车控制系统局域网络(CAN)通信协议第7部分:网络管理(英文名称)(征求意见稿)20xx-xx-xx发布20xx-xx-xx实施GB/TXXXX.7-XXXX前言GB/T××××《商用车控制系统局域网络(CAN总线)通信协议》包括10个部分:—第1部分:物理层—屏蔽双绞线(250K比特/秒)—第2部分:物理层—非车载诊断连接器—第3部分:物理层—非屏蔽双绞线(250K比特/秒)—第4部分:数据链路层—第5部分:应用层—车辆—第6部分:应用层—诊断—第7部分:网络管理—第8部分:参数组分配—第9部分:地址和标识分配—第10部分:可疑参数编号(SPN)—第11部分:网络层本标准为GB/T××××的第7部分,对应于SAE1939-81:2003《网络管理》,本标准与SAE1939-81的一致性程度为非等效采用,主要差异如下:—按1.1规定增加了”前言”、“范围”。—将原文引用的SAE有关标准改为引用我国的相关国标。—进行了编辑性修改。—删除了涉及农业机械等非汽车的有关内容。—本标准的附录A、B、C、D均为资料性附录。本标准由全国汽车标准化技术委员会提出。本标准由全国汽车标准化技术委员会归口。本标准由负责起草。本标准主要起草人:GB/T××××.7商用车控制系统局域网络(CAN总线)通信协议第7部分:网络管理1范围本部分规定了CAN总线网络的管理要求。本部分适用于M2、M3及N类车辆。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GB/T××××.9《商用车控制系统局域网络(CAN总线)通信协议》第9部分:地址和标识分配GB/T××××.4《商用车控制系统局域网络(CAN总线)通信协议》第4部分:数据链路层3术语及定义本标准采用下列术语和定义。3.1控制器应用程序(CA)ControllerApplication(CA)控制器为电控单元(ECU)内执行一种特殊控制功能的软件和硬件。控制器里的软件称为“控制器应用程序”(CA)。一个ECU可以执行一个或多个控制功能,因此可以包括一个或多个CA。为了能够在本标准网络上进行通信,每个CA都必须有一个地址以及一个和它联系在一起的名字。3.2地址配置功能AddressConfigurationandCapability地址配置是一种CA确定在地址声明中使用的源地址的方法。出于地址声明过程的需要,地址配置定义两种功能:单地址功能和仲裁地址功能,由名字的地址仲裁能力域决定。相关属语和定义如下:3.2.1单地址CASingleAddressCapableCA对于单地址CA,有几种改变CA地址的方法。其中只有一种不用借助外部设备。如果没有外部的干预,这些CA无法改变它们已声明并正在使用的地址。它们包括不可配置地址CA、服务可配置地址CA、命令可配置地址CA、自配置地址CA。这些CA名字的地址仲裁能力域的值为0。下面共定义了4类这种CA,可以使用不同的方法改变其源地址。这种分类方法并不相互排斥,例如一个自配置地址CA的ECU同时也可以是服务可配置地址CA或是命令可配置地址的CA。只有CA在其设限的范围内声明不到地址时,设计者才能采用上述方法改变其地址。3.2.1.1不可配置地址CANon-ConfigurableAddressCA不可配置地址CA的源地址由制造商提供。包括服务工具在内的任何手段都不能改变其源地址(注:如果服务程序改写了ECU的软件代码,仍然可以改变该CA的地址)。3.2.1.2服务可配置地址CAServiceConfigurableAddressCA服务可配置地址CA是指源地址可以通过服务技术改变的CA。运行在“服务”模式下,可以通过专用技术或者命令地址消息改变其地址。一般需要一个服务工具完成该操作。3.2.1.3命令可配置地址CACommandConfigurableAddressCA命令可配置地址CA源地址可以通过命令地址消息改变的CA。该类CA可以在ECU上电时改变地址,不需要服务工具或者运行于特殊模式。要求车辆网络上有一个CA能够发送命令地址消息来改变其地址,并且命令可配置地址CA的程序能够识别出该命令。3.2.1.4自配置地址CASelf-ConfigurableAddressCA这是一种特殊情况,CA根据车辆的配置信息,从一个有限的源地址集中选择一个可供它使用的源地址。挂车的网桥(Bridge)是一个最好的例子:在一个车辆中,编号为No.2的挂车,它改变它的源地址是基于内部判断。它位于车辆中的位置决定了它使用的地址。如果它被移到编号为No.1的位置,就必须使用指定给No.1位置的地址。注意,每个位置只有一个正确的地址;CA首先确定自己的位置,然后使用这个位置的信息产生一个新的名字,再选择一个正确的地址。使用插接头信息来确定自己处于左边/右边的设备也属于这一类。注意,能够自配置地址的CA通过改变名字来改变地址。3.2.2可仲裁地址CAArbitraryAddressCapableCA可仲裁地址的CA,根据内部算法,可以从任何合适的源地址(包括范围在128-247的仲裁地址区)中选择它的源地址,然后声明该地址。如果发生地址冲突的情况,这类CA能够重新计算一个CA并重新声明地址(直到所有从128-247范围内的120个地址全部被声明)。名字的地址仲裁能力域的值表明了一个CA是否具有这个功能。这种类型的CA特别适合于在一个车辆上需要有多个相同设备实例的CA。出现这种情况时,由于可仲裁地址CA用于地址声明名字的地址仲裁能力域被设为1,降低了它的优先级,因此在竞争同一个首选地址时会失去仲裁。这个结果是正确的,因为该CA并不因其失去地址仲裁而影响其正常运行。注意,如果CA的功能在正常情况下需要使用一个小于128的地址,CA必须首先声明那个地址。只有在地址声明过程中失去仲裁的情况下,该CA才能声明范围在128以上的未用的地址。3.3CA类型TypesofCAs针对网络管理的需要,CA分为三类:标准型、诊断/开发工具、网络互连CA。3.3.1标准型CAStandardCAs标准型CA是指主要不是用于网络连接、编程、诊断或者其它功能的工具的CA。标准型CA包括用于发动机、变速箱、制动、虚拟终端、仪表板和车辆导航等。数据记录仪也属于标准型CA,但是如果它具有诊断的功能,它必须满足诊断工具CA的要求。标准型CA除地址声明过程外,不具有改变其他CA的源地址的能力。标准型CA可以有/没有3.3节所列的地址选择功能。本标准对标准型CA的地址配置功能不作特别要求。3.3.2诊断/开发工具CADiagnostic/DevelopmentToolCAs诊断/开发工具CA是连接在一个子网上,用于分析、调试、开发、监视该网上所有CA或者监视该子网的运行。尽管这种CA可能不总连接在网络上,但是对于一些特殊的车辆有可能一直连接着这种工具。不管怎样,这类CA比标准型CA拥有更多的功能。它们主要被设计成用于同网络上其它的CA进行交互并不具有其它的外部功能(例如,诊断工具并不希望它提供扭矩,或者刹车等)。它们可能主要作为专用工具,在指定制造商的ECU上进行操作;也可能作为一个通用的工具,可以在多个制造商生产的ECU上操作;或者只是连接在网络上独自工作,为系统集成或者OEM制造商提供网络集成服务。3.3.3网络互连CANetworkInterconnectionCAs网络互连CA是指那些主要用于连接网络、子网的CA。主要由转发器、桥接器、路由器和网关。不管那种类型,网络互连CA都实现从一个子网向另一个子网传递消息的功能。通过网络互连CA连接在一起的子网,可以使用相同的协议,比如在同一个车辆中有两个符合本标准的子网;也可以使用不同的协议,比如从其它协议到本标准;也可以连接到非车载子网,比如卫星、令牌环或蜂窝网等。网络互连CA如果作为网关把本标准子网连接到其它网络上,这里只处理CA与本标准相关的部分。4要求网络管理层为唯一识别网络上的CA、管理地址分配和网络错误提供必要的定义和程序。每个CA应能提供唯一的64位名字。CA必须首先声明地址成功,然后才能向网络发送,如果CA按地址声明过程声明地址失败,必须按4.3给出的标准方式进行处理并向网络报告。4.1名字和地址规定在采用本标准的网络中,地址用于保证消息标识符的唯一性以及表明消息的源地址(有时地址被称为源地址就是后一种用法)。地址声明消息包括地址和名字,用于把名字和网络中的某个地址关联在一起。每个CA在开始正常的网络通信之前,必须有一个名字并且成功声明了一个地址。名字有两个用途,其一用于表示CA的功能描述(如发动机1、发动机2、变速箱1、ABS1);其二,作为一个数值,用于地址仲裁。把一个地址与唯一的名字(4.1.1)相关联,也就把一个地址和一个CA关联起来。ECU的制造商和网络集成商必须保证所有在一个网络上传输消息CA的名字是唯一的。4.1.1名字CA的名字是一个64位的标识符,由10个域组成。其中有6个域的值由标委会分配给出。其余4个域的值或者根据网络特性以及汽车架构给出,或者由生产厂商直接给出。源地址用于标识在指定网络中进行通信的CA。而与CA相关联的名字则主要用于识别网络上的CA及其功能。利用网络管理协议中的地址管理程序,在单个源地址与CA的名字之间建立联系,并在网络上进行声明。附录C中给出了符合本标准ECU命名的例子。网络上的每个CA都应有一个名字,这样CA可以根据它的主要功能被唯一标识。当多个CA试图声明同一个地址时,CA的名字也用于仲裁,这样进一步增强了标识符的唯一性。网络上的每个CA依次得到一个唯一的地址,能够正确地和其它ECU仲裁CAN数据帧。尽管名字全部的域不要求是可编程的,但实例域应可改变。例如,车辆中有备用或多个实例存在,这样可以通过改变实例域对其进行正确配置。推荐采用首选地址和全部名字域可编程的方法。可以使用直接寻址的内部存储器存取协议对名字进行编程。根据本标准故障诊断部分的描述,指针扩展部分是目标对象的索引,这里设置为000000002,以表明SPN地址空间的SPN(SPN2848)表示的是CA名字。组成名字的各个域如表1所示,并在下面的章节中分别对其进行定义。本标准的附录B部分列出了工业组、汽车系统、功能和制造商代码具体值。表2是名字的各个域在CAN消息中的字节顺序,名字可以作为一个数值进行处理,也就与本标准的应用层部分的定义保持了一致。当多个CA试着声明同一个地址时,名字的所有8个字节作为一个数值用于仲裁过程(见4.4.3.3)。表2字节1位8-1ID编号的最低有效字节(第8位是最高有效位)(第8位紧接在消息的DLC位后发送)字节2位8-1ID编号的第二字节(第8位是最高有效位)字节3位8-6制造商代码的最低有效3位(第8位是最高有效位)位5-1ID编号的最高有效5位(第5位是最高有效位)字节4位8-1制造商代码的最高有效8位(第8位是最高有效位)字节5位8-4功能实例(第8位是最高有效位)位3-1ECU实例(第3位是最高有效位)字节6位8-1功能(第8位是最高有效位)字节7位8-2汽车系统(第8位是最高有效位)位1保留字节8位8地址仲裁能力位7-5工业组(第7位是最高有效位)位4-1汽车系统实例(第4位是最高有效位)(第1位是最后发送的数据位,在消息中离CRC最近。)4.1.1.1名字域名字域如表1所示,按从左到右的优先次序排列。汽车系统域的含义依赖于工业组域的内容,当功能域的值大于127且小于254时,功能域的内容依赖于汽车系统域的内容。图1所示为域定义之间的关系。如果车辆系统或功能域的值不知道或本标准中没有定义,可以将其设为不可用(二进制的1)。名字域的所有值都应正确设置。表1名字域地址仲裁能力工业组汽车系统实例汽