热门标签 | 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;


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了优化算法改进的侏儒猫鼬优化算法(IDMO)及其Matlab源码分享。文章首先介绍了获取代码的两种方式,包括付费下载和付费订阅付费专栏。然后详细解释了侏儒猫鼬优化算法的原理和特点,以及其在集体觅食、侦察和保姆交换等方面的应用。最后提供了CSDN资源下载链接,供读者下载相关代码。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文介绍了数模国赛的报名参加方法,包括学校报名和自己报名的途径。同时给出了建模竞赛的建议,重在历练的同时掌握方法以及弥补自己的短板。此外,还分享了论文的结构和模型求解部分的注意事项,包括数学命题的表述规范和计算方法的原理等。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
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社区 版权所有