热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

[4.1]AutoSAR零基础学习XCP测量/校准<<1>>

目录1.XCP是什么?2.XCP用来做什么?3.XCP工作过程3.1主从模式3.2网络传输方式3.3测量标定流程(IMU陀螺仪

目录

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;


推荐阅读
  • 5G时代的广域网革新:企业迈向万物智联的新起点
    随着2020年初“新基建”概念的提出,以5G、AI、IoT等为核心的新型基础设施建设正逐步改变企业的运营模式。本文探讨了在这一背景下,企业广域网(WAN)如何通过5G与SD-WAN技术的融合实现转型升级,成为推动企业智能化、数字化发展的关键力量。 ... [详细]
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 2023年PHP处理请求超时的全面指南
    本文详细介绍了在PHP中处理请求超时的各种方法,包括设置脚本执行时间、处理file_get_contents函数超时以及优化AJAX请求等,适合开发者参考学习。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • 本文详细解析了手机如何利用内置传感器精确计算用户的步数,并探讨了不同应用程序如微信运动、QQ运动及支付宝的计步机制。 ... [详细]
  • WordPress FileManager 插件远程代码执行漏洞通告
    FileManager 是一款流行的 WordPress 文件管理插件。最近的安全更新揭示了该插件在6.9版本之前存在严重的远程代码执行漏洞。本文将详细介绍此漏洞的影响、原因及解决措施。 ... [详细]
  • 本项目旨在开发一款能够高效转换MODBUS协议至MQTT协议的设备,以适应现代物联网环境下的数据传输需求。通过此装置,可以有效解决不同品牌传感器协议不兼容的问题,简化云端接入流程,提高数据处理效率。 ... [详细]
  • Qt应用开发:创建基本窗口
    本文介绍如何使用Qt框架创建基础窗口的两种方法。第一种方法直接在main函数中创建并显示窗口;第二种方法通过定义一个继承自QWidget的类来实现更复杂的功能。 ... [详细]
  • 专注于模式识别与机器学习的研究生,对于该领域内的就业方向及具体职位要求有着浓厚的兴趣。本文将探讨智能图像/视频处理工程师的岗位要求,并为相关专业的学生提供学习建议。 ... [详细]
  • 解决Xcode PBXcp 错误:找不到文件或目录
    当在Xcode中遇到PBXcp错误提示'No such file or directory'时,通常是由于文件引用问题导致的。本文将介绍两种有效的方法来解决这一常见问题。 ... [详细]
  • 本文探讨了Lua中元表和元方法的使用,通过具体的代码示例展示了如何利用这些特性来实现类似C语言中的运算符重载功能。 ... [详细]
  • Java数组面试常见问题及解析
    在Java编程面试中,数组作为基础且重要的知识点,经常成为考察的重点。本文将探讨数组的基础知识和相关面试题,帮助考生更好地准备面试。 ... [详细]
  • 本文介绍了一个基础算法题目,旨在通过求解特定范围内所有数字的阶乘之和来提升编程技能。重点在于理解和实现双重循环结构。 ... [详细]
author-avatar
文人博客
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有