原文链接:https://blog.csdn.net/nibiewuxuanze/article/details/78848628
下面将说明,首先使用在汽车“控制”相关的产品开发中,测量/校准阶段的通用协议“XCP”。像是汽车或一般工业设备的与“控制”相关的产品开发中,存在着被称为“校准”或“适配”、“匹配”的过程(图1)。
图1:产品开发的过程和校准
在这个过程是将执行数字化控制的“电子控制单元(ECU:Electronic Control Unit)”、作为控制对象的执行器(Actuator)等“控制装置(Control Device)”和用于获得控制指标的“传感器(Sensor)”处于连接状态,并优化整体控制以符合需求定义的工作。具体来说,像是为了优化而改变ECU中的控制乘数和控制因素参数,或者访问ECU以确认变更后的结果的工作。
这里的访问ECU的协议被称为“测量/校准协议”。通过规定出作为访问侧的测量/校准工具和作为被访问侧的ECU之间的协议,即使是使用不同的微控制器或在不同的物理访问环境,也可以使用相同的协议进行测量/校准。
本文中,在介绍测量/校准和说明校准协议的必要性的同时,也说明了用于测量和校准的通用协议“XCP(Universal Calibration Protocol)”的优点和协议内容。最后将介绍其趋势和在基于模型开发中的具体案例,以及在混合动力汽车(HV:Hybrid Vehicle)和电动汽车(EV:Electric Vehicle)的开发中使用XCP的应用示例。
首先从“什么是测量/校准?”开始,然后说明其协议化和定位、优点和网络示例。
什么是“测量”呢?从术语的含义来讲,是“用仪器或设备来测量如长度、重量和速度等各种量值”。然后“校准”的术语的含义是“对条件、情况等的适配”。为了了解测量/校准是什么样的,首先以使用机械方式进行校准的“化油器(Carburetor)”来举例,然后讲解数字化的校准及其协议、测量。
化油器是为了使内燃机“燃烧”而混合燃料和空气的装置,为了制造适当的混合气体需要进行控制。这个控制是机械方式完成的,化油器根据来自油门(Accelerator)的输入来决定混合气体的燃料和空气的比例。
化油器有多个“螺丝”来确定混合气体中燃料和空气的比例。通过各个螺丝,除了可以决定怠速(Idling)、油门半开或全开时混合气体的比例情况,还可以进行调整以生成与发动机(Engine)和消声器(Muffler)等匹配的适当的混合气体。
这个调整行为本身就是一种校准。换句话说,在有着机械控制装置的化油器中,根据所连接的发动机和消声器等的物理条件、情况,进行混合气体的适配就是校准,校准的工具是“螺丝刀”,其作用对象是螺丝(图2)。
图2:对化油器的校准
上述的化油器的混合气体的机械控制和燃烧控制,现在被数字化,并替换为ECU中的软件控制。类似曾经使用的螺丝的调整部件,在软件上全部被视为“参数”。然而,即使是在被软件控制所取代的情况下,有一点还是保持不变,即必须根据物理的条件/情况进行校准。因此,进行校准的工具,换句话说,替换机械的螺丝刀的工具还是需要的。为了进行校准而访问ECU的工具称为“校准工具”。
此外,在必须有校准工具的同时,“工具的统一化”也是必要的,可以从使用螺丝和螺丝刀的机械校准来考虑。比较理想的,像是螺丝刀可以与任何机械控制装置一起使用,也想要使用相同的工具对不同ECU软件的参数进行校准。
就这样,机械控制被替换为ECU中的软件控制,从如何实现校准过程的需求出发,就诞生了校准协议。表1中,展示了机械校准和ECU校准的类比。
表1:机械校准和ECU校准的比较表
在机械控制的化油器的情况下,通过传感器测量混合气体和燃烧后排出的废气等,来获得校准的结果。总之,在校准的时候,必然需要进行测量。在机械的校准中,测量和校准是一对,可以说测量是获得校准结果的指标所必需的(图3)。
图3:测量和校准的关系
数字化ECU的软件控制,也需要进行测量,按需要添加测量的项目。与上述机械的校准相同的是,需要使用传感器来测量最终的控制结果,除此之外,还需要测量控制软件的内部值。
通过测量该软件的内部值,可以调查软件控制本身的有效性。另外,ECU内的软件不仅进行混合气体的控制,还会进行燃烧控制等其它控制,以及进行综合的控制。在这种情况下,除非测量作为控制过程之间传递的值的软件内部值,否则不可能知道软件是否有效。
由于需要在与校准相同的条件下进行测量,并且需要访问ECU软件中的内部数据,所以校准工具始终包含作为“测量工具”的功能,测量和“协议化”成为统一的事情。
测量和校准在相同的环境下访问相同的目标,实现具有这一功能的测量/校准协议已经诞生。
本文的主角XCP是一种测量/校准工具和ECU软件之间的通信协议,可以访问要校准的参数和内部测量值。它也是一种通用协议,可以用在工具和软件之间的任何通信介质上,比如控制器局域网(CAN:Controller Area Network)、FlexRay和以太网等(图4)。
图4:XCP
XCP作为通用测量/校准协议,现在最新的版本是1.1版。这里将简单介绍历史上XCP诞生的背景。
(1)CCP的诞生
作为旨在能够访问校准的参数和内部测量值的协议,“CCP”协议的最初版本(1.0版本),在1992年进行了标准化。CCP是“CAN Calibration Protocol”的缩写,是使用CAN的测量/校准协议的意思。在这之后,随着CCP功能追加,其版本也在增加,并于1999年到了2.1版本。这是CCP实质上的最终版本,在此之后的功能追加,都移交到了XCP。
(2)CCP的普及
随着CAN的普及,CCP被广泛使用。其背景是CAN用作访问ECU内部软件的通信媒介,可以以低成本实现通用的测量/校准。实际上,只需在连接到车载网络的ECU中集成CCP驱动程序,就有了对支持CAN的ECU进行测量/校准的可能性。
(3)从CCP到XCP
在CCP普及后,随着ECU性能的提高,测量/校准的要求需求也随之扩大。例如,对测量速度和测量点的数量的扩大,已经到了在CCP被标准化时所想不到的程度。此外,不仅是CAN,CAN以外的其它车载网络,例如FlexRay,已经被标准化和实际应用,这也是原因之一。
基于这些,XCP在继承了CCP标准之后,又增加了上述的新功能,然后作为可以处理不同网络的唯一的通用测量/校准协议,XCP的1.0版本在2003年被标准化。
CCP和XCP由名为“自动化与测量系统标准化协会(ASAM:Association for Standardization of Automation and Measuring Systems)”的协会进行的标准化。ASAM正在规范汽车和工业设备相关的开发平台。另外,标准化的内容可以在ASAM网站上查看。
CCP和XCP是由ASAM旗下的名为“汽车电子(AE:Automotive Electronics)”的工作组进行标准化,并被分配到“MCD”领域。名称MCD来源于“Measurement”、“Calibration”和“Diagnostic”的首字母。
ASAM的标准规范文档的标准AE类别中,有称为“ASAM MCD-1 XCP”的规范文档,这是XCP的标准文件。同样的,CCP是以“ASAM MCD-1 CCP”的名义存在。图5显示了CCP/XCP在整个MCD标准中的位置。
图5:MCD标准和CCP/XCP
CCP/XCP是测量/校准系统的工具侧与ECU的通信协议,“ASAM MCD-2 MC”是包含以下三种内容的数据库文件的标准。
(1)CCP/XCP的通信设置信息
使用CAN的情况下,CAN的波特率和消息ID等
(2)测量值信息
测定对象的地址、大小以及物理值变换系数等。
(3)参数信息
校准参数的地址、大小以及物理值变换系数等。
也就是说,CCP / XCP是规定的协议本身,协议的设置和测量/校准的对象信息是在另外的数据库文件,工具基于数据库文件,使用CCP/XCP 来访问ECU。
※补充:图5中的“ASAM ASAP 3”是用于从外部来控制测量/校准系统的接口规范。
接下来,将介绍XCP的主要优点。
(1)可以对所有ECU,进行统一的测量/校准
XCP考虑了各个ECU中使用的微控制器的字节序(Endian)和可用的ROM/RAM容量的差异,即使网络的通信介质不同也可以使用相同的协议。这使得对所有的ECU,可以只使用XCP来做测量/校准。
(2)测量/校准使用的是经过验证的协议
XCP在CCP的实绩的基础上,包含对ECU进行测量/校准的需求规格。而且,所有的协议都发布在ASAM网站上,任何人都可以使用它。在某些情况下,一些工具制造商免费提供了在ECU侧运行的协议处理软件和驱动程序。
(3)可以在ECU的运行中同步进行测量
一般的ECU会以预定的控制周期重复执行,基于来自传感器等的外部信息或别的处理过程的输入进行处理,再输出到别的处理过程或外部装置;或者根据输入因素的现象,来触发特定处理过程。使用XCP,可以在这些过程中同步测量输入/输出的数据(图6)。
图6:使用XCP的同步测量
如果仅需要进行测量/校准,那么使用车载网络上其它协议,例如用于车辆诊断的协议也是可以的,但是在校准过程中对控制的同步测量是不可或缺的。能够做这种对控制的同步测量,就是XCP的价值所在了。
XCP在不同网络上使用相同的协议,实际上每个网络的数据包结构等都是标准化的。这被称为“传输层标准”。
XCP +“on”+ 网络名
以这个规则,将运行在其上的各个网络的名字前,附加上XCP。例如,在CAN上运行的XCP是“XCP on CAN”。
最后,列举出XCP的网络示例(表2)。
表2:XCP的网络示例
以上从“什么是测量/校准?”开始,解释了协议化的历史、协议的定位、优点和网络示例