针对多种传输层和应用的协议
现代汽车系统中加入了越来越多的安全舒适性电控功能。虽然ECU的数量得到了控制CONTROL ENGINEERING China版权所有,但是这就意味着要增加单个设备的复杂度来补偿功能的增长。XCP通信协议为这些分布式系统开发过程的合理化做出了重要的贡献,其主要任务包括实时地测量和标定ECU内部变量。该协议继承了CCP,它的一个巨大优势就是与物理传输层无关。
在当前,汽车控制模块中的变量数目超过1万的情况已经不足为奇了!在车辆的控制中有众多的动态过程需要控制,而ECU标定的主要任务就是优化这些控制算法。例如针对PID控制器,标定其比例、积分和微分环节时可能产生不计其数的变化版本(图1)。因此,就需要寻找到一个在稳定性、速度和动态特性方面足够好的结合点。这些可以通过实时读取和更改变量来实现(图2)。
PID控制算法优化
图1 PID控制算法优化
使用图形化标定和诊断工具CANape优化PID控制器
图2 使用图形化标定和诊断工具CANape优化PID控制器
为了控制ECU标定的时间和成本,工程师和技术员通常会依赖可以灵活读写变量和内存的强大的工具和标准。为此,在90年代出现
被指定为一种交叉OEM标准。然而,随着汽车电子的持续发展,其它总线系统诸如FlexRay、LIN、MOST等也开始成为主流。但是,CCP仅限于CAN网络应用,所以在其它潜在领域的应用局限日益增加。这样就导致了其后继协议XCP的出现。
通用的标准协议
与CCP一样,“通用测量与标定协议”(XCP)也是源于自动化和测量系统标准化协会(ASAM)[1],它在2003年被定为标准。其中的 “X”代表可变的和可互换的传输层。XCP通过双层协议将协议和传输层完全独立开,它采用的是单主/多从结构。根据正在讨论的不同的传输层,XCP协议可能指的是XCP-on-Can、XCP-on-Ethernet、XCP-on-UART/SPI 或XCP-on-LIN,如图3所示。
传输层和协议层的隔离使得XCP可以利用大量的硬件接口
图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)是协议家族中的最新成员www.cechina.cn,它早在 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描述文件;这些文件规定的信息包括:(符号)变量名及其地址范围分配控制工程网版权所有,数据的物理意义CONTROL ENGINEERING China版权所有,使用的校验方法。XCP主设备可以从 A2L描述文件里读取所需的全部信息。
XCP通信使用“命令传输对象”(CTO)和“数据传输对象” (DTO)来区分(主从通信)。XCP主设备可以在总线上向ECU通过CTO发送命令。ECU会在执行完请求的服务后以同样的途径进行应答。CTO会提供:CMD(命令)