gdi光学发动机控制单元后台管理软件设计_第1页
gdi光学发动机控制单元后台管理软件设计_第2页
gdi光学发动机控制单元后台管理软件设计_第3页
gdi光学发动机控制单元后台管理软件设计_第4页
gdi光学发动机控制单元后台管理软件设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要 Abstract. 123345666779991绪论 1.1 引言1.2 标定和标定系统 1.3 课题研究现状1.4 章节安排通讯协议概述 2.1 CAN 通信协议概述 2.1.1基本概念和技术特点 2.1.2 内容简介 22.2协议简介 ..5ASAP 标准简介功能特性 报文帧模式 101114141515171717181818191923242525252626272.3 本章小结 总体架构分析 功能分析数据流分析本章小结4管理 4.14.2设计管理分析设计开发 4.2.1 主体程序.34.2.4初始化模块

2、CAN 总线收发模块驱动模块4.2.5 变量监测模块4.2.6 变量标定模块 4.2.7 类 A2L 文件模块 4.3 本章小结5管理验证 5.1 ECU 模拟设计 ECU 模拟ECU 模拟工作概述设计5.2管理验证272728333333343536375.2.1 验证目的及验证方法 5.2.2 验证结果 5.3 本章小结 6 总结与展望 6.1 课题总结 6.2 展望 致谢 参考文献 附录 GDI 光学发控制单元管理设计摘要:在能源日益紧张以及排放日趋严厉的社会,直喷技术(GDI)得到了人们前所未有的重视。而借助于光学发和光学测试实现的缸内可视化极大促进了 GDI 技术发展。为更好应用可视

3、化技术,需要对 GDI 光学发控制单元 本课题基于的 ECU 进行大量的标定实验。因此功能强大的 GDI 光学发管理是必不可少的。协议,采用 VS 开发了 GDI 光学发控制单元的理。通过确定功能和总体架构,采用模块化设计的方法进行设计,使具备有、标定、数据管理、类 A2l 文件的功能和可行性,开发了模拟 ECU功能。并使其在一台计为了检验算机上运行,发管理在另一台计算机上运行,两者通过 CAN-USB卡连接。首先,通过操作管理,测试了管理和标定管理功能,而后重启,配置文件和数据文件,验证了的数据管理和类 A2L 文件能够满足使用的要求。功能。验证结果表明各项功能工作均正常,:协议,标定,EC

4、U,VB.net1The design of backward management softwareof GDI optical engine controitAbstract:Today,societyput more and more emphasis on energy-saving andemisregulation. GDI(gasoline direct injection) has been drawing muchmore attentionn ever before. And In-cylinder visualization technologywhich is made

5、 valuab y apparent engine benefits much the development of GDI technology. To achieve better visualization application, variety of calibration experiment is needed. Therefore, a multi-function backwardsoftware is of great importance.Based on theprotocol, the background of GDI optical enginecontroit

6、is developed by VS,By determining the software function andthe overall structure, the use of modular design method for software design, software has a collection, calibration, data management, class A2l file resolution.In order to verify the functionality and feasibility of the software, thesimulati

7、on ECU software was developed and run on a computer. The engine background management software was run on another computer,both connected via CAN-USB cards., through the operation ofbackground management software, testing the background management software collection and calibration functions, and t

8、hen restart the software, software, read the configuration file and data files, verify the backgroundmanagement software, data management and class A2L file resolution. Theverification results showt the functions of the software are workingproperly and can meet the tocol, Calibration

9、, ECU, VB.netKeywords:21 绪论1.1 引言随着我国社会经济不断发展,我国汽车的保有量在不断增加1:汽车生产量于 1992 年突破 100 万辆,仅仅过了 8 年,汽车生产量就较 1992 年实现翻一番;在三年之后,汽车生产量就较 2000 年实现翻一番,之后仅仅过了四年,汽车生产量就较 2003 年实现翻一番;3 年之后的 2010 年,汽车生产量就较 2007 年实现翻一番;2013 年汽车产量首次突破 2000 万大关,达到 2211.68 万辆;在此期间,我国的机动车保有量持续攀升,2013 年底已经达到 2.5 亿辆,其中汽车 1.37 亿辆。图 1.1 中国汽

10、车工业产量汽车行业的发展为人们的日常生活带来了很多方便,但同时也对能源和环境造成了巨大的影响。因此国际组织和各国及燃油消耗。而且随着时间发展。排放颁布了严格的限制汽车尾气排放以日趋严格。这就给发厂商提出了更高的要求。在这样一种背景下。直喷技术(GDI)以其优越的动力性能和经济性能得到了人们的重视。而燃烧开发正是 GDI 技术中的重要环节。研究发燃烧过程,往往需要用到通过光学发和光学测试实现的可视化技术。可视化技术是指将发工作过程中的光学号通过探测器转变为光谱或者图像可供人们分析处理的相关信息以便进行参考或者研究2,为实现可视化技术往往需要设计专门的单缸光学发电控单元(ECU)来调控发的运行参数

11、(如喷油量与喷油正时、点火正时,油轨压力等),并且基于曲轴转角或时间触发高速相机拍照。在实际运行中,发工作条件非常复杂。往往需要 ECU 调控发在不同的3工况下做出不同的响应,而 GDI 光学发工作的好坏往往也取决于 ECU 内置控制参数,若是 ECU 控制参数接近实际情况下的最优解,那么发工作的就平稳高效,反之就有可能工作,造成能源的浪费,不能实现原来的目的。在 GDI 光学发动机中,只有对其控制参数进行精确标定才能更好地研究可视化过程。然而,发的标定往往是一个复杂的过程,这体现在两个方面:一方面,发的许多指标是相互的(如排放和经济性),在这种情况下,综合考虑各种情况求最优解是一种非常繁琐的

12、工作3;另一方面随着电控技术的发展和的日益严格,电控系统的控制参数和电子控制单元(Electric Controit, ECU )的控制功能也日益增加3,需要标定的参数也越来越多。使得标定工作量成倍增加。因此,一个设计完善的管理能够大大减少设计的工作量,同时提高标定的精度和自动化水平。从而促进 GDI 技术的进一步发展。而这也是本课题研究的目的。1.2 标定和标定系统发的电控系统对发性能有着十分重要的影响,相比较于传统的机械控制,电子控制响应更快,精度更高。电控系统的应用了发的动力性能,同时减小了发的油耗和排放。使其在多种条件约束下达到最佳性能。在过去的四十多年里,电控系统不断发展,日渐完善。

13、应用的领域越来越广。电控系统主要是由感器,ECU,执行器所组成。工作过程如下:首先 ECU 接受传感器送来的信号,如转速等,这些信号表征了发工况。而后 ECU 则根据这些信号进行分析,判断,处理,并把相应的运算结果经过处理后发送给执行器,执行器则根据 ECU 送来的信号进行相应的操作。从上述过程可以看出,电控系统的好坏主要取决于 ECU 的运算结果。而 ECU 的运算主要取决于 ECU 内置数据。因此,在一个电控系统的控制程序和硬件配置基本正确的情况下,发性能能否达到最优取决于ECU 内置数据能否取到当前条件下的最优值。而 ECU 取得最优值的过程就叫标定。标定过程的好坏直接决定了 GDI 光

14、学发工作能否达到预期的效果。标定过程的意义体现在在车辆具体性能和框架限制下,寻找和优化电控系统参数,从而实现标定对象综合性能的。控制参数的类型可以分为数值型,曲线型,和 map 型。其中 map 型是用的最多的,它是发动点火喷油量的依据。map 图的优劣关系到发工作的好坏。4标定系统为标定过程提供了一个可视化的环境,它使得用户能够实时观察到各变量的变化。并允许用户根据实际情况对 ECU际使用中获得使人满意的使用特性。控制参数进行修改。使 ECU 在实1.3 课题研究现状目前,标定系统在国内外得到了广泛而深入的研究。而在对标定系统的研究方面。国外公司不仅起步比较早,而且研究范围更加深入广泛。 德

15、国的奥迪等汽车厂家率先组织成立了旨在实现通用化的 ASAP 组织,并推广了后来被广泛应用的协议。而且国外现有许多著名的厂家已经开发出了成标定,如的 ATI 公司开发的 ATI VI,奥地利公司 AVL 公司开发的 CAMEO 等。相比之下,国内对标定系统的研究则尚未形成完善的发展局面。目前国内发动机标定系统的研发工作主要集中在各大高校,其中比较有代表性的主要有:江苏大学的等人在 2007 年基于国际通用的协议开发了一套通用性能较好的发标定系统3,该系统以 32 为微控制器 MPC564 作为下位机,基于 UML 建模工具对标定功能进行建模并在 Visual C+上完成上位机标定的开发,同时运用

16、 USB-CAN 通信模块对上下位机进行衔接 ;的、杨福源等人在 2008ECU 标定系统4;浙江大学年开发了通用型发用 java 开发了基于的在 2011 年使协议的发标定系统,并提出了基于遗传算法的一种对发参数进行自动优化的方法5,而吉林大学的等人也做出了不错的成果6。总而言之,国内发标定系统往往针对各自的项目进行研发,虽然通过不断地积累研发能力不断提高,但是在兼容性和集成功能性方面还有待提高,与实现自动标定系统还有遥远的距离。目前国内的标定系统研究的发展趋势主要有以下两个:(1)向自动标定发展目前,国内标定系统在进行台架试验标定时,发性能变化的需要人工干预完成。由标定对监测到的数据进行判

17、断后,再发出控制参数修改等控制命令,导致标定结果的质量和试验的再现性都不太理想。这严重5限制了标定系统的发展。因此标定系统朝着自动标定发展是一个总的趋势78。(2)提高通用性目前国内的标定系统大多是作为电控系统研发的辅助工具出现,只能进行特定型式电控发的标定试验,具有应用局限性。对象发生改变时,标定系统也必须重新开发,这大大增加了人力物力的耗费。从经济性和便捷性出发,提高系统的通用性也将是一个总的趋势。1.4 章节安排本文一共分为七章,各章主要内容概括如下:第一章主要介绍了本课题的研究背景,同时阐述了国内外标定系统演技的现状,并对当前标定系统发展趋势做了简单的介绍。第二章主要介绍了 CAN 总

18、线标准和通讯协议。介绍了标定协议的特点,帧结构,通信以及机制。着重分析了协议两种模式。为下文的设计提供了理论基础。第三章主要总结归纳了管理需要实现的功能,并简要介绍了各个功能,同时在工作时的数据流,确定了管理的总体架构。第四章在第三章的基础上,将分为 6 个模块,然后对各个模块进行了简单的介绍,并对其实现方法进行了介绍。其中重点说明了驱动模块。第五章主要介绍了 ECU 模拟简要的分析。的设计以及测试过程。并对进进行了第六章对全文内容作了回顾,也阐述了本课题存在的和缺陷,同时对以后的修正提出了自己的意见。并对标定的发展提出了自己的看法。2通讯协议概述2.1 CAN 通信协议概述62.1.1基本概

19、念和技术特点控制器局域网 CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络,是由德国博世公司在 20 世纪 80 年代专门为汽车行业开发的一种串行通信总线,由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域,而且能够检测产生的任何错误。当信号传输距离达到 10km 时,CAN 仍可提供高达 50kbit/s 的数据传输速率。由于它出色的传输性能,CAN 总线在汽车领域内得到了广泛的应用8。CAN 总线标准目前包括国际标准化组织 ISO11898(高速标准)和 ISO11519(低俗标准),总线

20、规范为 CAN2.0(CAN2.0A 和 2.0B)。CAN 总线的特点总结如下5:通信灵活,可实现多主系统,数据接收和发动有点对点,一对多和全局广播等方式。通信速率较高,距离 40m 以内最高通信速率可达 1Mbps,直接通信距离最远可达 10Km。(3)(4)优先级多,可通过表示符号来标识优先级。协议对非破坏性总线优先级仲裁技术的应用避免了总线上节点在数据发送时的。(5)(6)报文采用短帧结构,总线强,发送时间和重发时间短。采用玄幻冗余校验(CRC)及其它校验措施,保证了数据传送的可靠性。(7)具有自动关闭功能,当数据发送出现错误时,可以主动脱离主线,这样可以不影响主线其他节点的工作,从另

21、一方面保证了可靠性。2.1.2 内容简介CAN 总线协议经过多年的发展,目前共有 CAN1.0 和 CAN2.0 版本,其中 CAN2.0版本又分为 A,B 两种形式。本课题采用兼容性和扩展性都比较好的 CAN2.0B 协议。而 CAN2.0B 协议分为两种帧格式:含有 11 位标识符的标准帧和含有 29 位标识符的扩展帧。这种分类方式主要是根据帧长度来分类的,而本文考虑到系统的实际需求,主要使用的是 11 位标识符的标准帧。根据帧的作用,CAN2.0B 定义了四种类型的帧:数据帧,帧,错误帧,和超载帧8。其中数据帧和帧可以使用标准帧以及扩展帧两种形式。(1)数据帧:用于 CAN 网络中不同节

22、点传递数据的载体,其结构如图 2.1 所示7图 2.1 CAN 数据帧的结构图 2.1 中所示各种结构的作用说明如下:帧起始域:由一个显性位表示一个数据帧或者点数据的同步。帧的开始,主要用于不同节仲裁域:标准帧和扩展帧的仲裁域不同,标准帧中的仲裁域为 12 位:11 位的标识符和 1 位的发送请求位(RTR),拓展帧的仲裁域为 32 位:11 位的基本 ID,18位的拓展 ID,1 位的替代发送请求位 RTR。请求位(SRR),1 位的标识符拓展位(IDE),一位的控制域:由 6 个位组成,其中包含 4 位的数据长度代码。在标准帧中,有 1 位 IDE和 1 位保留位 R0;扩展帧中,则是 2

23、 个保留位 R0 和 R1,R0 和 R1 均以显性发送。DLC指示了帧中数据域的有效字节长度,范围在 08 之间。数据域:由要发送的数据填充,最大可以包含 8 个字节。 CRC 域: 表示本报文的 CRC 码,避免数据发送错误。应答域:用于表示数据接收节点成功接收数据后的应答信息。帧结束:由 7 个“隐性”位的序列来表示数据帧或帧的结束。(2)帧: 用来请求总线上某个节点发送自己想要接收的数据,具有发帧后,就应尽力响应这个远地传送要求。因出这种远地消息能力的节点收到这个此帧本身是没有数据域的,此外帧的位为隐性位,表示状态,其余部分的结构与数据帧完全相同。(3)错误帧:用于检测总线出错的一个信

24、号标志,由两个不同的域组成第一个域是来自不同站节点的错误标志叠加,叠加结果序列的总长度最小为 6 个,最大为 12个位;第二个域是错误界定符,包括 8 个隐性位。当报文传输过程中,检测到任何一个节点出错了,即于下一位开始发送错误帧,通知发送端停止发送,进行相应的错误处理。(4)超载帧:与错误帧类似,超载帧也由超载标志和超载界定符组成。当某因原因要求缓发一个数据帧或帧时,它可向总线发出超载帧。超载帧可以嵌8帧起始仲裁域控制域数据域CRC 域应答域帧结束套,但至多只能两次。2.2协议简介协议是标定标定型 ECU 连接所必须的接口协议,是在 CAN 数据帧中扩展的应用层协议。主要定义了数据帧每个数据

25、位的具体含义。因此完全符合CAN2.0B 标准。而是由欧洲的自动测量系统标准化ASAM(Assotion for Standardisation of Automation and Measuring Systems)制定和推广的。2.2.1 ASAP 标准简介为实现对 ECU 测量,标定,等工具间的接口实现标准化,ASAM 组织提出了MCD 模型,并按照 MCD 模型层次结构指定了一套完整的 ASAP 标准体系9。如图 2.2所示。ASAP 标准由三个部分组成,分别是 ASAP1,ASAP2,ASAP3。其中 ASAP3是应用系统,即测试、标定、描述文件,是电子控制单元系统到自动化系统的接口

26、规范。ASAP2 又称为 ASAP数据描述文件的规范9。ASAP1 是电子控制单元到系统的接口规范,又可以细分为 ASAP1a 和 ASAP1b,是到 ECU 端的数据通信的物理辑接口规范,包括通过 CAN 总线对 ECU 进行标定的协议规范9。ASAP1b 接口包括一个符合 ASAP 标准的驱动程序、硬件接口及电子控制单元,因此接口规范保证了 MCD与 ECU 之间的通信能够在不同的 ECU 之间都实现,从而保证通用性。本系统采用的2.1 标准是 ASAM 在 1999 年 2 月发布的。2.2.2 功能特性本课题采用的版本为 1999 年发布的 2.1 版本。通信是基于主从通信模式进行的。

27、系统上只有一个主机,它可以连接任一从机。在本课题中,PC 端的管理就是主机,被标定的 ECU 就是从机。对硬件没有太多的限制,只需要控制器本身支持 CAN 接口,而且应用广泛,支持车身电子控制等低速应用到动力驱动系统的高速应用。而且只要在 ECU 端实现一个基本的驱动包,就能实现所需的和标定功能。在实际应用中,可根据系统需求可对协议进行适当的裁剪。协议支持的功能如下所示:(1)能够对位于 ECU 合法内存地址中(RAM 或者 ROM)的任意地址进行和写入。9基于时间周期或事件驱动的可同时进行数据标定和可同时对多个进行操作。方式。FLASH 编程功能。即插即用。数据保护功能。ASAP2ASAP1

28、b图 2.2ASAP 标准2.2.3报文帧3协议报文是对CAN 数据报文的二次定义,主要针对数据报文的八个字节数据。根据协议。主机和从机的通信的报文帧分为两类:主机发送给从机的CRO(dReceive Object);从机发送给下位机的 DTO(DaransmisObject)。由于是对 CAN 数据报文重新定义。因此 CRO 和 DTO 均封装在 CAN 报文帧的数据域内。最大长度均不得超过八个字节。主从机通信交互图如图 2.3 所示。 命令接收报文(CRO)命令接收报文用于上位机向下位机传递消息,其各个数据位的具体含义如图 2.410ASAP3 标准ECU数据库测量标定系统(

29、MCS)ASAP1a驱动自动化系统所示。CMD(D CODE)占第一个字节。表示具体的协议命令。在协议有28 条命令。各命令具体含义如附表所示9,CTR 为命令计数器。其数值表示当前运行周期下命令发生次数,此数值在具体的程序设计应用中能够用于保证数值的同步和准确。剩余字节对于不同命令有不同的定义或作为保留区提供自定义扩展。 数据发送报文(DTO)数据发送报文用于向上位机传递下位机回应的报文或者数据,根据不同情况,DTO 可以分为三种类型:用于返回命令应答令返回消息()和用于异的数据常和运行状态的事件消息(Event Message),以及模式下从机自动化消息(DAQ-DTO)。前

30、两者具有的相同的报文结构,如图 2.5 上所示,DAQ-DTO 报文结构如图 2.5 上所示。所有 DTO 报文的第一位都定义为(Package ID),DTO 报文的类型通过的大小区分。最大值为 0 xff,当大小为 0 xff 时,DTO 报文为命令返回消息。当大小为 0 xfe 时,DTO 报文为事件消息。当大小在 0 到 0 xfe 之间时,DTO 报文为式而言,出消息。DTO 报文其余字节对应不同命令有各自的配置,对于模字节以外都是模式9数据区。2.2.5为了能够方便快速有效数据,协议定义了两种模式:Polling 模式,DAQ 模式。两种方法都有各自适用的场合,用户可根据实际情况自

31、行选用。 Polling 模式Polling 模式实现较为简单。该模式的实现原理是通过上下位机命令应答机制来实现,每一次数据值的获取都需要上位机发送查询命令报文,因此能够保证每次采集到的数据可靠。在这种模式下,灵活控制简单,但是上位机发出命令必须要得到下位机对之前做出应答。总线利用率不高。因此只适用于需要少量数据的场合。一般主要用于上位机向下位机发送控制命令。11CRODTODTO图 2.3主从机交互图Bytes01234567图 2.4 CRO 帧格式Bytes01234567Bytes01234567图 2.5 两种报文帧格式12参数区域CTRERR参数区域CMDCTR参数区

32、域DAQ 处理命令处理主机(管理)驱动DAQ 模式DAQ 模式是一种相对高效的数据上传模式,它可以使脱离主机,自发自动按一定定时周期向主机传递数据。这种方式避免了一问一答机制中令询问部分,从而实现功能在同样需求情况下降低一半的总线负载率的效果,或者能力,DAQ 模式的实现往往需要借助于 DAQ 列是在同样的总线负载率下翻倍表,ODT(对象描述表)列表以及 DAQ-ODT。DAQ 列表与 ODT 列表的关系如图 2.612。ECU 内存区 ODT 列表DAQ_ODT图 2.6 ODT 结构图在实际操作中,ECU 监测数据放在 Flash区内,当要求查询数据时,ECU将会根据之前发来

33、的地址,将要求的变量上传,为了降低总线利用率,软件需要实现进行配置,即 ODT 列表。变量的地址和长度都放入 ODT 列表中,每个 ODT列表都放入一个 DTO 中,由于 DTO 只有 7 个字节,所以每张 ODT 列表最多只能传输 7个字节长的数据。在实际情况中,为了节省所占的空间,实际应用中,往往省略变量的长度信息,此时默认变量元素为字节长为 2,由主机负责对多字节变量进行拆分拼装。每张 ODT 都有一个全局唯一的,即上文所提到的,这样系统至多有 253 张表。协议同时支持同步周期性和基于事件的非同步。其实现是依靠不同事件通道原理。多周期或同事件 ODT 的将一个 DAQ 列表,如图 2.

34、7 所示。该 DAQ 列表含有 3 个 ODT 列表。每个列表可以放入时间相同的通道进行测1301234560 地址 长度1 地址 长度2 地址 长度3 地址 长度4 地址 长度5 地址 长度6 地址 长度控制参数控制参数量,也可将具有最小公约数周期的 DAQ 列表如和放入相同通道测量,系统可以同时拥有或者激活不同的列表。根据协议,可以同时测量所有已定义的 DAQ 列表变量,但考虑到 DAQ 模式的多通道对系统资源消耗较大,实际应用中系统的性能不同,所能同时定一个合适值。的 ODT 上限往往也不相同,一般是通过实际试验中确在 DAQ 模式中,首先需要主机在 Polling 模式下对 ODT 列

35、表进行配置,配置完成后,当从机收到上位机发过来的 DAQ 开始命令时,从机就根据 ODT 列表自发上传数据,无需主机再次。这种模式在多通道时相对复杂。但对总线利用较好,适用于需大量传输数据的场合。DAQlist#0图 2.7 DAQ 列表2.3 本章小结本章主要介绍了管理用到的 CAN 总线以及标定协议做了介绍,介绍了 CAN总线的特性和通信报文的结构。对概念,特性,通信方式做了简单介绍,详细说明了协议中两种模式。为下文的进一步研究奠定了基础。3总体架构分析14=20123456=10123456=00123456ODT#0ODT#1 ODT#2本课题的工作分为两部分:管理的设计,管理的测试。

36、本章节首先分析了管理要实现的功能和与外界发生的数据流。而后提出了的总体架构。3.1功能分析本课题对系统需求进行分析后,将管理的功能归纳如下:的变量参数,经过一定的处理后(精(1) 变量监测:实时ECU度处理等)以恰当的方式(数值或曲线)实时展示。(2) 变量标定:能够ECU的数据,并根据标定的类型提供不同的显示方式(数值,曲线,MAP 图)。而且能够实现实时修改 ECU数据,方便标定在实际工作中根据实际需求进行修改。(3)系统变量管理:管理和创建与标准的 A2L 数据库描述文件相似的工程描述文件,该文件中包含有本工程中窗体界面的描述信息以及 ECU标定相关的变量信息,系统能够从中或存入相应的配

37、置信息。(4) 变量据。与回放:在 PC 端保存监测数据,并且能够在离线的情况下回放数3.2数据流分析在实际工作过程中,管理与外界(PC,标定 ECU)交换内容比较复杂。为明确研究范围,本课题引入了数据流分析这一概念。数据流分析是对与其他部分交换数据流向的分析,体现了各模块的相关性。根据功能属性的不同,可将数据流分为以下几个部分:(1)管理与标定 ECU 之间的:这是实现标定数据和数据的主要。主要是通过协议对 CAN 报文进行封装。(2)管理与 PC 端文件的:系统运行时将这些硬件配置等信息或者监测数据保存到 PC 端。系统在后续操作中也能直接这些文件。进行相应的操作。15(3)ECU参数的传

38、递,为了避免断电丢失数据,ECU重要的参数一般存在 ROM 里,只有在程序运行时才会拷贝到 RAM 区。(4)ECU 标定参数向管理的传递,由于管理从 ECU标定数据需要时间较长不利于实时标定,因此需要 ECU 先把标定参数上传到 PC 端建立镜像文件。形成。标定时,管理只是对上位机的镜像文件进行修改。只有在标定过程完成后,再将标定好后的数据打包发送到下位机。确定模块。可将管理管理实际工作过程中的数据流后,可进一步明确管理的驱发生的部分分为 5 个模块:CAN 收发模块,动模块,变量监测模块,变量标定模块,类A2L文件管理模块。各模块与外界交换的数据流如图 3.1 所示图 3.1管理数据流CA

39、N 收发模块主要负责接受和发送 CAN 报文帧,而驱动模块则根据协议对收到的 CAN 报文进行或者封装成符合协议的报文。变量监测模块则负责将监测变量经过适当的处理后以恰当的形式显示出来。变量标定模块负责ECU的标定数据并以合适的形式显示,同时实时修改 ECU的标定值。而类A2L 文件管理模块则将类 A2L 文件的信息出来,实现预定的操作。16标定 ECURAMFLASH管理类 A2l 文件管理模块监测主程序模 块驱动模块CAN收发模块标定监测数据标定数据系统配置信息3.3 本章小结本章主要归纳了之外,本章总结了管理管理需要的功能,并对各功能做了简要的说明。除次在工作过程中产生的数据流,并根据这

40、些数据流,将管理分为了 5 个模块。并采用模块化设计的,设计了的总体架构。4管理设计4.1管理分析基于 开发的 GDI 光学发是本课题的重点与难点的性能对于课题有着举足轻重的影响。因此如何合理的实现别注意的地方。各项功能,是设计程序时需要特在实际过程中,管理要实现诸多功能:通讯设置,数据处理,数据标定,管理。要综合考虑到多方面分为以下 8 个模块:。因此本课题选用模块化设计的方法,将(1)CAN 收发模块:为管理与标定 ECU 通信提供基本的收发支持,通信数据打包成符合协议的报文后通过 CAN 收发模块进行发送,而标定 ECU 发过来的消息也需要经过 CAN 收发模块收到之后再转由管理其他模块

41、处理。在本课题中,主要是由 CAN-USB 转换器提供的底层收发函数实现。(2)驱动模块:主要负责对收到的报文进行,当 CAN 收发模块收到下位机发过来的 DTO(DaransmisObject)后,根据 DTO 的(Package ID)大小分别调用的不同的子过程处理,完成对协议的。(3)数据显示模块:ECU 向发送的数据,首先经驱动模块处理后,赋给相应的变量。而后送入窗口显示,数据显示模块为用户提供了两种显示方式:数值型窗口,曲线型窗口。(4)数据标定模块:为不同的变量提供不同的标定窗口,为各时段的标定动作提供合理的标识。17(5)数据管理模块:在 ECU 和连接时,将监测数据和标定数据保

42、存到 PC端的文件,当 ECU 与断开连接时能够保存在 PC 端的文件,实现数据的回放。(6)初始化模块:对的通信设置,标定变量,监测变量,ODT 列表等信息进行设置,并将这些信息写入 A2L 文件。(7)类 A2L 文件定,不再需要初始化。模块:类 A2L 文件,后,可直接进行标(8) 主界面模块:系统初始化完成后进入主界面,等待用户操作。4.2设计开发4.2.1 主体程序主要运行过程可描述如下打开后首先进行系统配置工作,系统配置工作可以通过直接系统配置文件完成,也可以新建工程初始化相应配置,而后进行 CAN 总线的初始化,建立起和标定 ECU 的逻辑连接。而后进入主界面,等待进一步操作,过

43、程可见图 4.1。可以看出的操作存在一定的顺序,因此在设计时主要采用顺序结构,若未按顺序操作时,则该操作则不能进行,而且会弹出相应的提示框,保证不会出现错误而,也保证了的正确操作。4.2.2初始化模块 初始化模块功能初始模块主要负责相关信息的配置,包括 CAN-USB 通讯卡的初始化,CAN通讯设置,ECU 变量相关信息,DAQ-ODT 列表配置等。CAN-USB 卡的初始化主要是调用 CAN-USB 卡自带的 LM_USB.dll13中的 Init_can函数完成。在建立逻辑连接之后设计了两种方式来实现对系统配置的初始化:既可以通过系统配置文件来完成,如图 4.2 所示,也可以

44、通过新建工程文件的方式来完成。如图 4.3 所示系统配置文件里包含了通讯设置信息,变量信息以及 ODT 列表的信息。因此通讯设置的初始化,变量信息的初始化以及 ODT 列表的设置都是通过对配置文件的解析完成的。而另一种初始化配置信息的方式则是通过的设置完成,一方面,通过这些18可以完成对系统配置的初始化,另一方面也能对配置文件里的信息进行编辑。 初始化模块的程序设计根据前面章节部分,初始化模块主要分为两部分,一部分是直接配置文件里的内容,完成相关设置的初始化,这部分功能的实现主要是通过类 A2L文件模块完成的。另一部分是提供的配置界面。用户从交互界面配置系统设置,如通讯设置等,配

45、置完成后,将这些信息写入配置文件,方便再次使用。在初始化过程中,需要配置的参数比较多,为了方便管理,采用了 VB.net 里的结构体的概念来描述各项配置14。以变量为例。完整描述一个变量,需要变量名,变量大小,变量地址。变量类型。若需要对变量进行处理,以变量为例,由于 CAN 报文数据域一个字节是 Bytes 类型13,能在里进一步处理则还需要变量精度,变量变化范围,变量精度等信息。结构体在调用时也比较方便,直接相应结构体的成员即可。4.2.3 CAN 总线收发模块CAN 总线收发模块是整个里最底层的部分,是与标定 ECU 通信的基础。ECU 发送的报文由 CAN 总线收发模块接收后,再转由驱

46、动模块处理。而发往标定 ECU 的报文打包成符合协议的报文后,也是通过 CAN 总线收发模块发送。在本课题中,CAN 总线收发模块主要是通过 CAN-USB 卡自带的函数的can-receive 和 can-send 函数实现的。Can-USB 卡提供了 can-receive 和 can-send函数的说明以及调用要求,按照说明在里调用即可。在中分别定义了发送和接收的子过程,这样方便参数的传递。考虑到管理的功能。即接收标定 ECU 发送的报文以及向标定 ECU 发出各种命令。设置了一个定时器,每隔一定时间间隔就查询接收缓存区,如果缓存区存在数据接收报文,则调用驱动模块处理。如果需要发送,由前

47、文可知各命令主要是根据 CRO 的 CMD 来区分,定义一个长度为 8 的数组作为发送的数组。当用户操作时,对于该数组的值进行修改,而后调用发送的子过程。这样就减少了工作量而且保证了总线不会出现堵塞的现象。4.2.4驱动模块的驱动模块主要是两部分:对下位机发送来的报文进行,以及将发送到标定 ECU 的报文进行封装,使其符合协议,方便标定 ECU。下面从与封装两部分对驱动模块进行描述:19图 4.1 程序主要框架20图 4.2初始化界面图 4.3 新建工程界面从第二章的描述可知,标定 ECU 回复的 DTO 根据的大小可分为报文和DAQ 报文,因此在 CAN 总线收发模块接收到

48、数据时,首先对大小进行判断,如果0 xff,则调用处理 DAQ 的子过程进行处理,该过程主要是把传送过来的报文的值进行相应的处理然后赋给变量。如果行处理。大小为 0 xff,则调用处理的子过程进 封装封装主要是指对CAN 报文数据域8 个字节的修改,根据协议,对于CRO 报文,数据域第一位即 CMD 取不同值 就代表了不同的报文。因此,根据用户的操作,调用不同的子过程进行处理。这些子过程主要是给 CAN 报文数据域的不同字节赋值。然后再调用前文说的 CAN 总线收发模块发送。图 4.4 DAQ 设置过程22实时监测变量变化,故传输数据采用 DAQ 模式,发送命令采用 Pollin

49、g 模式。其中报文封装和对报文的比较直观简单,对 DAQ 报文的相对复杂。DAQ设置过程如图 4.4,根据第二章可以知道,DAQ 模式下,需要先配置 ODT 列表信息。而后在上位机发出开始命令时再自发上传数据。因此如何将报文的数据处理后传给指定的变量是一个需要考虑。定义了一个结构体来描述变量的相关信息,同时定义了一个大小为 253 的结构体数组来描述所有要监测或标定的变量。这样通过对该结构体数组索引的修改就能实现任意配置 ODT 列表的目的。在这种情况下,可将报文的数据处理后传给指定的变量4.2.5 变量监测模块当标定 ECU 向发送监测数据时,监测数据经过 CAN 总线收发模块以及驱动模块的

50、处理后,赋给了指定的变量。而这种关系是在 ODT 列表设置时就已经确定了的。为监测变量提供了两种显示方式:数值型显示窗口,曲线型显示窗口。用户在设备连接成功,系统配置完成后,可以选择变量显示的方式。如图 4.5 所示,为每个监测变量提供一个显示的窗体,窗体上除了数值之外,还有变量的相关信息。图 4.5 变量选择窗口23变量标定模块标定功能设计管理的初始化模块从系统配置文件出来标定变量的信息,并为每个标定变量提供合适的表示形式,当用户进行标定操作的时候根据配置文件,将标定参数初始化。在参数初始化完成之后,用户可以修改标定值。图 4.6 标定流程 标定窗口显示根据上述章节可知,标

51、定变量分为可分为一维二维三维标定变量。因此需要为这三种标定变量分别建立不同类型的显示窗口,其中数值型的比较简单,而曲线型和 Map 型相对复杂些。为这两者提供了数值显示和图形显示两种方式。其中图形显示比较直观而数值方式方便用户进行标定。4.2.7 类 A2L 文件模块由于标准的 A2L 文件定义了 144 个,而且在之间往往存在着嵌套定义的现象,这给 A2L 文件的带来了很大的麻烦。由于时间限制,本采使用了 windows 自带的配置文件(.ini)以及 txt 文件来替代 A2L 文件,变量精度,大小等信息在 ini 文件里,标定数据和监测数据在 txt 文件里。通过对这两种文件的操作可以实

52、现所要求的功能。Ini 文件是 windows 系统配置文件常采用的格式,由节,键,值组成。Windows系统自身提供了 GetprivateProfilestring 和 WriteprivateProfilestring 两个函数对 Ini 文件进行读写操作。通过这两个函数可以写入值。指定部分的值或向指定部分当处于状态下,会在工程所在目录下创建以变量名为名的 txt文件,并向里写入检测到的数据。这通过 VB.net 中的数据以换行符分隔,以便区分。的 file 类即可完成。通过对保存到 PC 端的文件的,就能实现对监测数据的回放。为使用户对监测变量的变化有更直观的了解,数据回放采用曲线的形

53、式。4.3 本章小结本章主明了管理的设计。首先概述了的基本工作流程,而后根据模块化设计的,设计了初始化模块,CAN 总线收发模块,驱动模块,变量监测模块,变量标定模块,类 A2L 文件管理六个模块。并简明了各模块实现原理。5管理验证前面的章节阐述了管理的设计思路,但是一个管理能否正常25工作需要在标定 ECU 上得到验证,由于条件限制,无法在 ECU 上测验。因此为检验工作的准确性,课题设计了一个模拟 ECU 行为的。ECU 模拟管理分贝在两台电脑上运行,两台电脑通过 CAN-USB 卡连接。5.1 ECU 模拟设计5.1.1ECU 模拟工作概述管理最主要的功能是数据标定和,因此有必要清楚 E

54、CU 的数据机制。ECU 内存区域一般分为 RAM,ROM,FLASH 三个区域。其中 RAM的数据修改方便,能够直接通过内存地址进行读写操作。但是 RAM 区的数据在 ECU 断电后,而在 FLASH 和 EEPROM 区里的数据在断电后能够保存。因此 ECU 标定在 FLASH 区域里,在需要调用的时候将其拷贝到 RAM 区域里。而监的数据一般测的变量通过传感器传到 RAM 区域,而后根据管理的要求上传至上位机。ECU 模拟主要实现的功能是对上位机发出令报出响应。因此结构比较简单。模块 ECU 模拟可以分为两大部分:驱动模块,CAN 收发模块。工作流程如图 5.1 所示。图 5.1 ECU

55、 模拟工作流程265.1.2 ECU 模拟设计从上面的分析可以看出,ECU 模拟主要由两个模块组成,其中,CAN 总线收发模块与管理的 CAN 总线收发模块类似,都是负责 CAN 报文的接收和发送,实现也与管理相同。而 ECU 模拟的驱动模块与管理的驱动模块有一些不同,下面从和打包报文两方面来说明:报文对报文的主要是对 CAN 报文数据域的第一个字节进行的。ECU 模拟为每个命令都编写了相应的子过程来实现。根据协议,CRO 报文数据域的第一个字节就代表了不同令,因此在 ECU 模拟里,CAN 总线收发模块接受的到来自管理的 CRO 报文后,对报文数据域的第一个字节进行判断,根据字

56、节数据的值调用相应子过程。实现预定功能。 打包报文这部分主要是对上位机令进行回应。根据回应内容可以分为两部分:对命令的回复,以及 DAQ 模式下上传的数据。对命令的回复比较简单,为保证数据传输的正确性,需要管理与 ECU 模拟的计数器保持一致。而 DAQ 模式下采集的数据则需要 ECU 模拟做一些额外处理:ECU 模拟首先需要设置一块区域接受 ODT 列表设置的信息,在本课题中,ECU 模拟用一个结构体数组来接收上位机传来的设置信息,当上位机发出DAQ命令时,ECU 模拟将扫描所有结构体,查询结构体是否接收了设置信息,并根据 DAQ 列表设置的信息上传数据。同时 ECU 模拟还需

57、要考虑到 ECU 的机制,因此,ECU 模拟创建了一个 Proj 文件存放标定数据,ECU 模拟在启动的时候将该文件的内容加载到数组里,数组的索引即可认为是变量在 RAM 中的地址。当管理标定数据时,ECU模拟确性。根据变量地址将修改的数据写入文件,以此来检验管理标定功能的正5.2管理验证5.2.1 验证目的及验证方法管理验证的主要目的是管理能否正确可靠的工作,也就是初始化模块,CAN 总线收发模块,驱动模块,变量监测模块,变量标定模块,类 A2L27文件管理模块能否正确的工作。从前面的章节可知,主要是检测据标定功能,文件配置功能是否正常。功能,数验证的主要方法是在两台电脑上分别运行管理ECU

58、 模拟,两台电脑用两个 USB-CAN 卡连接。如图 5.2 所示,ECU 模拟运行后,运行发管理。课题设置了转速,供油量,进气压力三个变量来验证的功能。管理同时设置了最高限制转速,转速-供油量,转速-供油量-转矩分别检测的一维,二维曲线,三维数据标定功能后,关闭和数据回放功能。map 图标定功能,验证完管理的数据监测功能和管理再次打开,可验证类A2L文件的功能图 5.2 CAN-USB 卡连接图5.2.2 验证结果测试时,管理ECU 模拟的 CAN 总线通讯率都设为了 20Kbps,软件的各个模块都工作正常,作正常。实现了预期的要求。,标定,回放功能,类 A2L 文件功能都工28在在系统配置

59、成功后变量功能得到了实现。的界面如图 5.3 所示,从中可以看出,数据图 5.3 数据界面数据标定界面如图 5.4 所示,以 Map 图为例,图 5.4 上是管理出来的参数值,用户可选中要修改的值,修改后点击确定,就会将修改值的相关信息模拟到标定 ECU。图 5.4 中是修改后标定界面的值,而图 5.4 下是标定后,ECU模拟 RAM 区文件的对应的值,从对比可以看出,标定功能也工作正常。检验完功能和数据标定功能后,将关闭后再打开。加载历史工程文件,系统各项配置信息也能正常加载,此处以 ODT 列表配置信息为例,如图 5.5上所示,而且各变量数据也存放到了 PC 端。此处以转速为例,如图 5.

60、5 下所示可见,而系统的数据回放界面如图 5.5 中所示,可见系统回放数据功能也得到了实现。课件对类 A2L 文件的也实现了预期的目的。由上可见系统要实现的功能都得到了实现,都达到了预期的目的。而且工作正常29305.4标定功能验证31图 5.5 类 A2l 文件管理模块验证325.3 本章小结由于条件限制,无法在标定 ECU 上进验,需要设计一个模拟 ECU 的,本章首先介绍了 ECU 工作的基本情况。然后从此出发,简要的说明了 ECU 的各个模块以及实现方法。而后在两台电脑上完成了测试,两台电脑通过 USB-CAN 卡连接。验证了,数据标定,类 A2L 文件管理功能,验证结果说明各个模块都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论