基于XCP协议的ECU测量系统设计Word文件下载.docx
- 文档编号:5821060
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:47
- 大小:408.46KB
基于XCP协议的ECU测量系统设计Word文件下载.docx
《基于XCP协议的ECU测量系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于XCP协议的ECU测量系统设计Word文件下载.docx(47页珍藏版)》请在冰点文库上搜索。
对于复杂性和性能不断提高的ECU,要求测量和标定协议必须灵活,以满足这些新网络的要求。
由于新的统一标定协议XCP独立于传输层,便于测量系统的可移植性。
所以可利用XCP协议设计开发能够针对不同类型ECU进行工况条件任意模拟、性能测量、测量数计分析的通用的综合性能标定系统。
统一标定系统功能主要包括标定和测量数据功能。
由于本文研究的是系统的中的数据测量部分,为了保持与题目的一致,所以把系统称为测量系统。
本文首先详细研究了XCP(UniversalCalibrationProtocol),ECU从设备的工作原理,TCP/IP通信协议,利用XCP标定系统资源库函数,设计传输层与协议层之间的接口函数,实现传输层和应用层软件程序的编写,整合协议层、传输层、应用层三种之间的调用关系。
在LINUX系统平台下,从设备(ECU)用ARM9开发板代替。
在从设备设计基于TCP/IP的XCP协议的ECU数据测量系统。
第一章基于XCP的ECU测量系统概述
第一节研究背景和意义
目前汽车电子已经受到国内外的广泛关注和重视,发展汽车电子等应用电子产业推进工业化合信息化的融合。
据统计,2004年开始,中国汽车电子市场进入一个稳定的高速发展的时期,销售额年均增长38.5%,2008年中国汽车电子市场产品销售额为1405.4亿,产业规模将进2000亿元。
中国汽车产业和市场已经跃升为世界第一,中国已经成为全球重要的汽车电子制造基地。
由于汽车电子技术在整车系统中的广泛应用和与其自身的发展,现在汽车已经进入了电子化时代,在“十二五”规划中,多项重点的发展的技术都包含着汽车电子技术的因素。
电子控制技术的诸多优点使得其在汽车领域中得到了普遍的应用。
电控系统的开发流程如图1.1所示。
分为3个阶段及设计开发阶段,实验开发阶段,装车应用阶段。
图1.1汽车控制器电控系统开发应用流程
由于电控单元特别是车用电控单元式一个十分复杂的过程,一是因为被控系统的工作章台的复杂性,如:
稳定性、排放性性能、燃油经济性等在测量系统中需要对多种相互影响的性能指标就行测量;
二是许多参数之间相互影响着。
对于汽车的各种参数进行测量,从而根据实际情况作出适当的调整。
所设计出一个ECU测量系统中电控系统的开发至关重要。
第二节测量系统的发展状况
在国外汽车检测系统发展大致可以分成四个发展阶段,第一阶段,50年代的单项检测设备和单项检测技术。
随着科技进步和汽车检测技术的发展新技术的应用,检测技术发展到第二阶段,出现了汽车检测诊断控制自动化,数据采集处理自动化。
检测结果直接打印等功能的汽车性能检测仪和设备。
第三个阶段是汽车检测设备智能化汽车检测线自动化智能化和网络化阶段。
随着电子计算机应用技术的发展汽车检测设备向智能化方面发展出现了一些具有智能化功能的检测设备。
第四阶段是汽车故障诊断专家系统和汽车故障诊断系统。
国内还没有成熟的基于ASAP标准的ECU标定测量系统,因此既没有掌握核心技术,使用也受使用限制:
国外的标定测量系统功能强大,但价格昂贵。
国产ECU的研发比较晚,向且尚未形成一定的规模,ECU的检测设备也相对比较落后。
目前,国内自制和生产的ECU检测设备功能比较单一,检测能力非常有限,主要用于ECU的维修和诊断,还未出现集ECU工况信号模拟,ECU输出信号采集、ECU通信交互、检测结果直接打印、产品整体分析和自动生成决策等功能为一体的ECU综合性能检测设备。
从整体上看,国内ECU检测技术的发展还处于起步阶段,开发能对ECU性能进行全面综合检测的检测平台将成为各大高校和科研院所的重点研究对象。
总之,各个研发机构开发的标定测量系统标准不统一,与主设备接口方式单一,传输速率慢,传输不稳定等缺点几乎都存在,而针对的标定测量系统就更少。
国内在这方面的研究规范性和通用性都不强,离国际规范还有较大的距离。
标定测量系统在我国的研发还不够成熟、不够完善。
目前,基于ASAP标准的测量系统发展比较迅速,ASAP的标准协议XCP是相对其他协议较成熟、完善的。
第三节测量系统的协议发展
在车辆的控制中有众多的动态过程需要控制,而ECU标定的主要任务就是优化这些控制算法。
例如针对PID控制器,标定其比例、积分和微分环节时可能产生不计其数的变化版本。
因此,就需要寻找到一个在稳定性、速度和动态特性方面足够好的结合点。
这些可以通过实时读取和更改变量来实现。
为了控制ECU标定的时间和成本,工程师和技术员通常会依赖可以灵活读写变量和内存的强大的工具和标准。
为此,在90年代出现了CAN标定协议(CCP),当时CAN总线是汽车中唯一的主流总线。
CCP后来被指定为一种交叉OEM标准。
然而,随着汽车电子的持续发展,其它总线系统诸如FlexRay、LIN、MOST等也开始成为主流。
但是,CCP仅限于CAN网络应用,所以在其它潜在领域的应用局限日益增加。
然而,复杂性和不断提高性能的ECU,要求测量和标定协议下一代的必须灵活,以满足这些新网络的要求。
这样就导致了其后继协议XCP的出现。
像TTCAN,FlexRay和新的网络中的大多数正在开发中。
与CCP一样,“通用测量与标定协议”(XCP)也是源于自动化和测量系统标准化协会(ASAM)[1],它在2003年被定为标准。
其中的“X”代表可变的和可互换的传输层。
XCP通过双层协议将协议和传输层完全独立开,它采用的是单主/多从结构。
根据正在讨论的不同的传输层,XCP协议可能指的是XCP-on-Can、XCP-on-Ethernet、XCP-on-UART/SPI或XCP-on-LIN,XCP主设备可以和不同的XCP从设备同时通信。
这些XCP从设备包括:
ECU或ECU原型,测量和标定硬件,如调试接口或内存仿真器,快速控制原型硬件,HIL/SIL系统。
图1.2XCP协议基于不同的传输层
XCP协议是一个广泛的基础协议,“XCP“是ccpv2.1改进和推广的版本,也可用于网络的XCP比CAN.的主要优点是传输层的独立性。
连同它的可扩展设计,低资源需求和高性能,适用于XCP满足所有要求是通用的测量和校准未来协议。
通过使用CCP协议获得经验,升级要求和适合测量仪器的协议需求,促使了XCP协议的发展。
该协议包括一个改进的XCP即插即用连接和自动设备识别。
因此对XCP协议的使用并不仅仅限于电子控制单元,还用于测量仪器。
XCP追求的重要目标的协议是中等的独立和最优的和效率,即通过媒介时更高的数据吞吐量。
从一个特定的媒介分裂成一个XCP协议层和一个XCP协议传输层。
这XCP协议层数定义一个通用XCP协议独立于传输层。
XCP的传输层协议的作用是描述了XCP协议层转换到一个特定的传输层。
为了满足作为针对大量不同应用的通用的通信解决方案的挑战,ASAM工作组强调了下列XCP设计准则:
最小的资源使用(包括ECU中的RAM、ROM和必需的运行时资源),高效的通信,轻松实现XCP从设备,需要较少配置工作的即插即用性能,较少的参数,以及可伸缩性。
第四节本文研究的主要内容
首先是对ASAM(AssociationforStandardisationofAutomationandMeasuringSystems规范中的XCP协议通信协议进行分析,了解XCP资源资源库提供的API功能作用,其次了解LINUX环境下的C语言编程。
实验平台为MINI2440开发板,其处理器为SamsungS3C2440为微处理器,移植LINUX2.6.32.2系统到开发板,完成网络驱动配置。
最后利用LINUX下的TCP/IP网络编程实现协议传输层TCP/IP接口,调用XCP协议的API函数,完成ECU的测量系统设计。
下载程序到开发板,完成从设备与主设备的网络互联,实现从设备的采样数据自动上传功能。
本文章节安排如下:
第一章绪论:
对本文的研究背景及意义,测量系统和测量系统协议发展现状,从而引入本文研究对象的XCP协议研究。
第二章XCP协议分析:
XCP协议的特性,实现XCP协议的通信的主设备与从设备的拓扑结构。
传输层采用ETHERNET,以及介绍基于ETHERNET的XCP消息格式。
介绍了XCP的三种通信模式,详细介绍了标准通信模式,后面章节的测量系统设计做准备。
第三章测量系统设计:
总体上介绍了基于XCP协议的从设备的工作状态,以及在从设备的整个实现流程,以及传输层、协议层、应用层三者的关系,从整体上认识从设备系统。
第四章XCP协议软件的详细设计:
本设计主要要实现的接口函数是ApplXcpSend。
还必须对上位机发来的报文进行解析的函数,然后借给XcpCommand处理。
但是要实现这些函数的前提必须在传输层先建立TCP/IP连接。
第五章系统测试:
对本系统进行想关的功能测试,验证可行性,对测试结果进行分析。
第二章XCP协议分析
第一节ASAM接口标准
ASAM(AssociationforStandardisationofAutomationandMeasuringSystems,自动化及测量系统标准协会)是汽车工业中的标准协会,致力于数据模型,接口及语言规范等领域。
该协会创建于1991年,是德国汽车工业中的领军人。
如今,ASAM已经成为一个拥有100多个成员公司的世界性协会。
它主要的重点放在硬件模块和软件模块,提供数据交换格式和促进软件工作之间的竞争。
目标是削减取代专有的硬件和软件解决方案。
图2.1ASAM测量标定测量模型
第二节XCP协议特性
1、XCP基地的功能:
1)自动选择ASAM-MC2数据库
2)自动检测的设备参数(即插即用)
3)读/写访问设备内存
4)校验计算
5)访问保护(Seed&
Key)
6)仿真存储区的页面转换
7)同步,时间触发和事件触发测量采集数据
8)FLASH和EEPROM编程
2、XCP高级特征,适用于XCP功能已经扩展到包括以下特点:
1)同步数据的刺激和旁通功能
2)块传输模式,交错传输模式
3)带时间戳的测量数据同步传输
4)Flash编程
5)动态DAQList
6)恢复模式(RESUME)
第三节XCP资源需求和性能方面的考虑
在CAN总线实现,XCP资源的要求仅有轻微的高出ccp。
XCP驱动代码的大小是在2、3Kbytes之间。
具体大小根据函数的多少和大小而定。
RAM内存取决于测量的数据量,需求是至少100个字节,。
最小数据包大小为传输介质需要的是8个字节(CAN)。
不同的传输介质,不同的传输速度。
如下表2.1所示。
表2.1XCP基于不同传输层速率
传输介质
上传下载FLASH数据传输的速度
CAN1M/s
50Kbyte/s
ETHERNET10M/s
800Kbyte/s
USB1.X
1Mbytes/s
本设计传输层的传输介质选用ETHERNET。
第四节XCP协议拓扑
XCP协议一般是以一个主设备和一个从设备的通信。
如图2.2主设备是一个测量或者监控的诊断设备,从设备是一个车载上的控制器(ECU)。
任何的通信一般是是开始于主设备,这从设备不得不对主设备的每个请求命令进行相应的回答以及做出相应的工作,这就是一个主从会话。
XCP协议定义了一些主设备到从设备命令,以及从设备到主设备的命令和数据。
一旦主设备与从设备建立通信通道,这从设备被允许自动的上传数据(事件消息,服务回答,数据获得消息)。
这主设备一般发送刺激信息从设备,不期望直接得到从设备的回答。
图2.2XCP协议拓扑结构
当主设备与从设备建立一个连续的、合法、清楚的、点对点的通信通道时,不允许从设备处理多连接。
XCP协议不允许一主设备多从设备的拓扑,主设备在同一时间不允许对多个从设备广播XCP信息,除了can总线上的GET_SLAVE_ID外。
XCP协议允许多主设备,单从设备的拓扑结构。
多主设备一个从设备的通信通道可以在同一网络同一时间建立。
传输层的身份传输参数必须明确区分不同的通信通道。
XCP协议允许网关是加入这个拓扑,主设备直接连接上的的网络称为主网络,主设备通过网关路由连接的网络称为远程网络。
第五节XCP消息
一、消息分类
XCP协议有有两个基本传输对象类型:
●控制命令传输对象:
CTO(CommandTransferObject)
●同步数据传输对象:
DTO(DataTransferObject)
CTO一般用来传输协议控制命令及相关参数,如RES、ERR、EV、SERV包;
DTO一般用来传输同步数据采集(DAQ)和同步刺激数据(STIM)。
如图2.3所示:
图2.3从设备和主设备通信消息传输
二、基于ETHERNET的消息
每个消息对象(CTO/DTO)在ETHERNET下的传输下传输,在主从设备间被收发,消息格式如图2.4:
图2.4基于ETHERNET的消息格式
LEN和CTR都是WORD类型,LEN是原始的XCP长度,CTR测量传送的包有没有丢失。
当主设备发送一个CMD或STIM时必须产生一个CTR,且当每发个新的报文给从设备时,CTR值必须增加1.当从设备发送一个报文给主设备是,必须产生另一个CTR,且没发个新的报文给主设备是CTR值必须加1。
原始XCP消息格式如图2.5:
图2.5原始XCP消息格式
身份识别区(Identificationfield):
主设备和从设备通过身份识别区的PID知道传输数据的类型及数据区的数据内容,CTO报文的PID是区别协议命令(CMD)、命令回答(RES)、事件报文(EV)、服务请求报文(SERV)。
而且CTO报文的身份识别区只含有PID。
DTO报文的身份识别区必须要能够区别是同步数据采集还是同步刺激数据,而且还要清楚数据区的DAQlist和在这个DAQlist中的ODT。
所以在DTO报文中的PID一种是含有个绝对的ODT号(FIRST_PID(DAQlistj)+relate_ODT_number(ODTi)),另一种是PID含有这相对的ODT号,DAQ位含有这绝对的DAQlist号。
时间戳(TimestampFild):
GET_DAQ_PROCESSOR_INFO命令查看TIMESTAMP_SUPPORTED标志,指出从设备是否支持时间戳模式。
用GET_DAQ_RESOLUTION_INFO命令得到TIMESTAMP_MODE里面TIMESTAMP_FIXEDFLAG下指出从设备将在时间戳模式下发送DTO报文,而主设备不能用SET_DAQ_LIST_MODE关掉时间戳模式。
时间戳模式既可以用在DAQ下也可用在STIM下,当用在DAQ下时,从设备在他的第一个DAQ周期时,传输第一个ODT的DTO报文,含有当前从设备的时间值。
如图2.6,时间戳戳只在DAQlist采样的第一个ODT中传输,在此DAQlist中的其他DTO不含时间戳。
图2.6TS仅在第一个采样DTO消息里
在时间戳区的TS含有当前当前同步数据传输的时钟,这个时钟在从设备是自由运行的,不能被重置和修改,TS的类型可以是BYTE、WORD、DWORD。
当主设备发送STIM时,主设备和从设备使用同样的时间戳模式。
数据(DataField):
CTO报文的DATA含有的是命令参数,DTO报文的含有采样数据或者是刺激数据。
三、命令传输对象
命令传输对象(CommandTransportObject,CTO)用于发送命令和相关参数,如图2.7所示,CTO的第一个字节代表命令代码,相应的参数放在DATA数据区。
PID如下:
●主设备到从设备:
CMD={0xC0……0xFF}
●从设备到主设备:
RES=OxFFERR=0XFEEV=0XFDSERV=0XFC
图2.7CTO消息格式
四、数据传输对象
数据传输对象(DataTransportObject,DTO)当作为数据采集(DAQ)消息,PID指示相关对象的描述表(ObjectDescriptorTable,ODT),对象描述表描述数据采集元素。
采集的数据元素放在DATA区。
忽略时间戳模式,简单的DTO如图2.8。
●主设备到从设备绝对或相对的ODT号:
0x00……0xBF
●从设备到主设备绝对或相对的ODT号:
0x00……0xFB
图2.8DTO消息格式
第六节XCP的工作模式
一、标准通信模式
1、查询模式
主设备与从设备的每一个通信都是由主设备发送命令开始。
从设备收到主设备CTO命令后,查询XCP驱动中的命令列表,如果有相应的命令,执行相应的操作,并作出相应的回答,如果没有找到相应的命令,则返回一个错误信息。
●优点:
这种方式是一问一答进行的,可靠性高,时序容易控制,实现简单,占用内存少。
●缺点:
在标准的通信模式,主设备可能无法发送新的请求,除非以前的请求已被接受。
图2.10标准通信模式
2、数据采集DAQ模式
DAQ模式,从设备可脱离主设备的命令控制,通过ECU内部的时钟按照一定的周期,或者通过某一事件的发生,自行组织预设数据上传,从而提高工作效率,但是占用大量的ECU内存。
在实际的数据传送过程中,首先由主设备发送相应的对象描述表格(ODT)对从设备进行配置,设置从设备中采样数据传送的数据长度、数据地址和上传周期等参数,从设备必须对主设备的配置命令做出相应回复报文。
在配置结束后,从设备就根据主设备的配置信息确定要上传给主设备的数据,并根据相应的上传周期自行上传数据报文(DTO),无须主设备进一步命令控制。
ODT与ECU内存的映射结构如图2.11所示。
图2.11ODT表结构
DAQlist是含多个ODT的数组,ODT也是数组的形式。
ODTentry、ODT、DAQlist之间的结构关系如图2.12,图中DAQ中所指的ODT是由7个元素构成(XCP协议对此相对CCP作了改进,一个ODT中不止只含有7个元素,还可以更多,具体看下文ODT构造),每个元素的内容包含内部数据存储地址和数据长度,ODT中每个监测参数的类型(BYTE、WORD、DWORD)大小不是一定的,如果不在ODTentry中的size元素指定长度,则默认为一个字节,这种情况下一个ODT每个字节位置刚好可以放到一个数据。
这些元素必须被连续的采集,每个ODT都有一个唯一的编号PID,几个ODT组成一个DAQlist,从设备实现DAQlist的数据以及DAQlist
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 XCP 协议 ECU 测量 系统 设计