Vector E-Learning_XCP(通用测量和标定协议)

一、XCP简介

XCP旨在为电子控制单元的开发流程提供支持。使用XCP协议可以访问ECU的内存,可以读出数据,以进行测量信号等操作,也可以写回数据,以进行标定参数等操作。这样的测量和标定的工作原理是什么?我们在电脑上使用测量和标定工具,例如CANape,这时我们可以在任何带有XCP接口的ECU上进行测量和标定。ECU和CANape之间的连接是通过Vector硬件接口卡建立的。我们可以把XCP驱动程序想象成告密者,它可以泄露内部信息,也可以根据请求更改内部变量的值。XCP协议遵从主从模式进行通信。CANape等测量和标定工具充当Master,XCP驱动程序则充当Slave。XCP驱动程序与ECU的CAN驱动程序通信,所以是通过CAN控制器连接到CAN总线。另一方面,XCP Master也通过硬件接口卡连接到CAN总线。Master可以通过CAN报文向Slave发送请求。例如Master要从ECU读取温度信息,则XCP读取请求将通过CAN总线以CAN报文的形式发送到Slave,然后XCP slave对CAN报文中包含的读取请求进行解析。接着它访问RAM并读出温度变量的值,并将值打包在新的CAN报文中,通过CAN总线再次发送回Master.Master收到报文后将立即对其处理,例如显示在CANape的Graphic窗口。

现在,我们详细介绍CAN报文中的XCP指令结构。Master始终使用某个指定的CAN-ID来发送指令(例如ID 0x200),slave也始终使用某个指定的CAN-ID进行应答(例如ID 0x201).每对Master-Slave连接都使用其自身的一对指定ID组。XCP指令本身位于CAN报文的数据场(Data Field)。CAN总线的数据场最大是8个字节。XCP指令的每一个字节包含一个称为PID的包标识符,Slave通过查看该PID即可确定执行哪条指令。举个例子,PID 0xF4表示SHORT_UPLOAD指令,也就是之前介绍的读取指令。剩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值