作者:文人博客 | 来源:互联网 | 2023-07-06 14:57
目录
1. XCP是什么?
2. XCP用来做什么?
3. XCP工作过程
3.1 主从模式
3.2 网络传输方式
3.3测量/标定流程(IMU 陀螺仪校准)
3.3.1环境
3.3.2 测量/标定流程(详细再第五节进行讲解)
前言
什么是ECU测量和校准?
发现很多小伙伴对ECU的测量和校准不是很清楚,接下来对这两个概念,以及车载相关的方面进行梳理!
近些年车机相关的很多控制动作都被数字化,比如刹车,油门,都可以用一个具体的数值来体现控制的程度。一旦涉及客观数据的量化,误差将不可避免的被引入,为了去除这些客观误差带来的影响,需要对校准前的数据进行测量,观测分析,再通过专业的控制算法,增加一些参数来对原始数据进行修改,让校准后的数据满足预期需求!
原始的校准手法基本是机械的方式,比如螺丝刀来对松紧进行校准,后来机械控制被ECU的软件控制,通过软件的方式,出现了校准协议,比如CCP就是can校准协议,基于can总线的上层协议!后来慢慢衍生出了所谓的XCP。
1. XCP是什么?
XCP表示“通用测量和校准协议”。“X”代表任意的传输层(如CAN、CANFD、FlexRay、Ethernet…)。由ASAM工作委员会(自动化和测量系统标准化协会)标准化。ASAM是汽车OEM,供应商和工具生产商的组织。
XCP是继CCP(CAN校准协议)之后的协议升级版,基于CAN的部分基本没有改变。XCP的开发旨在通过不同的传输媒介来实现此功能。
XCP +“on”+ 网络名:将运行在其上的各个网络的名字前,附加上XCP。例如,在CAN上运行的XCP是“XCP on CAN”
在产品的开发过程中,这个阶段位于“V”字形最后端校准阶段。
2. XCP用来做什么?
简单来说,xcp协议是为了优化,而改变ECU中的客观参数,或者访问ECU以确认变更后的结果是否符合预期的一种确认方法。
主要应用是ECU内部参数的测量和标定。汽车软件开发中,常遇到需要在实车或者台架测试才能抓取的信号和变量,比如IMU中的陀螺仪数据,根据安装的倾斜度不同,会有较大初始误差,这时,可通过XCP标定来减小误差。
XCP主要的用处以下总结为四点(后续详细介绍):测量、标定、刷新及对ECU进行旁路仿真。
3. XCP工作过程
这一部分,将会从协议是如何进行通信,传输方式、标定流程进行梳理。
3.1 主从模式
测试系统中,测试工具相关的称为“XCP主节点”,被测量的ECU则称为“XCP从节点“。
基本通信方向:主节点发送命令 -- > 从节点接受命令 ---> 向主节点发送应答。
连接方式:只能有一个主节点,从节点可以有很多个!通信示例如下
3.2 网络传输方式
对于网络传输的方式,只要能区分 " XCP包 主 ---> 从" / "XCP包 从 ---> 主",就可以使用XCP协议。
"XCP ON CAN" 可以通过两个CAN ID来区分。在网络中传输则使用了三种传输模式!
标准传输模式:
在标准通信模型中,对从机的每个请求都有一个响应。除了 XCP 在 CAN 上,不允许多个从机对主机的命令做出响应。因此,每条 XCP 消息总是可以追溯到一个唯一的从机。这种模式是通信中的标准情况。
块传输模式:(大块传输)
块传输模式是可选的,可以节省大量数据传输(例如上传或下载操作)的时间。尽管如此,在这种模式下,性能问题必须朝着从机的方向考虑。因此,必须保持两个命令之间的最小时间,命令总数必须限制在最大值的上限。
交错传输模式:
交错模式也是出于性能原因而提供的,在典型通讯模式中,主机在收到上一条指令的回复前不会发送下一条指令,为提高通讯的效率,交错通讯模型可以不等待回复直接再发送下一条指令。但是这种方法也是可选的,并且与块传输模式相反,它在实践中没有相关性。
3.3测量/标定流程(IMU 陀螺仪校准)
3.3.1环境
Master&#xff08;带上位机的笔记本&#xff09;<–>CAN工具(CANape/INCA等)<–>Slave&#xff08;ECU-可多个&#xff09;
3.3.2 测量/标定流程(详细再第五节进行讲解)
连接&#xff1a;主从节点通过设备对接&#xff0c;然后发命令建立连接&#xff1b;
测量&#xff1a;用上位机工具观测定义好的变量&#xff0c;本实例中陀螺仪数据等&#xff1b;
标定&#xff1a;原始校准参数为默认值&#xff0c;根据测量&#xff0c;取连续500组数据平均值来作为当前校准参数&#xff0c;擦除原始数据&#xff0c;写入平均校准参数
&#61;>总目录<&#61;