《2022年XCP入门教程 .pdf》由会员分享,可在线阅读,更多相关《2022年XCP入门教程 .pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、页码Page XCP 入门教程1/22 1 of 222018 第一章XCP 协议首先使用在汽车“控制”相关的产品开发中,测量/校准阶段的通用协议“XCP”。像是汽车或一般工业设备的与“控制”相关的产品开发中,存在着被称为“校准”或“适配”、“匹配”的过程(图1)。在这个过程是将执行数字化控制的“电子控制单元(ECU:Electronic Control Unit)”、作为控制对象的执行器(Actuator)等“控制装置(Control Device)”和用于获得控制指标的“传感器(Sensor)”处于连接状态,并优化整体控制以符合需求定义的工作。具体来说,像是为了优化而改变 ECU 中的控制
2、乘数 和控制因素参数,或者访问 ECU 以确认变更后的结果的工作。这里的 访问 ECU 的协议 被称为“测量/校准协议”。通过规定出作为访问侧的测量/校准工具和作为被访问侧的ECU 之间的协议,即使是使用不同的微控制器或在不同的物理访问环境,也可以使用相同的协议进行测量/校准。本文中,在介绍测量/校准和说明校准协议的必要性的同时,也说明了用于测量和校准的通用协议“XCP(Universal Calibration Protocol)”的优点和协议内容。最后将介绍其趋势和在基于模型开发中的具体案例,以及在混合动力汽车(HV:Hybrid Vehicle)和电动汽车(EV:Electric Veh
3、icle)的开发中使用 XCP 的应用示例。本文的主角 XCP 是一种测量/校准工具 和 ECU 软件之间的通信协议,可以访问要校准的参数和内部测量值。它也是一种通用协议,可以用在工具和软件之间的任何通信介质上,比如控制器局域网(CAN:Controller Area Network)、FlexRay和以太网等(图4)。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 22 页 -页码Page XCP 入门教程2/22 2 of 22实际上,只需在连接到车载网络的ECU 中集成 CCP驱动程序,就有了对支持 CAN 的 ECU进行测量/校准的可能性。1.1 什么是 ASAM?CCP
4、和 XCP 由名为“自动化与测量系统标准化协会(ASAM:Association for Standardization of Automation and Measuring Systems)”的协会进行的标准化。ASAM 正在规范汽车和工业设备相关的开发平台。另外,标准化的内容可以在ASAM 网站上查看。CCP和 XCP 是由 ASAM 旗下的名为“汽车电子(AE:Automotive Electronics)”的工作组进行标准化,并被分配到“MCD”领域。名称MCD 来源于“Measurement”、“Calibration”和“Diagnostic”的首字母。1.2 ASAM 中 CC
5、P/XCP 的定位ASAM 的标准规范文档的标准AE 类别中,有称为“ASAM MCD-1 XCP”的规范文档,这是 XCP 的标准文件。同样的,CCP是以“ASAM MCD-1 CCP”的名义存在。图 5 显示了 CCP/XCP在整个 MCD 标准中的位置。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 22 页 -页码Page XCP 入门教程3/22 3 of 22CCP/XCP 是测量/校准系统的工具侧与ECU 的通信协议,“ASAM MCD-2 MC”是包含以下三种内容的数据库文件的标准。(1)CCP/XCP 的通信设置信息使用CAN 的情况下,CAN 的波特率和消息
6、ID 等(2)测量值信息测定对象的地址、大小以及物理值变换系数等。(3)参数信息校准参数的地址、大小以及物理值变换系数等。也就是说,CCP/XCP 是规定的协议本身,协议的设置和测量/校准的对象信息是在另外的数据库文件,工具基于数据库文件,使用CCP/XCP 来访问 ECU。补充:图 5 中的“ASAM ASAP 3”是用于从外部来控制测量/校准系统的接口规范。1.3 XCP 的好处接下来,将介绍 XCP 的主要优点。(1)可以对所有 ECU,进行统一的测量/校准XCP 考虑了各个 ECU 中使用的微控制器的字节序(Endian)和可用的 ROM/RAM 容量的差异,即使网络的通信介质不同也可
7、以使用相同的协议。这使得对所有的ECU,可以只使用XCP 来做测量/校准。(2)测量/校准使用的是经过验证的协议XCP 在 CCP 的实绩的基础上,包含对ECU 进行测量/校准的需求规格。而且,所有的协议都发布在 ASAM 网站上,任何人都可以使用它。在某些情况下,一些工具制造商免费提供名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 22 页 -页码Page XCP 入门教程4/22 4 of 22了在 ECU 侧运行的协议处理软件和驱动程序。(3)可以在 ECU 的运行中同步进行测量一般的 ECU 会以预定的控制周期重复执行,基于来自传感器等的外部信息或别的处理过程的输入进行处
8、理,再输出到别的处理过程或外部装置;或者根据输入因素的现象,来触发特定处理过程。使用XCP,可以在这些过程中同步测量输入/输出的数据(图 6)。如果仅需要进行测量/校准,那么使用车载网络上其它协议,例如用于车辆诊断的协议也是可以的,但是在校准过程中对控制的同步测量是不可或缺的。能够做这种对控制的同步测量,就是 XCP 的价值所在了。1.4 各个 XCP 网络的示例XCP 在不同网络上使用相同的协议,实际上每个网络的数据包结构等都是标准化的。这被称为“传输层标准”。以这个规则,将运行在其上的各个网络的名字前,附加上XCP。例如,在 CAN 上运行的XCP 是“XCP on CAN”。最后,列举出
9、 XCP 的网络示例(表2)。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 22 页 -页码Page XCP 入门教程5/22 5 of 22第二章XCP 协议的通信的构造和功能接下来,将会说明“通用校准协议(XCP:Universal Calibration Protocol)”协议具体是如何通信的,以及 XCP 的功能和协议内容。2.1 主从方式在 XCP 中,测量/校准的工具侧是“XCP 主结点”,被测量的 ECU 侧是“XCP 从结点”,采用所谓的“主从通信方式”。这种通信方式中,必定是从主结点发送命令来开始,从结点在接收到后,再向主结点发送应答,以这样的顺序进行通信。
10、如图7 所示,1 个网络上主结点必定只有一个,而从结点可以有多个。图 7:使用 XCP 的网络示例在这个情况下,主结点向每个从结点发送命令,并接收从结点返回的应答(图8)。图 8:一主多从的通信示例名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 22 页 -页码Page XCP 入门教程6/22 6 of 22通过这种通讯方式,车载网络上连接一个测量/校准工具(=XCP 主结点)后,可以通过XCP 协议访问作为测量对象的各个ECU(=XCP 从结点)。2.2 网络和传输方式在网络上,只要能区分“从主结点发送到从结点”和“从从结点发送到主结点”,这两种类型的通信,就能够使用XCP。
11、在“XCP on CAN”的情况下,是通过用两个CAN ID,“从主结点发送到从结点的 ID”和“从结点发送到主结点的ID”进行区分。在网络上使用区分的通信并传输一些内容时,XCP 使用了三种传输模式(图9)。图 9:XCP 的传输模式对于传输模式而言,可以在主结点侧和从结点侧,分别决定使用哪种模式。例如,主结点为“块传输模式”,从结点为“标准模式”,这样的使用方式也是可行的。因此,尽管主结点的工具侧的性能强大,但是当从结点的ECU 只能使用有限的资源时,也可以实现简化的传输模式。2.3 CTO/DTO 在 XCP 中,除了主结点和从结点之间的传输方向的差异之外,要传输的内容还被分为“与XCP
12、 本身的控制相关的通信”和“与数据相关的通信”两种类型,以及定义在每个网络上传输的报文的格式。作为对比,前者被称为“命令传送对象(CTO:Command Transfer Object)”,后者被称为“数据传送对象(DTO:Data Transfer Object)”。2.3.1 CTO:Command Transfer Object的缩写CTO 是与 XCP 自身的控制命令和应答等相关的对象。控制命令从主结点发送,对命令的名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 22 页 -页码Page XCP 入门教程7/22 7 of 22应答是从从结点发送。2.3.2DTO:Dat
13、a Transfer Object 的缩写DTO 是与同步从结点(ECU)获取数据测量结果以及进行数据变更相关联的对象。同步数据变更被称为“激励(Stimulation)”,但由于是测量/校准以外的功能,因此省略详细说明(详情请参照 XCP 标准文件)。图 10 展示了,从 XCP 标准文件的“Part2 1.1.1 The XCP Packet Types”章节中,抽取的 XCP主结点与从结点之间的CTO 和 DTO 的关系。2.4 报文格式和 PID 如上所述,CTO 和 DTO 是不同报文格式(图11),可以分别设置主从设备的最大报文长度。MAX_CTO:CTO 的最大报文长度(字节)M
14、AX_DTO:DTO 的最大报文长度(字节)名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 22 页 -页码Page XCP 入门教程8/22 8 of 22图 11:CTO 和 DTO 的报文结构所有的 XCP 报文都在这个最大报文长度内,命令和响应等内容都在一个报文中完成的。而且在报文格式中,每个字段按两种类型分配给CTO 和 DTO 报文。此外,报文的第一个字节是被称为“PID”的标识符,是被用来区分是怎样的报文。主结点对从结点进行XCP 控制时使用“命令(CMD)”,此时的 PID 在“0 xC0”到“0 xFF”的范围内。从结点对这个命令返回肯定应答的情况下,使用“应答
15、(RES)”,此时 PID 变为“0 xFF”(图 12)。图 12:报文的标识符(PID)除了测量/校准的同步数据交换之外,所有其它的都是通过主结点发送命令,从结点将返回肯定应答来完成的。在此,以 XCP on CAN 为例来说明,其中主结点发送到从结点的CAN ID是“1”,从结点发送到主结点的CAN ID 是“2”。在这种情况下,XCP 通信按以下顺序执行。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 22 页 -页码Page XCP 入门教程9/22 9 of 22主结点发送的 CAN ID 为“1”,其中第一个字节指定为“0 xFF”,第二个字节指定为“命令参数”。从
16、结点接收第 1 行的连接命令,并通过PID 识别该命令。从结点发送的 CAN ID 为“2”,其中第一个字节指定为“0 xFF”,第二个字节开始指定为“应答值”。主结点接收第 3 行的应答命令。图 13 显示了实际通信的跟踪结果。第1 行的“0 xFF”是命令“CONNECT”,从而在主结点和从结点之间建立逻辑连接,并接收后续命令。2.5 访问测量/校准对象XCP 的测量/校准,是通过对ECU 内部的软件的访问来实现的。具体而言,针对要测量/校准的对象的内存区间,通过指定对应的“XCP 地址”的方式进行访问。XCP 地址与普通的微控制器中的地址几乎相同,但XCP 使用了 32位的 XCP 地址
17、和 8 位的扩展地址。也就是说,主结点对从结点的访问,可以有32+8=40 位的地址空间。这个地址与 XCP 的实际 ECU 内存不需要完全匹配,其字节序(Endian)也可以针对每个从结点来选择。因此,在车载网络上可以连接到多个ECU,即使存在不同的地址空间(16 位,32 位),或者不同的地址字节序,主结点都可以经过适当处理,使得所有的都可以测量/校准。2.6 异步测量XCP 除了同步测量,还可以做异步测量。异步测量是使用主结点发送的命令,通过指定的 XCP 地址来提取从结点的ECU 内部的数据,并通过从结点的应答将该数据传送给主结点,如此循环往复来实现的。为了取出数据,使用PID 为“0
18、 xF4”的命令“SHORT_UPLOAD”。这个命令和应答的格式如下所述。SHORT_UPLOAD 命令:CTO 0 字节位置,指定为PID“0 xF4”CTO 1 字节位置,指定为取出字节数。最大为MAX_CTO 1 字节名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 22 页 -页码Page XCP 入门教程10/22 10 of 22CTO 2 字节位置,保留字段CTO 3 字节位置,指定为要读出的8 位扩展地址CTO 47字节位置,指定为要读出的32 位地址SHORT_UPLOAD 应答:CTO 0 字节位置,指定为PID“0 xFF”CTO 1MAX_CTO 字节位置
19、,指定为取出的数据图 14是主结点使用“SHORT_UPLOAD”,在 XCP 扩展地址为“0”、XCP 地址为“0 x00124A5C”的位置,每 100ms取出 4 字节的过程的跟踪结果。2.7 同步测量在上述异步测量的情况下,主结点决定了测量时间。为了使测量与ECU 的控制相匹配,有必要由 ECU 确定测量时机,并在数据取出来后由从结点发送到主结点。这种数据通信是通过 DTO 来完成的。主结点在进行同步测量之前,通过命令指定要取出的数据的XCP 地址,从结点在等到同步测量开始命令后,使用DTO 发送到主结点。因此,在同步测量的情况下,不是通过命令和应答的组合,而是通过测量周期或事件,由从
20、结点发送DTO 报文到主结点。图 15 展示了,由“START_STOP_SYNCH”命令开始的测量同步,从结点持续地将测量数据通过 DTO 报文发出,直到收到“START_STOP_SYNCH”命令才停止的实际的跟踪结果。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 22 页 -页码Page XCP 入门教程11/22 11 of 22图 15:同步测量的开始和停止以下是对同期测量中,对ECU 的控制应用程序的测量时机,主结点和从结点的任务分割的说明。2.7.1 ECU 的控制应用程序当到达测量的控制周期,或者事件发生时,进行处理并通知到XCP 从结点。2.7.2主结点确定
21、要同步测量的内存及其测量周期,指定同步测量的XCP 地址,并使用命令启动和停止同步测量。2.7.3从结点它管理从主结点指定的同步测量的XCP 地址。然后,从检测的开始同步测量后,直到停止之前,会根据上述ECU 的控制应用程序传达的被管理的XCP 地址,从取出内存值并发送DTO 报文。2.7.4 XCP 与同步测量相关的术语和概念关于同步测量,在XCP 标准文档中使用了各种术语。这里我们解释一下主要的术语和概念。2.7.4.1元素(Element)通过 XCP 地址来指定的一个测量对象的内存。2.7.4.2对象描述表(ODT:Object Description Table)归并元素的测量内存,
22、在一个DTO 报文中聚集最多的可发送的内存的表。2.7.4.3 ODT 条目(Entry)为创建 ODT 的元素的测量对象的XCP 地址。2.7.4.4DAQ 列表(List)这是一个 ODT 的集合。这决定了在一个同步测量的周期或者事件触发时要测量的内存数量。ODT 与一个 DTO 报文相关联,由MAX_DTO-PID 决定了最大的大小,但由于实际测量的内存可能会大于此值,因此分为了ODT 和 DAQ 列表。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 22 页 -页码Page XCP 入门教程12/22 12 of 222.7.4.5事件通道(Event Channel)
23、在同步测量的控制周期和事件触发的通道,也即是“种类”的意思。同步测量的时序都是基于这个事件通道的。2.8 同步测量的处理下面将说明,在同步测量中,ECU 的控制应用程序向从结点发送测量的时机,将执行怎样的处理。(1)控制应用程序要通知从结点测量时机。这个通知通常是将事件通道作为参数,来调用从结点的驱动过程来实现的。(2)针对主结点以ODT 条目来指定的测量对象的内存地址,从结点使用缓冲区来管理,在每次被控制应用程序调用时,都会根据该缓冲区来读取指定地址的内存。(3)读取的内存以 ODT 为单位合并,并以 DAQ 列表来生成 DTO 报文。图 16 展示了,元素和ODT 条目、DAQ 列表和 E
24、CU 控制应用程序之间的关系。当ECU的控制应用程序集成了Vector的从结点驱动程序后,调用 C 语言函数“XcpEvent(事件通道)”,就会根据 ODT 条目的缓冲区,从ECU 内存中读出元素的值来创建出DTO 报文。图 16:XCP 和控制应用程序的关系名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 22 页 -页码Page XCP 入门教程13/22 13 of 222.9 测量对象和 DTO 报文图 17 展示了,作为测量对象的元素从在ECU 内存,到在网络上传输的DTO 报文之间的关系。图 17:元素和DTO 报文的关系在图 17 中,是根据 ODT 条目测量的七
25、个元素的结果,取出的“0 x19”“0 x6C”“0 xF0”“0 xBF”“0 xC0”“0 xA9”“0 x02”,作为一个 ODT 的 DTO 报文就创建好了。在这个DTO 报文中,PID包含在第一个字节,测量时元素的内容被包括从第二个开始的字节中。像这样的,PID 的值是从“0”到“0 xFB”的 DTO 报文被称为“DAQ”。就像这样,从作为测量对象的ECU 内存、管理测量对象的ODT 的 DAQ 列表、决定 测量时机的控制应用应用程序和用于区分 测量时机的事件 通道开始,到最后使用DTO 报文将测量数据发送到主结点,就实现了同步测量。2.10同步测量的选项除了上面描述的那些之外,根
26、据测量的规模和用途,还有 XCP 同步测量的各种使用形式。下面将介绍这些使用形式中比较典型的例子。2.10.1动态 DAQ 通过增加管理测量目标的DAQ 列表中的 ODT 及其条目的数量,可以增加测量的测量点的数量。而且通过维持与要测量的事件通道数量一样多的DAQ 列表,可以对ECU 的所有测名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 22 页 -页码Page XCP 入门教程14/22 14 of 22量时机进行测量。但是这些数量的增加会增大ECU 中的管理缓冲区,因此会消耗 ECU的内存。而且如果 ECU 具有 10ms和 25ms 的控制周期,有的10ms 的控制周期
27、中测量的测量点的数量很大,别的 25ms的控制周期中测量的测量点的数量也很大,根据测量的场景不同,测量点的数量会有不同。对于这样的应用程序,有一种称为“动态DAQ”的功能,可以允许从结点动态更改每次测量的DAQ 列表、ODT 和 ODT 条目的数量。相反的,如果在集成 XCP 驱动程序时,这些数量是预先确定的,则称为“静态DAQ”。一个从结点将具有静态或动态DAQ功能。2.10.2带时间戳的 DAQ 在主从结点间的通信中,如果因为加入网关而造成时间差,又或者因为使用无线通信,使得通信时间出现波动的情况下,同步测量中的测量时间对于主结点来说是“不确定”的。为了防止这种情况,要使用“带时间戳的DA
28、Q”。在从结点侧,包含测量时间的时间戳的DAQ,通过 DTO 报文传送给主结点。而收到这个报文的主结点,可以读出所添加的时间戳来知道正确的测量时间。2.10.3校准校准是为了重写 ECU 内部软件中的参数,而从主结点发送指定XCP 地址的命令和重写数据的命令,从结点会对应的导出适当的参数地址、执行重写,并返回一个应答。图 18 显示了,根据 XCP 主结点发送的 XCP 扩张地址“0”、XCP 地址“0 x0041D5C8”,将该地址开始的 2 字节的参数,重写为“0 x0064”的示例的跟踪结果。图 18:通过 DOWNLOAD命令的校准2.104 其它的 XCP 功能XCP 仅在测量/校准
29、方面就还有很多的功能。除了这次我们介绍的之外,还包括诸如对 ECU中的闪存之类的非易失性存储器的访问功能、对ECU 的访问保护的功能等许多功能。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 22 页 -页码Page XCP 入门教程15/22 15 of 222018/3/31 第三章XCP 的趋势和应用实例接下来,从使用 XCP 进行测量/校准的系统构成开始,依次讲解趋势和应用实例。3.1 测量/校准的系统构成如前面所述,XCP 是主结点侧的测量/校准工具和从结点侧的ECU 之间的通信协议。XCP的主结点侧,通常提供为在PC上运行的应用程序(图19)。相对的,从结点侧则提供
30、为ECU中的嵌入式 C语言源代码的形式的软件模块,并且在实际的传输层的情况下,例如 XCP on CAN,它将被集成连接到CAN 的通信部分,以便处理XCP 协议。图 19:测量/校准工具名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 22 页 -页码Page XCP 入门教程16/22 16 of 223.2 XCP 从结点驱动程序及其提供来源XCP 从结点侧的模块,一般包含作为XCP 从结点驱动的协议处理部分和同步测量的处理部分,但该驱动程序通常由提供XCP 主结点侧应用程序的工具供应商提供。因此,测量/校准工具供应商将提供从结点驱动程序,或协助进行实际的组装的服务。3.3
31、 集成化的测量/校准系统对作为校准对象的整体控制进行优化,以合乎要求定义的过程,只通过 XCP 对 ECU 进行测量/校准是不能实现的。例如,在本文“1.什么是测量/校准协议?”的化油器的校准中,就有必要通过传感器等来测量混合气体的状态。这样的传感器输入对于实现实际测量/校准是不可或缺的。此外,近年来,对汽车的控制也在往复杂化和高功能化方面发展,出现了基于车辆的外部环境进行控制的 ECU。一个典型的例子是“自适应巡航控制”,简称为“ACC:Adaptive Cruise Control”。在该 ECU 中,利用电磁波和相机进行的车辆外部环境的检测(例如通过毫米波雷达检测前方车辆)的车辆控制,以
32、跟随和避免碰撞。在这种情况下,需要利用视频等来测量外部环境的车辆的位置和当时的情况(图20)。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 22 页 -页码Page XCP 入门教程17/22 17 of 22图 20:集成化的测量/校准工具在像这样的校准的实现中,集成化的测量/校准系统是不可或缺的。接下来,将说明校准过程中其次的主要需求。3.3.1 集成化的测量不仅是对 ECU 的测量,还需要同步测量传感器、汽车网络、仿真/数字信号、以及车辆的位置和周围的影像。3.3.2 测量的离线评估进行测量可以确认校准结果和控制的有效性,但是在与XCP 相关的汽车和一般工业设备的情况下
33、,测量成本在一些情况下很高。例如,使用测试车和测试驾驶员的测量成本非常高,并且容易想象到,对于飞机发动机测量等的成本更高。因此,随着测量功能的精细化,测量之后的数据分析和测量与校准之间的因果关系的记录等评估功能需要离线,也就是测量之后进行。3.3.3校准参数的管理如果 ECU 包含了与控制相关的所有功能,即使改变了要控制的对象,也只要通过校准改变参数,而不用改变控制。在发动机控制中,有些ECU 是以零部件的形式从制造商出售的,可以在购买后根据实际发动机进行参数校准。像是这种ECU,根据各种控制对象来改变共用的参数的情况下,有必要针对控制对象来管理适当的一组参数(参数集:Parameter Se
34、t)。此外,在这种情况下,参数的数量增加以匹配更多的控制对象,由多个校准工程师进行更复杂的校准和工作。因此,从这些方面来看,参数管理也是必要的。对于参数管理,需要包含对多个参数集进行比较、合并和检索等功能(图21)。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 22 页 -页码Page XCP 入门教程18/22 18 of 22图 21:校准参数的管理示例3.4 XCP 的应用事例到目前为止,描述了XCP 在测量/校准系统、作用对象的ECU 及其网络中的使用情况,现在开始说明 XCP 的其它使用情况。3.4.1由记录器(Logger)记录 XCP 在记录车载网络或车辆的模拟
35、量(Analog)情况的记录器中,与此同时,符合XCP 标准的产品也能够满足“记录ECU 内部状态”的需求。除了记录模拟量和车载网络的输出结果之外,还可以记录 ECU 内部状态的输出过程,从而提高分析效率。3.4.2测试存在这样的系统:在电气上仿真 ECU 的外部环境,并执行 ECU 的操作测试,而后将测试结果作为判断分析因素,并使用XCP 来测量 ECU 的内部状态(图 22)。如此,不仅是最终的ECU 输出结果,中间过程也可以得到确认,从而提高测试时的分析效率。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 22 页 -页码Page XCP 入门教程19/22 19 of
36、22图 22:使用 Vector 的 CANoe 进行测试使用XCP 的 ECU 3.4.3测量器的通用接口如本文“2.XCP 协议通信的构成和和功能”所述,XCP 的实现方式为,使用来自主结点的 40 位 XCP 地址,访问测量/校准对象以及得到应答;并且,通过XCP 地址指定同步测量的对象,从结点周期性将测量结果数据发送出来。有些产品会使用 XCP 作为测量器的通用接口。在这种情况下,XCP 地址不只用来指定ECU 内存,还用作指定要测量的模拟量或传感器的识别号码。这样,通过使用XCP 作为测量器的通用接口,在不改变现有的测量/校准系统的情况下,它可以作为集成的测量对象的一个设备来使用。3
37、.5在 EV/HEV 车辆开发中使用XCP 接下来,考虑在 EV/HEV 汽车开发中,使用XCP 进行测量/校准的要求。3.5.1多个 ECU 的测量/校准在 HEV 的情况下,动力源增加到了两个:发动机和电机。EV/HEV 均需要对电池和再生充电等进行集成控制。除了单主多从的XCP 功能之外,还需要在每个分离的网络上,都能作为主结点的测量/校准工具。名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 22 页 -页码Page XCP 入门教程20/22 20 of 223.5.2低负载、稳定负载的高速测量电机的控制周期大约需要在100 sec,并且需要对其进行同步的高速测量。此外
38、,在这种情况下,同步测量本身的负载,即XCP 的测量处理负载也要求尽可能低。通常的,测量处理负荷在每个测量周期中与测量点的数量成正比,所以测量周期越快,测量负荷对原始控制周期的影响就越大。但是,在电机控制等情况下,由于这种对控制周期的影响是不允许的。换句话说,在负载是低负载的同时,诸如测量点的数量随测量情况的变化时,要求负载始终是稳定的。3.6案例研究:使用 XCP on Ethernet和 Vector 的 VX1000 系统进行测量。下面描述的 Vector的“VX1000 系统”示例,在执行上述高速测量的同时,以低负载和稳定负载进行测量。(图 23)图 23:VX1000 系统的构成示例
39、在本系统中,不需要集成XCP 从结点驱动程序,只需要通知同步测量的时机的处理。使用该驱动程序,ECU 和 VX1000 系统通过 Nexus Class 3、RTP 或 DMM 等微控制器内存跟踪的接口,VX1000 系统和测量/校准工具是使用XCP on Ethernet(通过 TCP/IP 或 UDP/IP)来连接。从测量/校准工具来看似乎是XCP,但 ECU 不直接处理 XCP 从结点,由 VX1000 系统执行协议转换的处理。接下来,将说明在 ECU 测量周期的时序中,从结点驱动处理是怎样做到XCP 同步测量的。(1)与 XCP 一样,由控制应用程序通知测量的时机。通知的方法也是同样的
40、,将事件通道作为参数来调用驱动程序的函数。(2)在第 1 条的函数中,不是处理每个测量点,而是仅仅通过Nexus Class 3接口进行时名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 22 页 -页码Page XCP 入门教程21/22 21 of 22序通知。因此,这个处理的时间不受测量点数量的影响,并且是低负载的。(3)VX1000 系统侧在检测到第2 条的时序通知时,基于那个时间点的跟踪数据,生成XCP 的 DTO 报文,并通过 XCP on Ethernet发送给主结点。表 3 显示了直接使用各个XCP 网络协议和使用 VX1000 系统之间的差异。表 3:ECU 接
41、口的特征在基于模型的开发(MBD:Model Based Development)中,对可执行的模型和被称为“设备(plant)”的控制对象一起进行仿真是可行的。当进行仿真的准确性提高后,还可以像对实际 ECU 一样对其进行校准。此外,为了能够进行充分的仿真,还需要通过校准,使其成为与设备相匹配的模型。因此,在仿真阶段就能够进行测量和校准是有必要的,这也是基于模型的开发的要求之一。对模型不仅是仿真,还会通过自动代码生成器来生成C 语言等代码,并实际的运行。在这种情况下,也有必要对ECU 进行与以往相同的测量/校准。另外,可以基于在之前仿真阶段校准的结果进行校准,也就是说,校准参数可以得到沿用。
42、下面我们从仿真和实际ECU 两方面来考虑测量/校准的实现。3.7 仿真测量/校准的对象是仿真的虚拟模型,必须通过虚拟接口来实现。3.7.1实际 ECU 测量/校准的对象是 ECU,需要使用 CAN 或 FlexRay 等实际网络来实现。针对这种仿真和实际 ECU 的差异,由于 XCP 不会依存于具体网络,都可以进行测量/校准,所以可以使用在基于模型开发的各个阶段。3.7.2应用举例:使用 Vector“CANape”和“Simulink XCP Server”的进行测量/校准仿真作为对仿真的模型进行测量/校准的示例,针对 Vector“Simulink XCP Server”进行说明(图24)
43、。名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 22 页 -页码Page XCP 入门教程22/22 22 of 22图 24:CANape 和 Simulink XCP Server 为了实现对在 MATLAB/Simulink上运行的仿真模型的测量/校准,Simulink XCP Server 作为为模型提供的 XCP 接口的 Simulink 的模块,可以通过 XCP on Ethernet连接到 Vector 的校准工具“CANape”。就这样,即使在仿真过程中,也可以进行与真实环境完全相同的测量/校准。一般来说,由于仿真的运行速度比实际的执行时间快,也可以进行比实际执行时间更快的校准,此时获得的校准参数也取决于模拟的准确性,可以与实际ECU 的值大致相当。基于这个校准参数,再开始对实际ECU 的测量,可以加快最终校准的完成时间。XCP 是按不会依存于具体网络、对任意形态的ECU,都可以进行访问和测量/校准的目标来进行开发和标准化的。最初是从CCP 成功的实际业绩来开始扩展功能,实现在所有车载网络的测量/校准。由于其灵活性,它被用作测量器的通用接口,在基于模型的开发中,它也被用作仿真和实际 ECU 间无差异的相同接口。名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 22 页 -