《SAE J1939-81中文完整文件.doc》由会员分享,可在线阅读,更多相关《SAE J1939-81中文完整文件.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、路面车辆推荐操作规程(被采纳为美国国家标准)SAE J1939-81:网络管理前言本系列SAE推荐操作规程是由卡车及客车电子电气委员会所属的卡车及客车控制及通信小组委员会制定的。该小组委员会的目标是针对电控单元的需求、设计和使用,提交消息报告、制定推荐操作规程。这些电控单元在汽车部件之间传递着电子信号和控制信息。本规程的使用不限于卡车和客车应用,其对于其他的应用也可以提供直接的支持,正如已在建筑及农业设备和固定式的动力系统。本推荐操作规程的最终目标是形成工业标准,因此可能为适应实际应用和技术进步作出经常性的调整。目 录前言11目标42参考42.1应用出版物42.1.1SAE出版物43定义43.
2、1网络管理中使用的术语43.2地址的配置和作用53.2.1不可配置地址的ECU53.2.2可由维护人员配置地址的ECU53.2.3命令配置地址的ECU53.2.4可自配置地址的ECU53.3ECU类型53.3.1标准型ECU53.3.2诊断/发展型ECU63.3.3网络互连型ECU64技术规定64.1标称符和地址规定64.1.1标称符74.1.1.1标称符域84.1.1.2仲裁地址能力域84.1.1.3产业类群域94.1.1.4汽车系统实例域94.1.1.5汽车系统域94.1.1.6保留域94.1.1.7功能域94.1.1.8功能实例域94.1.1.9 ECU实例域104.1.1.10制造商代
3、码域104.1.1.11身份编号域104.1.1.12标称符域中的从属关系104.1.2地址104.2网络管理程序114.2.1地址声明请求消息114.2.2地址声明/不能声明124.2.2.1地址声明消息124.2.2.2不能声明地址134.2.2.3不能声明地址消息134.2.3命令地址134.2.3.1命令地址消息144.2.3.2地址分配域(新源地址)144.3网络出错管理144.3.1不能声明地址144.4 地址声明ECU初始化程序144.4.1 地址声明要求154.4.1.1 地址声明请求的要求154.4.2 初始化原则154.4.2.1 对于发向全局地址的地址声明请求的响应154
4、.4.2.2 对于发向某一特殊地址的地址声明请求的响应154.4.2.3 对自身地址请求的响应154.4.2.4 地址的争用164.4.3 初始化的信息时序164.4.3.1 网络中的ECU初始化信息时序164.4.3.2 网络管理信息中潜在的相同标志符164.4.3.3 地址声明的优先级164.4.3.4 一个不能获得地址的ECU174.4.4 自配置地址ECU的地址声明请求174.4.4.1不是永远与网络连接的ECU174.4.5 地址与标称符联系表结构184.5 最小网络管理的功能184.5.1 动力供应和其他相关ECU干扰的反馈184.5.2 最小网络管理系统的性能184.5.2.1
5、地址声明信息的请求184.5.2.2 使用一个源地址前的地址声明信息194.5.2.3 ECU连接和断开时的网络干扰194.5.2.4 掉电、上电过程地址的连续性19附录A 初始化的时序图20图A1ECU初始化,在无竞争情况下的地址声明20图A2ECU初始化,有两个不可自配置的ECU尝试声明同一地址,但不同步20图A3ECU初始化,标称符A小于标称符B且ECU B为可自配置型21图A4ECU初始化,有两个不可自配置的ECU尝试声明同一地址而且同步声明21图A5可自配置地址的ECU在无竞争情况下的初始化21图A6可自配置地址的ECU初始化,发送了地址声明请求给所有的地址22图A7不可自配置地址的
6、ECU初始化,发送了地址声明请求但该地址已被使用22图A8对较早时声明地址失败的ECU所发出的地址声明请求进行回应22图A9命令配置地址给没有地址但接受被命令地址消息的ECU23图A9命令配置地址给没有地址的ECU,但该ECU不接受被命令地址消息23附录B ECU的配置和能力概述24附录C 标称符示例25C.1标称符示例25C.1.1示例1在高速公路重型卡车中为发动机服务的单独ECU25C.1.2重型卡车的第一个拖车上的ABS系统25C.1.3分排控制的农业播种机26附录27理论基础27SAE标准与ISO标准的关系27应用27参考书目271目标这些SAE推荐操作规程将用于在公路或野外行驶的轻型
7、和重型车辆,以及一些汽车部件(例如,发动机装置)适当的固定式应用。相关的汽车包括但不仅限于:在公路和高速公路行驶的卡车和拖车、建筑设备、以及农业设备和工具。本推荐规程被开发用来为车载电子系统提供一个开放互连系统。本套文件的意图是通过提供一套标准结构使得电子设备可以相互通信。在SAE J1939网络中,网络管理,是指对源地址及其有实际功能的相关部分的管理,以及对与网络有关的错误进行检测和报告。由于源地址管理的特性要求,网络管理还详细说明了初始化过程、对电源短暂中断的反应要求,以及网络中ECU的最小配置要求。2参考一般有关此系列推荐规程的资料可以在SAE J1939中找到。2.1应用出版物以下的出
8、版物形成本规程在此详述范围内的一部分。除非特别说明,所使用的SAE出版物都是最新版本。2.1.1SAE出版物可在SAE,400 Commonwealth Drive,Warrendale,PA 15096-0001获得。SAE J1587应用于重型车辆中微机系统之间接合SAE/TMC的电子数据交换SAE J1939汽车网络串行控制通信推荐操作规程SAE J1939/21数据链路层SAE J1939/31汽车网络串行控制通信推荐操作规程第31部分网络层3定义3.1网络管理中使用的术语本文档将使用SAE J1939文档中定义的术语。3.2地址的配置和作用地址的配置,定义了一个ECU如何获得并保留它
9、的源地址。对于在一个单独的ECU中实现的个别功能,即使这个功能只有一个节点,它也可能会应不同的功能,具有不同的地址作用。地址配置与地址声明程序不同,后者是ECU想要使用某个地址时进行广播声明的程序。有四种不同的地址配置可供ECU使用。以下是相关的术语和定义:3.2.1不可配置地址的ECU不可配置地址的ECU,是指那些已由制造商提供了源地址的ECU。在地址域中,任何方法都不可改变它的地址。这包括维护人员。3.2.2可由维护人员配置地址的ECU可由维护人员配置地址的ECU,是指那些在地址域中源地址可以由维护的技术人员进行更改的ECU。源地址可以通过任何专有的技术,或者通过在“维护”的操作模式下使用
10、被命令地址消息来更改。它很可能与某个维护工具有关。3.2.3命令配置地址的ECU命令配置地址的ECU,是指那些在正常操作模式(相对于维护操作模式)下,可以通过被命令地址消息来更改源地址的ECU。3.2.4可自配置地址的ECU可自配置地址的ECU,是指那些根据内部计算确定它的源地址并自己声明该地址的ECU。如果可自配置地址的ECU在声明第一个计算出来的地址时失败,那么ECU会重新计算并声明另一地址。这种比较新型的ECU可使用任意地址,并将在ECU的标称符中表示出来。3.3ECU类型为了进行网络管理,把ECU分为三种类型:标准型,诊断/发展型和网络互连型ECU。3.3.1标准型ECU标准型ECU,
11、是指那些基本功能并不是用于网络互连、编程、诊断,或者它其他方面的功能不像工具或网络互连的ECU一样的ECU。标准型ECU用于发动机,传动系统,ABS系统,虚拟终端,仪表板,以及牵引力控制系统。数据测定和记录器也属于标准型ECU,但如果这些ECU要实现诊断工具功能,那么它们应该满足诊断工具ECU的要求。除了地址声明过程以外,标准型ECU没有能力修改其他ECU的源地址。标准型ECU可能可以进行自配置地址。需要某个特定地址配置的能力不是本文档讨论的目的。3.3.2诊断/发展型ECU诊断/发展型ECU,是指那些连接在某个SAE J1939子网中,用于分析、调试、发展或监测子网上的任一ECU或者子网本身
12、运行情况的ECU。虽然这些工具并不需要永远地附接在子网上,但这样的工具最好能成为车辆或飞机的一个固有部件。另外,这些工具的作用比标准型ECU的作用更大,因为它们主要是设计用于与网络上其他ECU相互作用,没有其他外部功能(例如,诊断工具不需要提供转矩,播种,或刹车)。这些工具可以作为专用工具作用在某个指定制造商的ECU上;也可以作为通用工具作用在多个制造商生产的ECU上,或者它们可以主要为网络本身工作,为系统集成商或OEM汽车制造商提供网络集成服务。3.3.3网络互连型ECU网络互连型ECU,是指那些主要用于网络或子网互连的ECU。它们主要由转发器、桥接器、路由器和网关组成。所有的网络互连型EC
13、U通过各种方式在子网间进行消息传送。由网络互连型ECU连接的子网可以具有相同的协议,例如在同一辆汽车内有两个SAE J1939的子网;也可以具有不同的协议,例如从SAE J1708/J1587连到SAE J1939,或者可以与车外的子网相连,例如卫星连接、令牌网或便携式MODEM。作为网关的网络互连型ECU可以把消息从SAE J1939子网传送到其他不同的网络。本文档只讨论这些ECU的SAE J1939部分。4技术规定4.1标称符和地址规定委员会为每个标称符分配了一个由64位组成的域。标称符表示了ECU的功能(例如,1号发动机,2号发动机,1号变速箱,防抱死系统1)。网络中可以找到的任一功能都
14、指定了一个标称符。在一辆汽车中,标称符必须唯一。在SAE J1939网络中,传输消息的ECU需要一个标称符。标称符的作用有两个,第一,为模块提供一个功能描述;第二,提供一个编号值用于地址仲裁。在SAE J1939网络中使用的地址,为消息标识符提供了唯一性,并且可以确定消息的源头。(有时提到的“源地址”是指后一种用法。)地址声明消息包含一个源地址和一个标称符,可在网络中用于把一个标称符和一个特定的地址关联起来。一个地址与唯一的标称符(4.1.1)之间的关联,也使地址和功能关联起来。ECU的制造商和网络集成商必须保证所有在某个网络上传输消息的ECU的标称符都是唯一的。4.1.1标称符在SAE J1
15、939网络中,源地址用于标识在指定网络中的一个特定的ECU。标称符,相对于地址来说,标识了一个ECU在网络中所发挥的功能。在网络管理协议中,地址管理程序主要是使单独的源地址与ECU的功能进行关联,并在网络上公布这种联系。附录C提供了为SAE J1939的ECU构造标称符的范例。在网络上,每个ECU都应该至少有一个标称符,以使ECU可以通过它的主要功能唯一地标识出来。同样,网络上每个ECU将至少有一个唯一的地址,使它能够正确地和其他ECU仲裁CAN数据帧。虽然不需要整个标称符都是可编程的域,但实例域应该可以选择允许正确的设置,例如,当一个备用件安装在这个区域中,或在一辆车内存在多组实例。与首选地
16、址一样,推荐使整个标称符域都为可编程的字段。为产业类群、汽车系统、功能、以及制造商代码设定的编号值列表,可以在SAE J1939的附录B中找到。表1表示了组成标称符的字域。以下段落对各个字域进行了定义。以下表示了在CAN消息中标称符域的字节排序,这种排序使标称符可以作为一个编号对待,与SAE J1939/71的方式保持一致。 字节1位8-1身份编号的最低有效字节(最高有效位为第8位)(第8位紧接在消息的DLC位后发送) 字节2位8-1身分编号的第二字节(最高有效位为第8位) 字节3位8-6制造商代码的最低有效3位(最高有效位为第8位)位5-1身分编号的最高有效5位(最高有效位为第5位) 字节4
17、位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表示了
18、域定义之间的关系。除了仲裁地址能力域以外,如果任一标称符域的数据不可知或不可用,那么该域将被设为二进制1,表示不可知或不可用。仲裁地址能力域应该被设置为适当的值(见4.1.1.2)。表1标称符域仲裁地址能力产业类群汽车系统实例汽车系统保留功能功能实例ECU实例制造商代码身分编号1位3位4位7位1位8位5位3位11位21位4.1.1.24.1.1.34.1.1.44.1.1.54.1.1.64.1.1.74.1.1.84.1.1.94.1.1.104.1.1.11字节8字节8字节8字节7字节7字节6字节5字节5字节4/字节3字节3/字节2/字节1图1标称符域中的从属关系4.1.1.2仲裁地址能力
19、域这个1位的域表示一个ECU是否可自配置地址,是否能够使用仲裁源地址来解决地址声明冲突。如果这位被设为“1”,那么当该ECU与一个具有较高优先级(编号值较小)标称符的ECU发生地址声明冲突时,它可以通过采用一个新的源地址来解决。如果一个ECU计算它的地址后,只能声明某个特定的地址,那么这个ECU并不具有仲裁地址能力(例如,高速公路的拖车)。关于地址声明过程的详细说明,请见4.2。4.1.1.3产业类群域产业类群域是由委员会定义并分配的一个3位的域。产业类群的定义可以在SAE J1939基础文档的附录B.7中找到。产业类群域标识了使用SAE J1939的某个特定产业相关联的标称符,例如,高速公路
20、设备或农业设备。4.1.1.4汽车系统实例域汽车系统实例域,是一个4位的域,它表示在网络中产生了一个汽车系统。注意,如果是网络中唯一一个或第一个特定的汽车系统域,则要把实例域置为零,以表示这是第一个实例。4.1.1.5汽车系统域汽车系统域,是由委员会定义和设置的一个7位的域,它和产业类在群域组合起来,可以和一个共用名相关联。这样,汽车系统域在网络中为一系列功能提供了共用名。例如,汽车系统在“普通”的产业类群中定义为“拖拉机”,在高速公路产业类群中称为“拖车”,在“农业设备”产业类群中称为“播种机”。4.1.1.6保留域这是SAE为以后的定义保留的。保留位应置为零。4.1.1.7功能域功能域,是
21、由委员会定义和设置的一个8位的域。当功能域的值为0到127时,其定义可以不依靠其它任何域。当功能域的值超出127时,其定义就要以汽车系统域的值而定。当功能域同产业类群和汽车系统域组合后,可以和一个特定硬件共用名相关联。这个源于组合的共用名没有任何特别的功能。4.1.1.8功能实例域功能实例域是一个5位的域,它表示在某个网络的同一个汽车系统中产生了一个功能域。注意,如果是唯一一个或第一个特定的功能,则要把实例域置为零,以表示这是第一个实例。个别的制造商和系统集成商很有必要在功能实例域的说明和使用上达成某种统一。例如,考虑一个由两部发动机和两部转速器组成系统的实现,其中关键在于,将发动机实例0物理
22、连接到转速器实例0,以及将发动机实例1物理连接到转速器实例1。4.1.1.9 ECU实例域ECU实例域,是一个3位的域,它可以显示同特定功能域相关联的一组电子控制模块中哪一个被引用了。例如,当两个分开的控制单元去控制同一台发动机时,每个控制单元都附属于相同的SAE J1939网络,这时对于第一个ECU,ECU实例域的值设为0;对于第二个ECU,设为1。注意,如果是唯一一个或第一个特定的ECU,则要把实例域置为零,以表示这是第一个实例。4.1.1.10制造商代码域制造商代码域,是一个11位的域,它可以显示哪一家公司对使用这种标称符的电子控制模块产品承担责任。制造商代码是由委员会设置的,并可以在S
23、AE J1939基础文档中找到。制造商代码域在标称符中不依靠其它任何域。4.1.1.11身份编号域身份编号域,是由ECU制造商设置的标称符中一个21位的域。身份编号在有的情况下很必要,例如标称符可能唯一的情况(也就是说可能会一样)。这个域必须是唯一的,并且在断电的情况下保持不变。它对于解决地址冲突也是有必要的。在产品中提供这种唯一性正是制造商的责任(例如,通过身份编号、序列号、时间/日期代码的使用,等等)。4.1.1.12标称符域中的从属关系图1阐明了上述汽车系统和产业类群128项功能的从属关系。另外也展示了身份编码同制造商代码之间的从属关系。保留域没有在图中表示。功能0到127都不受产业类群
24、和汽车系统的约束。功能128到254依赖于汽车系统和产业类群。4.1.2地址大部分基于SAE J1939网络的ECU都将拥有一个设置好的首选地址(参阅SAE J1939,表B2到B9),ECU必须尝试首先使用。如果这个ECU的首选地址被网络上另外一个ECU成功申请到,那么依靠ECU的寻址能力以及未使用地址的有效性,这个ECU可以尝试获得另外一个源地址或者它可以发送一个“不能申请地址”的信息。ECU的初始地址,也就是首次上电启动时ECU尝试申请的那个地址,是由制造商设置的,是和应用定义不管何地的首选地址相对应的(SAE J1939表B2到B9)。然而,ECU的初始地址应该可以重新设定,这样OEM
25、(原始设备制造商)才能恰当的装配一辆汽车。尽管这样做对于“标准”汽车没有必要,但它为ECU多重实例(也就是说,当有两步发动机时,等等)可能存在的应用提供了灵活性。这种可重新设定的特点对于临时联网或者二手ECU格外的重要。对于一个特定的汽车,它的源地址必须唯一。在汽车每次上电启动后源地址可能和不同的ECU相关联,并且源地址也可能因车而异。同每个ECU相关的标称符通常是在最开始汽车或机器配置时或者当ECU被添加到汽车上时设置的。这些同源地址相关联的标称符,确定了ECU提供的功能,并且不管所用地址如何,都能保持一致的定义。这份文档支持自配置选址功能。自配置选址功能最初被ECU用于和一个已经工作的网络
26、相关联的场合,例如数据记录器,校验ECU,桥接器,或者其他设备。这个文档中对于自配置选址功能的支持并不表示每个ECU都支持自配置选址功能。SAE J1929 ECU并不要求拥有自配置选址功能,然而,它们都要求能够执行最小的网络管理功能,这在4.5.2中有描述;它们也可以应制造商要求为了某些特殊的应用而拥有这些功能。4.2网络管理程序 网络管理程序是由单独的ECU通过消息并执行任务来集中管理网络。网络管理协议的主要功能是这些地址管理以及网络出错管理。 网络管理消息和别的SAE J1939消息除了空地址的用法外具有相同的特征和要求。地址声明信息的请求是一种常规的请求信息,正如SAE J1939/2
27、1种描述的一样。只有在网络管理消息是一个地址声明的请求或者一个不能申请地址的消息时才能够接受空地址(254)。指向空地址(254)的请求不会获得响应。任何ECU都可以用这一系列网络管理消息来请求地址和标称符,为ECU声明地址,广播不能声明地址消息,或者命令其它的ECU使用一个新的地址。表2时这些消息的总结。4.2.1地址声明请求消息 任何一种ECU都可以应用地址声明请求消息来请求标称符以及同网络相连的ECU的地址。基于地址声明请求消息,每个ECU都可以发送一个包含了它的地址和标称符的地址声明消息。如果ECU不能够声明地址,那它就会响应一条“不能声明地址”的消息(4.2.2.2)除非这个ECU仍
28、然没有尝试声明一个地址。还没有尝试声明地址的ECU要等到这个ECU尝试声明地址为止才能够参与网络通讯。这些ECU直到尝试声明地址才能够发送不能够声明地址消息或者任何其他的消息。表2地址管理消息消息名称PGN(参数群编号)PF(协议数据单元格式)PS(特定协议数据单元)SA(源地址)数据长度(字节)数据请求参数群(地址声明请求)59904(参阅SAE J1939/21)234DA(目标地址)SA(1)3PGN60928声明地址声明地址60928238255SA8标称符不能声明源地址609282382552548标称符命令地址65240254216SA9(2)标称符,新SA1.如果没有声明地址,源
29、地址可以设置到254。2.命令地址消息是通过传送协议BAM发送的(参阅SAE J1939-21)。地址声明消息请求可以发送到一个特殊的地址或者一个全局目标地址(255)。如果ECU要使用一个特殊地址,它可以向这个地址发送一条地址声明请求进行审讯,以确定这个地址是否已经被别的ECU所声明。ECU还可以通过向全局目标地址(255)发送地址声明请求并检验响应,从而确定在网络上是否存在具有特殊标称符的正在工作的ECU。如果地址声明消息请求来自于还没有声明地址的ECU,那么用于存放该地址声明消息请求的源地址必须是空地址(254)。ECU必须能够响应它自己的地址声明消息请求。4.2.2地址声明/不能声明地
30、址声明PGN(参数群编号)可以用在两个方面,一个是声明地址,一个是广播不能声明地址。正如在4.2.2.1谈到的地址声明消息以及在4.2.2.2谈到的不能声明地址消息。ECU使用地址声明消息,要么是响应接收到的地址声明消息请求,要么是简单的在网络上声明一个地址。在网络初始化期间或者当ECU与正在运行的网络相连时,ECU必须发送地址声明消息。如果ECU接收到一个声明它自己源地址的地址声明消息,它就会将地址声明消息中包含的标称符信息同它自己的标称符相比较,并以此确定哪一个ECU拥有更高优先权的标称符(正如4.4.3.3描述的较低数值)。如果接收到地址声明的ECU确定了它拥有较高优先权标称符,那它就会
31、发送一条地址声明消息,包含了它自己的标称符和地址。然而,如果ECU拥有较低优先权标称符,那它要么尝试声明另一个地址,要么发送一条不能声明地址消息。ECU一个成功的声明包括,发送地址声明消息请求到地址,并且250ms内没有收到来其它ECU的争夺声明。ECU直到成功声明到一个地址(参阅图A1)才可以开始或者恢复通常的网络交通。ECU可以发送不能声明地址消息(参阅4.2.2.2)或者将空地址当作源地址(参阅4.2.1)发送地址声明请求,而不用成功声明一个地址。一个网络互连的ECU只有当它成功的声明一个地址后,才可以使用它自己的地址进行网络通讯。操作其它ECU的消息对于网络互连设备是一种特殊的情况。完
32、全像转发器一样工作的网络互连设备可以在声明它们自己的地址之前通过消息(适用于网络互连设备的高级需求,参阅SAE J1939/31)。通过多重桥接器对网络的配置可以在地址声明的传送和接收之间产生必要的延时,这些地址声明是通过桥接器的。在这些系统中,要在ECU成功声明地址后,阻止进一步的仲裁,250ms的延时可能不够充分。一旦ECU成功的声明地址,它就会响应地址声明请求并迅速的恢复传送网络上其它的消息。地址254是空地址。ECU不能够声明这个地址来使用。如果地址声明消息中将地址254当作源地址,那么就会认为这条消息时不能声明地址消息(参阅4.2.2.2)。通常把地址声明消息发送到全局地址(255)
33、,从而为网络上所有的ECU提供信息,以便于保持当前的地址同标称符的一致性。地址声明消息对于SAE J1939/21中特定请求消息的要求是个例外。SAE J1939/21定义,指向特定地址的请求消息必须由对请求者设定的目标地址进行响应。4.2.2.1地址声明消息发送接收速率: 依照要求数据长度: 8字节数据页: 0协议数据单元格式: 238特定协议数据单元: 255(全局地址)默认优先权: 6参数群编号: 60928(00EE0016)源地址: 0到253字节:1-8 标称符4.2.2.2不能声明地址 不能声明地址消息和地址声明消息都是一样的参数群编号,但前者还拥有一个源地址254以及空地址。E
34、CU发送不能声明地址消息,要么是因为不能够声明自己的首选地址,要么是因为不具有自配置地址的能力,要么是因为虽然具有自配置能力却由于没有可用的地址而无法声明。可以把不能声明地址消息当作对地址声明消息请求的响应或对地址声明消息的响应而发送出去。必须在出发响应的消息接收和不能声明地址响应之间插入0到153ms的伪随机延时。延时的目的在于将两条不能声明地址消息会导致总线出错的潜在可能性减到最小。产生伪随机延时的方法在4.4.3.3中有描述。不能够声明地址的ECU,除了不能声明地址消息和地址声明请求外,不能发送任何消息。4.2.2.3不能声明地址消息 传送接收速率: 依照要求数据长度: 8字节 数据页:
35、 0协议数据单元格式: 238特定协议数据单元: 255(全局地址)默认优先权: 6参数群编号: 60928(00EE0016)源地址: 254字节:1-8 标称符4.2.3命令地址网络互连ECU,例如桥接器,或诊断或扫描工具,都可以通过命令地址消息命令其它的ECU(命令控制ECU)使用指定的源地址。通过特定标称符命令地址消息可以用来指导ECU使用源地址(附录A图9和10)。接收到包含有自己标称符的命令地址消息后,ECU可以有两种方式响应:它可以通过调用地址声明程序来使用新的由命令地址消息提供的地址,或者忽略命令,同时发送没有响应。如果成功声明了命令地址,来自ECU的以后传送都会使用这个命令地
36、址,直到接收到另外的命令地址消息,或者通过上电或地址争夺从而完成了另外一个地址声明的过程。如果命令控制ECU有资格接收命令地址消息但不能够变成命令地址,那么它就可以忽略命令地址并为自己当前的地址发送地址声明。注意,如果命令控制ECU没有接收命令地址,操作员或技术员就不得不通过备用的用来操作网络的方法,修改ECU源地址或标称符。如果修改了源地址或标称符,ECU就必须在网络传送之前重新发送地址声明。ECU的制造商只能通过服务工具或桥接器来接受来自ECU的命令地址消息。此外,ECU制造商还会要求在接受命令地址消息之前进行某些类型的安全认证。命令地址消息包含了9个字节数据,并且采用了交通协议(SAE
37、J1939/21)的BAM(广播公告模式)进行发送,并发送至全局地址(255)。分配用来支持命令地址消息的ECU必须支持交通协议的BAM形式。4.2.3.1命令地址消息传送接收速率: 依照要求应答: 参阅附录A图9和10数据长度: 9字节数据页: 0协议数据单元格式: 254特定协议数据单元: 216默认优先权: 6参数群编号: 65420(00FED816)字节:8-1 标称符(5.1)字节 9 地址分配域(新源地址)4.2.3.2地址分配域(新源地址)这个8位的域是命令地址消息数据场的第九个字节。它包含了分配给ECU的源地址,这个ECU具有同命令地址消息的前八个字节传递的标称符信息一致的标
38、称符。在接收到命令地址消息和成功的地址声明后,源于这个ECU的所有消息,应该使用这个源地址。4.3网络出错管理网络出错管理提供了检测选址相关错误的方法,例如,ECU不能成功声明地址。其它的选址相关错误,例如双重地址声明或者双重标称符,可以通过地址声明能力请求的应用,用诊断工具检测出来。4.3.1不能声明地址 如果ECU尝试却不能够成功声明源地址,因为,该地址已经被网络上一个拥有更高优先权标称符的ECU声明了,这时就会出现不能声明地址出错信息。4.4 地址声明ECU初始化程序每个ECU在完成上电自检(POST)后,在发出其他通讯信息前,利用地址声明信息来获得汽车网络中唯一的地址。随后的程序确保在
39、初始化过程中检测出任何重复的地址并予以即时解决。4.4.1 地址声明要求在初始化和ECU的标称符或源地址改变时,每个ECU必须声明它的源地址。一个ECU可以支持并根据命令地址信息工作,这种情况下,随后的要求提供信息确认已收到命令地址信息。这个要求也保证了每个ECU在接收到有效的地址时作出响应,以及其他ECU在他们的地址声明没有被对方接收时,进行准确的地址仲裁。在网络中向所有的ECU“广播”的地址声明的目标地址应该是全局地址(255)。一个ECU应该能够区分接收到的地址声明信息,这些信息可能是其自身发出也可能是其它ECU发出,供重复地址检测使用的。4.4.1.1 地址声明请求的要求如果地址声明信
40、息请求来自一个尚未成功声明地址的ECU,请求的源地址必须是一个空地址(254)。4.4.2 初始化原则 下列规则适用于所有的ECU(最低要求)。4.4.2.1 对于发向全局地址的地址声明请求的响应一个ECU应该始终对指向全局地址的声明请求进行响应,响应的内容是地址声明信息或不可声明地址信息(如果该ECU不能成功声明一个地址)。如果一个ECU从未尝试过声明地址的(见4.2.1),就不该响应。4.4.2.2 对于发向某一特殊地址的地址声明请求的响应个ECU应该始终对请求的目标地址是该ECU地址的地址声明请求进行响应。该响应,即地址声明信息,应该发送至全局地址(255)。4.4.2.3 对自身地址请
41、求的响应如果ECU接收到一个对该机器自身源地址进行地址声明的,并且该机器的标称符小于接收到的声明中的标称符,该ECU应该转送这条地址声明。如果该ECU的标称符大于其接收到的声明中的标称符,该ECU不应该继续使用该地址。(该ECU可以发送一个不可声明地址信息或尝试声明一个不同的地址。)4.4.2.4 地址的争用一个ECU发现因为存在一个更高级的竞争声明而不能使用当前地址,应该发送一个不可声明地址信息(不可配置的,维护人员可配置或命令配置)或选择另一地址并尝试声明该地址(自配置)。先前在侦听该ECU的ECU应该通过监测前述更高级的ECU(标称符的值更小)地址声明和监测不可声明地址信息,检测该ECU
42、已经不可用或改变了地址。某些系统的维护工具和桥接器可以检测出并解决地址声明失败。维护工具可以监测不可声明地址信息和工具操作员的问题报告。4.4.3 初始化的信息时序在各种可能情况下的初始化时序图表见附录A中图17。在不同情况下,各图的应用将在下述段落中详细说明。各图中用到的地址和标称符的优先级在4.4.3.3中介绍。4.4.3.1 网络中的ECU初始化信息时序所有利用网络的ECU的初始化的信息时序见附录A中图1,2,3,4。这些时序图的应用条件总结如表3。表3时序图应用条件图序号时序图应用条件1ECU在没有争用情况下的地址声明2ECU声明相同的地址但不是同步的3ECU A标称符A小于标称符B而
43、且ECU B是可自配置的4ECU同步声明相同的地址4.4.3.2 网络管理信息中潜在的相同标志符这种可能性的存在源于不同的ECU利用三条网络管理信息产生相同的标志符。这些信息包括:(a)地址声明的请求,(b)地址声明,(c)不可声明地址信息。a 两个不同的ECU同时从两个空地址(254)发送地址声明请求信息是没有问题的,因为两条信息的数据场是相同的。b 两个不同的ECU同时发送的地址声明请求信息,两者竞争相同的地址会引起总线冲突,因为两条信息的数据场中的的标称符会不同。解决方法见4.4.3.3。c 两个不同ECU同时发送不可声明地址信息从空地址(254)会引起总线冲突,因为数据场中的标称符不同
44、。解决方法见4.4.3.3。4.4.3.3 地址声明的优先级在两个ECU竞争同一地址的情况下,标称符值小的ECU拥有优先权。标称符被视为8字节数值,具有在仲裁地址能力位(确定数值大小)中最重要的位。例如,发动机0和发动机1都请求相同的地址,发动机0的标称符具有较小的绝对值,因此赢得地址仲裁。此过程如图A2和A3所示。虽然这要求比较地址声明信息数据场中的8字节标称符,但可以消除地址声明过程的模糊性。如果多个具有相同的地址、不同的标称符的ECU同时发出地址声明信息将会导致总线错误。为了减小总线出错概率,在传送声明信息时下述特殊的处理被采用。ECU在传送任何声明信息后,应该监测错误代码信息。如果错误
45、代码表明发生了总线错误,则在可能的情况下取消CAN外围设备的自动重新传送。在帧结束附加一传送延时后,声明信息的重新发送应该重新安排。计算传送延时以产生伪随机值(0255)。手动选择标称符、串行数据或其他ECU中唯一的信息以观察伪随机值发生器。发送下一声明信息前的正常空闲周期中加入传送延时。系数应该能够在0.6ms计算延时内安排下一此声明信息。延时通过伪随机数发生器输出的0255间数值乘以0.6ms计算得。(总线上一条信息请求的最大时间)从而产生0153ms的延时。如果一条二次声明信息传送导致了总线错误,这个过程将在一个新的伪随机值内重复。图A4阐明了两个ECU同时声明相同地址的过程。4.4.3.4 一个不能获得地址的ECU一个不能获得地址的ECU的地址声明请求的响应信息时序图如图A8。在超过传送延时后,ECU应该以不可声明地址信息响应地址声明请求。在有不可声明地址信息冲突的情况下应该使用4.4.3.3中