XCP协议

xcp标定协议与接口 目录一、XCP协议概述1、XCP概念二、xcp参数测量三、XCP参数标定四、激励与旁路五、XCP接口 一、XCP协议概述 1、XCP概念 XCP表示"Universal Measurement and Calibration Protocol",X表示支持多用传输协议。 XCP支持CAN Eth FlexRay Sxl USB等多种协议 二、xcp参数测量 三、XCP参数标定 四、激励与旁路 五、XCP接口 ... 阅读详情

这两周在验证移植到ECU的XCP模块是否正常运转,所以干脆开个专题,说说这个汽车业内常用的标定协议。

 

背景概述

众所周知,一辆汽车内部会有许许多多的ECU(Electronic Control Unit),通过CAN, LIN, Gateway 等互相连接通讯,分别或者一起协作控制不同的部件。因而标定工程师需要对不同ECU的参数进行测量获取和标定。尤其是在当下,汽车功能日益复杂,已经很少OEM选择完全独立完成车内的所有ECU软件设计开发,而是选择与多个Tier1进行协同开发。所以统一的量测和标定协议显得尤为重要。

上世纪九十年代,由Audi、BMW、Mercedes-Benz、Volkswagen等欧洲汽车企业成立了一个协会-ASAM(Association for Standardisation of Automation and Measuring Systems, 自动化及测量系统标准协会), 它是汽车工业中的标准协会,致力于数据模型,接口及语言规范等领域。最初,该协会发布的是CCP(CAN Calibration Protocol)协议,它是一种基于CAN总线的ECU标定协议,采用CCP协议可以快速而有效地实现对汽车电控单元的标定。即便是现在也仍然有许多欧美汽车厂商还在使用。

 

XCP协议

CCP协议限定了它的使用范围为CAN总线,然而汽车内部除了CAN通讯以外,还有LIN,USB,FlexRay等,所以后来ASAM组织又发布了XCP(Universal Measurement and Calibration Protocol)协议,用X打头表示该协议可以应用于不同的输出层:

需要注意的是,XCP虽然名为CCP协议的升级版本,然而XCP协议并不向下兼容CCP协议,有兴趣的可以详细去看看它们的命令码,用的区域已经完全不相干。

相比CCP, XCP还有以下几个不同之处:

 

原理解析

无论是CCP还是XCP,它们的量测,标定的原理都是类似的。

1. 采用一主多从的模式,单个主机可以同时与多个从机通讯;

2. 主机通过下发命令与从机建立连接,解锁,读取数据,修改参数等操作。

那么主机是怎么读取或者修改从机的数据的?我们知道,ECU程序使用的参数或者数据,要么在RAM中,要么在Flash中,要么在EEPROM中会有特定的地址,那我们可以通过一个文件(A2L格式文件),描述出某个参数的属性:包括参数显示名,长度,物理单位,转换关系以及映射到ECU的地址。那么主机通过该文件,就可以获取所有上述信息。以读取为例,例如想要读取起始地址A,长度为2byte的数据,那么主机通过设定MTA(Memory Transfer Address)为A,并指定长度为2,然后将命令下发给从机,从机收到命令后,从指定的MTA中读取2byte数据,然后回传给主机。同样的,主机改数据也是类似的。

以上的交互方式是CCP/XCP最基本的通讯方式,采用的是一问一答。为了提高通讯的效率和数据吞吐量,CCP/XCP还支持DAQ(Data AcQuisition)模式。基本原理为:主机一次性配置好所有要读取的变量,并关联ECU端的不同事件channel,一旦ECU对应的事件发生(例如每隔100ms),主动上传数据给主机。

 

如何快速将CCP/XCP协议移植到自己的ECU

CCP/XCP协议原理总体来说简单易懂,但是真正按照协议开发软件模组是相当庞大的工作。我采用的方法是直接前往Vector官网下载Vector提供的XCP Basic软件包,免费开源的。相比完整的协议,Vector提供的basic包在功能上有所阉割,不过即便对于主机厂也够用了。如果想要实现全部功能,可以购买Vector的professional包(我是不是该向Vector收广告费呐),或者基于basice包二次开发。

下载后解压的文件目录是这样的。里面有原版的CCP/XCP协议pdf,basic包源码和使用手册,应用实例。你要做的就是结合使用手册和实例,对照着移植到你的ECU。PS:移植过程需要格外注意DAQ模式相关的配置部分代码和发送Callback 函数,小编被其中的两个坑耗费了不少debug精力。有实际移植该软件包的童鞋,如果遇到问题可以留言交流。

另外建议购买Vector或者Vehicle SPY的相关软件和设备,进行A2L文件的编辑生成和实际测试使用。

转载是一种动力 分享是一种美德,欢迎关注本公众号,可以扫码或者微信搜索公众号:芯连心嵌入式设计交流 。

 

XCP协议测量详解 XCP协议 1 前言 XCP(Universal Calibration Protocol)是通用测量和校准协议的缩写, “X”代表任意的传输层(如CAN、CAN FD、FlexRay、Ethernet…)。主要目的是来自电子控制单元的数据采集和校准访问。因此定义了通用协议层。作为传输介质的不同物理总线和可以使用网络。对于每个授权传输介质,需要一个单独的传输层定义。 XCP术语集合: ODT : objiect description table ODT_Entry: ODT条目元素 ... 阅读详情

相关推荐

XCP协议详解

是一种标准化通信协议,主要用于汽车电子控制单元(ECU)的测量、标定和诊断。它由 ASAM(Association for Standardization of Automation and Measuring Systems,自动化与测量系统标准化协会)制定,支持多种传输层(如 CAN、CAN FD、Ethernet、FlexRay 等),是汽车软件开发中不可或缺的工具。XCP 的版本演进包括 V1.0(基础版)和 V1.1(增强版),后续更新与 ASAM 标准同步,适应自动驾驶和电动汽车等新兴需求。

likuoelie的博客 1802

一文搞懂汽车标定协议之CCP

一文读懂标定协议值CCP

changxin202022的博客 1万+

【车载以太网】【XCP】通信系列目录

前言:计划内容 一、ISO/IEEE等关于XCP协议详述 二、AUTOSAR关于XCP规范详述 2.1 概述介绍 2.2功能介绍 2.3API接口详述 2.4调用关系、数据流程表,层次结构 2.5配置项介绍,结合配置工具介绍; 三、详细设计介绍 3.1模块功能定义 3.2数据类型定义 3.3软件功能实现 3.4配置相关项 四、源码分析 ...

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 916

CCP/XCP标定协议解析

这两周在验证移植到ECU的XCP模块是否正常运转,所以干脆开个专题,说说这个汽车业内常用的标定协议。   背景概述 众所周知,一辆汽车内部会有许许多多的ECU(Electronic Control Unit),通过CAN, LIN, Gateway 等互相连接通讯,分别或者一起协作控制不同的部件。因而标定工程师需要对不同ECU的参数进行测量获取和标定。尤其是在当下,汽车功能日益复杂,已经很少...

wanff1204的博客 2万+

【XCP学习笔记】1 XCP协议初步

0 前言 1 XCP协议概述 1.1 XCP协议层概述 我们本篇所讲的XCP协议的物理层和链路层是基于CAN通讯的,回顾CAN通讯基础的内容,我们再次强调一个概念通讯是分层的。XCP协议同样也是分层的,这一章节介绍协议层的内容。 XCP协议规定,主从节点间的报文格式由报头、数据包和报尾组成,如下图所示。其中,报头和报尾属于传输层的定义和处理,协议层只关心下图中红色的部分。 数据包由ID域...

汽车电子软件领域知识分享 7182

Vector-XCP 源代码

XCP代码以及相关文档 The Standard Protocol for ECU Development

XCP协议系列介绍01-看了就会的XCP协议

系统介绍XCP概念、功能、常用指令及日常使用,着重对XCP测量及标定功能进行介绍,有利于相关开发人员迅速掌握及应用XCP协议。

initiallizer的博客 4万+

XCP协议的规范文档

XCP协议的原规范文档,主要包含了Part1-5共5个部分,其中第三部分又分为CAN、以太网和Sxl等。对于XCP协议的开发者和学习者有借鉴意义

XCP协议学习笔记

1.XCP用来做什么? 在汽车电子软件开发中,经常会遇到需要在整车调试或者台架调试时才能确定的一些变量,这个时候就会用到XCP,例如电机控制器的PID参数,可能根据汽车的负载不一样需要调整,这个时候就可通过XCP来标定。 那么XCP主要的用处以下总结为四点: a.标定 b.测量(反馈一些变量的值供上位机或测试系统查看,如转速等) c.编程和刷新(例如更新一部分地址的数据值,甚至重编程等,这部分用的较少一般用UDS) d.对ECU功能进行旁路,简单来说就是模拟ECU的数据 其中主要用a,b两点,

$好记性还是要多记录$ 6993

Vector_XCP_Basic

vector公开的XCP的Basic部分,Vector官网上可以直接找到,因为最近在学习XCP,分享一下。程序部分只有Basic部分,主要参考下doc里面的文档

XCP移植到TC277.rar

xcp移植到tc277,根据vector官方提供的源码移植到can上,自己用的时候将can收发部分改一下就好

matlab里的xcp报文,xcp协议报文解析

AAddddiittiioonnaall ssooffttwwaarree XCP ((sseerrvviicceess)) ttoo bbee iinntteeggrraatteedd iinn tthhee EECCUU ccooddee 协议综述 KWP2000 ?? DDeev......论述了HighBDP网络环境中目前存在的两种解决拥塞控制 的方法,一种是只修改端节点拥塞控制协议如Hi...

weixin_31837543的博客 1769

XCP协议全.zip

本压缩包中包含了version 1.1和1.0协议的全部部分,其中传输层协议包括can,ethernet,flexray等等,供汽车电子行业人员参考

XCP协议简介

XCP协议简介 文章目录XCP协议简介一、概要分类:优点:功能:通信方式:二、主从模式三、网络和传输模式四、CTO & DTO五、报文格式和PID六、访问测量/校准对象七、测量1、异步测量1、SHORT_UPLOAD命令:2、SHORT_UPLOAD应答:2、同步测量1、ECU的控制应用程序:2、主结点:3、从结点:3、XCP与同步测量相关的术语和概念1、元素(Element):2、对象描述表(ODT):3、ODT条目(Entry):4、DAQ列表(List):5、事件通道(Event Channe

weixin_47694244的博客 7499

XCP协议及文档及A2L文件

XCP协议及文档及A2L文件

XCP协议下载ASAM版V1.1全.rar

XCP协议,ASAM版的XCP协议,主要分为5部分,其中part3分为5分文档,分别基于CAN,以太网,FlexRay,Sxi,USB;还有一份Seed&Key的使用文档。共计十份资源,是ASAM的全版资源。

【XCP学习】基于XCP协议分析和理解

<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-1a85854398.css"> <div id="content_views" class="htmledit_views"> <p>本篇文章主要从以下几个方面进行对XCP模块的讲解<...

星Yeah 的博客 4829

当windows安装git时出现以下错误提示

Windows安装Git时出现多个系统配置设置失败错误(exit code 4294967295),提示包括无法设置textconv、LFS过滤器和SSL等配置项。关键问题在于scalar.exe版本不兼容,系统提示"该版本的scalar.exe与你运行的Windows版本不兼容"。解决方案是检查程序版本是否正确,下载与Windows系统兼容的正确版本重新安装即可。

沧澜的博客 1875
上一篇: PID控制原理
下一篇: 卷积的理解
cppstdy
博客等级 码龄15年 89粉丝 0原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值