通用测量与标定协议的概念和应用分析

发布时间:2023-06-07  

针对多种传输层和应用的协议

现代汽车系统中加入了越来越多的安全舒适性电控功能。虽然ECU的数量得到了控制,但是这就意味着要增加单个设备的复杂度来补偿功能的增长。XCP通信协议为这些分布式系统开发过程的合理化做出了重要的贡献,其主要任务包括实时地测量和标定ECU内部变量。该协议继承了CCP,它的一个巨大优势就是与物理传输层无关。


在当前,汽车控制模块中的变量数目超过1万的情况已经不足为奇了!在车辆的控制中有众多的动态过程需要控制,而ECU标定的主要任务就是优化这些控制算法。例如针对PID控制器,标定其比例、积分和微分环节时可能产生不计其数的变化版本(图1)。因此,就需要寻找到一个在稳定性、速度和动态特性方面足够好的结合点。这些可以通过实时读取和更改变量来实现(图2)。

通用测量与标定协议的概念和应用分析

图1 PID控制算法优化

图2 使用图形化标定和诊断工具CANape优化PID控制器

为了控制ECU标定的时间和成本,工程师和技术员通常会依赖可以灵活读写变量和内存的强大的工具和标准。为此,在90年代出现了CAN标定协议(CCP),当时CAN总线是汽车中唯一的主流总线。CCP后来被指定为一种交叉OEM标准。然而,随着汽车电子的持续发展,其它总线系统诸如FlexRay、LIN、MOST等也开始成为主流。但是,CCP仅限于CAN网络应用,所以在其它潜在领域的应用局限日益增加。这样就导致了其后继协议XCP的出现。


通用的标准协议

与CCP一样,“通用测量与标定协议”(XCP)也是源于自动化和测量系统标准化协会(ASAM),它在2003年被定为标准。其中的“X”代表可变的和可互换的传输层。XCP通过双层协议将协议和传输层完全独立开,它采用的是单主/多从结构。根据正在讨论的不同的传输层,XCP协议可能指的是XCP-on-Can、XCP-on-Ethernet、XCP-on-UART/SPI 或XCP-on-LIN,如图3所示。

图3 传输层和协议层的隔离使得XCP可以利用大量的硬件接口

XCP主设备可以和不同的XCP从设备同时通信。这些XCP从设备包括:

·ECU或ECU原型

·测量和标定硬件,如调试接口或内存仿真器

·快速控制原型硬件

·HIL/SIL系统

为了满足作为针对大量不同应用的通用的通信解决方案的挑战,ASAM工作组强调了下列XCP设计准则:最小的资源使用(包括ECU中的RAM、ROM和必需的运行时资源),高效的通信,轻松实现XCP Slave,需要较少配置工作的即插即用性能,较少的参数,以及可伸缩性。


可互换的传输层

XCP可以在不同的传输层上实现同样的协议层。这是一种通用的测量和标定协议,可以独立于所使用的网络类型而工作。目前,ASAM已经在标准中定义的传输层包括:XCP-on-CAN,XCP-on-SXI(SPI,SCI), XCP-on-Ethernet(TCP/IP and UDP/IP),XCP-on-USB和XCP-on-FlexRay。最后命名的版本(XCP-on-FlexRay)是协议家族中的最新成员,它早在2006年就产生了。XCP-on-FlexRay的一个特别的技术特征是动态带宽控制。测量、标定和诊断工具(MCD工具),比如CANape,可以识别可用带宽并能够非常高效地将其动态分配到当前的应用数据通信中。这样XCP通信的可用带宽就可以得到最理想的使用,并且不影响正常的FlexRay通信。


正在为将来考虑的其它方案包括XCP-on-LIN;如果有充足的客户需求,则也可能包括XCP-on-K-Line或XCP-on-MOST。由于支持广泛的传输层,使得从开发阶段的宽带(比如Ethernet或USB)方案移植到批量生产阶段的CAN接口方案变得十分简单。


一主多从概念

测量和标定系统承担了XCP主设备的角色,ECU作为XCP从设备工作。主设备和从设备的通信是通过集成在其中的XCP驱动程序来实现的。对于每个从设备都有一个ECU描述文件;这些文件规定的信息包括:(符号)变量名及其地址范围分配,数据的物理意义,使用的校验方法。XCP主设备可以从A2L描述文件里读取所需的全部信息。


XCP通信使用“命令传输对象”(CTO)和“数据传输对象” (DTO)来区分(主从通信)。XCP主设备可以在总线上向ECU通过CTO发送命令。ECU会在执行完请求的服务后以同样的途径进行应答。CTO会提供:CMD(命令), RES (响应), ERR (错误), EV (事件) 和 SERV (服务请求处理机)。数据传输对象DAQ(数据采集)和STIM(激励)用于以事件驱动方式从内存中读取测量变量或者向XCP从设备的内存中写入变量值。

图4:XCP主设备和XCP从设备之间的通信

从汽车总线到标准PC接口

PC平台几乎只用作测量和标定的主设备。为了直接连接到汽车总线系统,比如CAN、LIN、 FlexRay、MOST 或 K-Line等,通常会为PC机安装一个或多个硬件接口。此外,XCP主设备也可以利用标准PC接口,例如以太网、USB和RS232等。当然,在这些解决方案中不会增加额外的硬件接口成本。带调试接口(JTAG,TRACE等)的测量和标定系统以及内存仿真器都可以通过这种方式实现。原则上,标准PC接口非常适合于连接存在于不同总线系统间的网关,比如FlexRay-on-Ethernet就可以很好地实现此功能。最后,在很多开发和测试计划中会使用到传统模拟和数字I/O通道,这些通道尤其会涉及时间-关键测量。


使用XCP的一个显著优势就在于这样一个单一标准协议满足了所有这些应用需求。如果没有XCP,就需要为每个通信通道定义一个专用的驱动,然而在同时使用多种驱动时需要考虑性能损失,此外还会增加出现不受欢迎的相互影响的风险和不稳定性。


通用、可扩展并节约资源

一个,并且是同一个XCP驱动代码可以应用于所有的通信过程。它可以用于从低端控制器和接口发送仅仅几个字节的数据,比如集成了串行接口的8位处理器。同样的代码也可用于通过高速的网络(比如以太网)使用32位处理器发送兆字节量级的数据。XCP驱动是由强制功能和可选功能组成的,驱动的大小可以根据可用的ROM/Flash的大小进行调整。在ECU中,通过是否具有高数据吞吐量或低处理器负载和RAM尺寸来表征资源用量。


对于总线负载,主要考虑传输信号的数目相比总线带宽。总之,XCP驱动容易实现,而且仅需要很少的几个变量。


事件驱动的周期性数据采集

ECU在离散的时间间隔上运行。可以将这样的一个时间间隔长度固定(比如10ms),或者定义其依赖于某种事件(比如发动机转一圈)。在固定时间间隔的情况下,时间片的结束是以定时器的溢出来标记的。从广义上讲,这种定时器溢出也是一个事件。ECU的任务是在一个特定的时间片内完成所有的计算和控制任务。为了从XCP从设备中获取相关的数据信息,使用了XCP协议中的DAQ机制。在该机制中,在测量开始前XCP主设备会先通知XCP从设备:特定的事件发生时需要测量哪些信号。如果现在事件发生了(如10ms定时器溢出),XCP从设备就从内存中读取这些先前定义的数据,并且将他们拷贝到受保护的RAM区,然后过消息的方式发送给XCP主设备。这保证了数据值来自同一事件循环并且是相关的。


XCP主设备接收带有时戳的数据并且将其保存在相应的测量文件中。时戳要么通过XCP从设备作为数据发送,要么分配到消息中通过硬件接口(比如CANcardXL)发送。在测量文件中,所有数据参考XCP主设备的时间基准进行同步,然后被进一步处理,例如在一个统一的时间轴上对测量数据进行可视化显示(图5)。这就允许在一张图中一致地显示不同XCP从设备的多个数据通道。

图5 在同一个时间轴上显示不同信号源的各种信号

除了前面已经提到的XCP相对于CCP的优点,XCP还支持所谓的冷启动测量和用于循环数据采集的任务的内部ECU时戳。在冷启动测量中,可以配置ECU让它在被激活后就立即周期性地发送数据,而XCP主设备不需要明确地初始化该功能。如果使用了内部ECU时戳,该时戳就不是在测量和标定系统中与后期评估相关的数据接收时间了,而是在XCP从设备中数据被创建的时刻。这样就消除了由于传输延迟而引起的不确定性(比如在总线带宽不足或者高负载情况下都会产生)。


优化特性曲线和特性图

除了基于数学模型的控制算法,ECU还要使用由离散插值点组成的特性曲线和特性图。为了达到预期的系统行为,通常通过试验方法(比如台架试验)建立和优化这些特性值表。A2L文件是用来描述测量变量和标定参数的。描述的选项覆盖了从简单标量参数到复杂数值表的范围。其中,描述内容包含了数据类型、原始值和物理值间的转换规则、特性map图的存储方案以及更多的功能。Vector Informatik公司提供的CANape及类似的高性能标定工具可以在屏幕上通过图形图表或数值表格的方式清晰地显示特性曲线和map图。


使用CANape和XCP进行快速原型

在ECU开发过程中,经常会频繁地将重要功能导出到外部仿真系统,这样可以花最小的代价来计算这些功能。直到仿真模型中的算法达到一定的成熟度,开发者才会从这些算法生成代码,这些代码可与其它ECU代码一起编译并烧写到ECU中。然而,在此之前,可以使用一种被称作“旁通”的技术(该技术耦合了真实ECU及其模型),通过旁通可以在开发初期不依赖硬件进行测试和优化工作。


在使用XCP的旁通技术中,XCP主设备使用DAQ从ECU中读取数据,将这些数据作为输入值发给模型并且使用STIM将模型返回的结果发送回ECU。值得注意的是,使用运行MCD工具CANape的普通PC机平台就足以满足旁通和建模的要求。这是个好消息,因为基于特殊实时硬件的解决方案可能会贵好多倍,而且在开发部门中这类设备也可能为数不多。CANape作为一个高度优化的XCP主设备,可以同时处理与真实ECU的通信和与在PC上运行的模型之间的通信(图6)。ECU参数和模型参数都可通过CANape和XCP进行标定。


通过XCP进行flash编程

XCP同样为进行ECU编程的用户提供了便利。ECU flash内存中的数据只能使用特殊的预定的flash程序进行改写,这些预定的程序也必须驻留在ECU中。原则上,可使用两种方法:第一种方案,flash程序被永久存储在flash中;首先,这样会浪费内存,其次会遇到交付车辆的安全问题。第二种方案,在需要重新编程的时候,仅使用PC工具通过XCP将flash内核下载到微控制器的RAM中。除了包含用于擦除flash内存和重写数据的flash程序外,flash内核也包含自己的总线和SCP驱动,它们用于通过总线接口与PC工具进行通信。


总结

XCP是一种标准而通用的有很多合理化潜力的应用协议。它不仅用于ECU开发、标定和编程;也用于在原型开发中集成需要的测量设备、功能开发中的旁通以及在测试台上进行的SIL和HIL过程。对于通过微控制器调试接口(例如NEXUS等)快速访问内部数据,通信是在专用硬件上进行的,不会出现故障。该硬件完成NEXUS到XCP-on-Ethernet的通信转换。这样带给用户的好处是不依赖于专用解决方案的工具生产商,并且可以重用组件。


Vector Informatik公司为用户提供了免费的驱动用于建立XCP从设备,该驱动可以从其公司的网页上下载。从1996年就作为ECU标定工具出现的MCD工具CANape,一直以来都作为XCP主设备并按照最新的XCP标准进行不断地升级,这也得益于Vector积极参与ASAM工作委员会。CANape是市场上第一个具有XCP-on-FlexRay接口的工具。在第一辆FlexRay量产车BMW X5的开发过程中,这成为让BMW工程师决定在标定减震器控制系统时放心使用Vector的XCP协议栈和CANape的一个重要因素。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    与所用仪表的量程之比,也以百分数表示,即:引用误差=测量的绝对误差÷(测量仪表的上限值-测量仪表的下限值)×100% 仪表误差的分类测量误差的性质和特点,通常把测量误差分为系统误差、随机误差、粗大误差......
    还将说明,对于磁性编码器,单靠分辨率是不足以充分比较产品的;很多磁性位置数据手册中缺失的带宽,也是比较磁性角度必要的参数。 测量误差定义分辨率之前,首先需要澄清有关测量误差的一些要点。测量误差被定义为一个参数的测量......
    应选择谐波消除(ASHE)算法输出和正弦信号乘以自适应权重。在里面为了解决当前测量误差(CME)问题文章采用了ASHE算法。根据确定性表面安装永磁体的功能关系同步电机(SPMSM),所采用的算法提取稳态速度误差的......
    磁性编码器,单靠分辨率是不足以充分比较产品的;很多磁性位置传感器数据手册中缺失的传感器带宽,也是比较磁性角度传感器必要的参数。 测量误差定义分辨率之前,首先需要澄清有关测量误差的一些要点。测量误差被定义为一个参数的测量......
    ^9^)秒,约为25ps。那么,我们可以测量出两个电长度相差为300×0.3=90mm或25×0.3=7.5mm的器件。 而测量误差不止与频率域测量的幅度和相位误差相关,并且与各频率点的频率域测量的幅度和相位误差的......
    。 有限方向性引起的功率测量误差的计算 现在我们需要开始考虑耦合器中的误差来源。由于耦合器具有有限的指向性,因此Pi的一小部分也会泄漏到端口3。我们将这种泄漏称为Pc2。 对于入射到端口2的波......
    了传统的分段线性化处理,取得了非常理想的效果。 3、 轴载质量测定仪的软件设计 由于系统的程序量比较大,这里仅给出上、下位机的主程序框图,分别如图3和图4所示。 4、车辆行驶速度对测量轴载质量误差影响的试验及分......
    电阻的方法,以达到减小测量误差的目的,通常将电阻按阻值的大小分为三类: 1Ω以下为小电阻;1Ω~100kΩ为中电阻;100kΩ以上为大电阻。 二、常用电阻测量方法 1)直接法:采用直读式仪表如万用表的欧姆档测量......
    为什么说VNA的校准很重要?;即使再好的测试设备也会存在瑕疵,从而导致测量结果不太理想。这些导致测量误差的缺陷中,有一些是随着时间和温度的变化而可重复和可预测的,并且可以消除,而另......
    热电动势对标准电阻器电阻数值测量误差的影响;电位差计法 图中,未知电阻Rx和电阻标准Rstd相串联,由电压源V给出电流I。 图电位差计法 用一个不会吸收很大电流的电位差计或者其它恰当的仪器,如数......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>