版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文章编号 :1000-0925(2004 05燃料汽车 ECU 控制参数在线调试技术开发滕万庆 1, 樊明英 1, 吕 滨 2, 尹继辉1(1. 哈尔滨工程大学 动力与核能工程学院 , 哈尔滨 150001; 2. 黑龙江工程学院 计算机系 System Development of Control Parameters On -Line Adjustment forDua-l Fuel Automobile ECUTENG Wan -qing 1, FAN Ming -ying 1, LU Bin 2, YIN J-i hui1(1. Power and Nucl
2、ear Eng ineering Institute, Harbin Eng ineering University, Haerbin 150001, China; 2. Departerment of Computer Science, Heilong jiang Eng ineering UniversityAbstract:In this paper, a technique of control parameters on -line adjustment for the dua-l fuel automobileECU was developed. The communication
3、 hardw are betw een the ECU and PC w as built. The parameter modified by this foundation w as saved in EEPROM. A VB prog ram w as developed for realizing parameters on -line adjust -ment in a PC. In order to ensure the data correct in transfer processing, many hardw are and softw are measures w ere
4、taken. T he simulation experiment results show that this communication foundation is reliable and integ rity, and that the dem ands of control parameters on -line adjustments of the ECU have been met. By exporting this on -line adjustm ent prog ram to a notebook PC, the control parameter adjustment
5、of ECU on a running car w ill be rea-l izable摘要 :介绍了一种自行开发的双燃料汽车 ECU 控制参数调试系统 。 建立了电子控制单元 与 PC 机之间的数据通信硬件系统 。 修改后的控制参数被存放在控制单元的 EEPROM 中 。 在 PC 机上用 VB 开发了调试程序 。 本系统在硬件和软件两个方面采取了措施 , 以保证通信准 确 、 顺利地进行 。 模拟试验结果表明 , 其工作稳定 、 可靠 , 能满足在线调试的需要 。 将该调试程 序移植至笔记本电脑中 , 可实现控制参数的随车在线调试 。关键词 :内燃机 ; 双燃料汽车 ; 电子控制单元 ;
6、 控制参数 ; 在线调试Key Words:I. C. Engine; Dua-l Fuel Automobile; ECU; On -Line Adjustment中图分类号 :T K464 文献标识码 :A1 概述在众多的汽车替代能源当中燃气以其较低的排放、 丰富的储量和燃料的经济性等优点 , 受到世人的 重视。在我国燃气汽车也正在大力发展 , 由实验室 研制的双燃料汽车的电子控制单元 (ECU , 在前期的排放试验当中取得了良好的控制效果 1, 但在不 同车型的双燃料改装性能匹配试验时 , 却不能在线 修改控制参数。本文主要介绍在原有双燃料汽车电子控制单元 的基础上开发的一套在线调试系统
7、。因本套系统工 作 时通信的距离只有 23m , 故采用了 RS -232C 串收稿日期 :2003-07-22基金项目 :黑龙江博士后落户基金项目 (LRB -KY030047( , , , -行通信。设计过程中充分考虑环境的干扰因素 , 在硬件和软件两个方面采取了多种措施来保证通讯顺 利、 正确地进行。它不但可以和这套电子控 制单元 很好地匹配 , 而且能与带有串行口的仪器、 数据采集 卡通信实现在线监控的功能 , 具有一定的通用性。 2 调试系统结构及原理介绍图 1所示为系统的结构图。调试系统利用电平 转 换器 , 使 ECU 中的 单片 机串行 口 TXD 、 RXD 和 PC 机的串
8、行口相连 , 为防止 ECU 掉电后丢 失修改 好的数 据 , 调试系 统把 它们 保存 在串 行 EEPROM第 25卷 第 5期 2004年 10月内 燃 机 工 程Chinese Internal Combustion Engine Engineering Vol. 25N o. 5Oct. 2004 图 1调试 系统结构简图中。 PC 机通过图形用户界面把 ECU 采集到的几个 发动机参数 (如转速、 节气门位置等 以曲线和数字 的形式显示出来 , 对发动机工作状况进行监测 ; 并且 能向 ECU 发送要修改的控制参数以优化其控制性 能。由应用程序驱动 PC 机的串行口建立起与单片 机
9、之间的通信实现了上述功 能。 PC 机使用手提电 脑。ECU 中 , 8XC196系列单片机通过 TXD 引脚和 RXD 引脚与 PC 机进行通信 , 把采集到的数据发送 给 PC 机。单片机内部两个物理上独立的串行缓冲 器是双 向 缓冲 的 , 通过 同一 个串 行 口缓 冲寄 存器 SBU F 去访问它们。本单片机具有体积小、 价格低、 抗干扰性能好等特点 , 但是因其数据存贮容量和数 据处理能力都较低 , 所以通过通讯手段使它与 PC 机 相连 , 把所采集到的数据传送到 PC 机上进行数据处 理 , 以充分发挥两者各自的优势。本系统选 用 AT24C 系列串 行 EEPROM (电可
10、擦可编程只读存储器 以可靠地保存修改后的控制 参数。利用 8XC196系列单片机的 HSO. 1, H SI. 2/ HSO. 4模拟 EEPROM 的时 钟线 和 数据 线实 现和 EEPROM 的串行通信。与并行 EEPROM 相比 , 本 串行存储芯片引脚少 , 硬件设计简单 , 如图 2所示 :串行 EEPROM 通过时钟线和数据线的一连串脉冲 操作实现数据的读写 , 即使是在强干扰环境下 , 数据 被错误改写的可能性亦很少 , 比并行操作的非易失 性存储器件具有更高的可靠性。另外它还具有体积 小、 价格低、 工作范围宽、 可编写次数多和数据保存 时间长等优点。由于本系统不需要较大的容
11、量和较 快的存取速度 , 使用串行 EEPROM 就能完全满足系 统的需要。由于单片机 的 RXD 引脚和 TXD 引脚输入、 输 出电平是 TTL 电平 , 而 PC 机配置的是 RS -232-C 标 准串行口 , 二者的电气规范不一致 , 因此必须应用电 平转换器对单片机进行电平转换。转换电路采用标 准的 RS -232芯片 MAX233, 与以前常用的 TTL 与 RS -232电平转 换芯片 M Cl488和 M Cl489相 比 , 只 使用单一电源电压 Vss, 不需 ? 12V 电源。另外它将 M 图 2单片机与 A T 24XX 的硬件连接电路更为 简单 , 只需简单 的连线
12、 即可实 现 TTL 和 RS -232两种电平的转换。3PC 机调试程序应用 Visual Basic 可视化编程语言编制 , 结构如 图 3所示。图 3PC 机软件模块图3. 1程序初始化该模块主要完成检查通讯线路的连接状况 , 与 ECU 建立连接 , 并初始化串行口和程序界面。此时 如果与 ECU 建立连接不成功 , 程序将完成其它初始 化任务 , 一段时间后自动重新连接 , 并将连接结果通 知用户。3. 2串行口通信该模块完成从 ECU 中取出实时监测数 据或发 送优化后的控制参数。这部分是最关键的 , 只有实 现通信功能 , 并且保证通信过程中的数据正确 , 并将 数据有效的保存
13、, 分析才有意义可言。串行 口通信 部分 , 通过以下四个方面来介绍。3. 2. 1通信功能的实现对串 行 口 的 驱 动 采 用 VB 自 带 的 通 信 控 件 MSCom m, 该控件提供了功能完善的串口数 据接收 和发送功能且具有编程简单 , 通信速度快 , 传输可靠 的特点。本程序分为以下几个步骤 :# 25 #2004年第 5期 内 燃 机 工 程是建立与串行口的连接。通过设置 Com mPort 、 Por -tOpen 和 Setting 属性 , 来打开串行口。设置通信端口为 COM 1:M SComm1. CommPort=1设置通信波特率、 无奇偶校验、 8位数据位、 一
14、位 停止位 :M SComm1. Setting=/9600, N, 8, 10打开端口 :M SComm1. PortOpen=True (2 发送、 接收数据 :发送或接收数据实际上就 是对发送和接收缓冲区进行操作。接收和发送缓冲 区在端口打开后就被创建了 , 用来保存输入和输出 的数据。发送数据时 , 为了避免发送错误 , 在发送之 前先将输出缓冲区清空 , 再将数据发送到输出缓冲 区 , 如下列语句所示。清空输出缓冲区 :M SComm1. OutBufferCount=0将存放在二进制变量 SendBuffer 中的数据发送 出 :M SComm1. OutPut=SendBuffe
15、r接收数据就是把输入缓冲区的数据读出来。 将接收的数据存入二进制变量 Buffer 中 :Buffer=M SComm1. InPut (3 关闭端口 :M SComm1. PortOpen=False 3. 2. 2 数制的转换为了直观反映发动机的工作状况和单片机内数 制保持一致 , 采用十进制和十六进制两种数据形式 , 向单片机发送的数据用十六进制的 , 从单片机接收 的数据则用十进制和十六进制两种形式显示。通信 时由于输入和输出的数据都是 4位十六进制数 , 需 要 对该十六进 制数从高 位到低位 每两位 划分为一 组 , 并依次命名为 HighByte, Low Byte, 再将这两位
16、以 ASCII 码的形式发送出去 , 这样就难免会遇到要发 送或接收 128256之间的 ASCII 码 , 这在 VB 3. 0及 其 更 低 版 本中 , 按 常 规方 法 就 可 很 好 解 决 , 但 自 VB4. 0起 , 微软引入 U nicode 后 , 此问题就显得有些 麻烦。本系统通过定义一动态字符数组 , 解决了这 一问题。定义一动态二进制数组 :Dim SendBuffer( As Byte将输出的 OutByte 个十六进制字符转换为二进 制数发送出去 :For Counter=0To OutByteH igh Byte=M id(Brr(Counter , 1, 2
17、Low By te=Mid(Brr(Counter , 3, 2 将十六进制转换为十进制 :Send Buffer(0 =H ig hBy te Send Buffer (1 =LowByteMSComm 1. OutPut=SendBufferNex t Counter在接受单片机发送过来的数值时 , 同样 也会遇 到 ASCII 码大于 128的情形 , 若仍采用上述方法 , 问 题并不能得到解决。系统采用以下方法解决这一问 题。(1 定 义 一变 体 型变 量 和一 字节 型 数组 并 将 MSCom m 控件输入模式定为二进制模式 :Dim Buffer As VariantDim A
18、rr1(0To 10 As ByteMSComm1. InputMode=ComInputModeBinary (2 将输入缓冲区的所接收到的数据转存入变 体型变量中 :MSComm 1. InputLen=InBy te Buffer=MSCom m1. InPut(3 将变体变量的内容分解为字节型数值存入 所定义的字节型数组 , 以供后继处理 :For K=0To InByte-1Arr1(K =Buffer(K Nex t K3. 2. 3 通信中的数据同步在异步串行通信中 , 除了应保证通信双 方的波 特率一致外 , 为了能够连续成批地传送数据 , 还应保 证数据帧同 步 (每一帧 数
19、据位数 由 Setting 属性 定 义 , 以免数据到达端口的速度太快 , 通信设备来不 及将数据移入接受缓冲区 , 造成数据缓冲区溢出而 导致数据丢失。实现数据同步有两种方法 :软件方 法、 硬件方法。本应用程序软件方法是发送 方采取 一定的延时 , 在发送一组数据后 , 接收方回答一个数 据信号。该 数据信号 既可表示 是否正确 接收到 数 据 , 又可起到同步作用。发送一个字符串 :MSComm 1. OutPut=Arr等待对方发送 /OK 0信号 , 并且至少延时 0. 02s Sg lCounter 为 Single 型变量 ; T imer 为 VB 自带 函数 :Sg lCo
20、unter=Timer+0. 02等到收到 2个字符或超时为止 :Do U ntil T imer >Sg lCounter AND MSCom m1. InBufferCounter>=2DoEvents Loop判断如果是 /OK 0, 信号清空接受缓冲区等待下 , #26#内 燃 机 工 程 2004年第 5期3. 2. 4通信中的错误预防在传输过程当中 , 数据有可能受到环境的干扰 而使得原来的数据信号失真 , 为了侦测数据在传送 过程中发生的错误 , 传送与接收双方必须对数据作 进一步的确认工作 , 其中比较简单的方式之一就是 使 用 CheckSum 校 验码。 Che
21、ckSum 校验码 的方法 就是将所有传送字符的 ASCII 码作加和计算 , 计算 总和后将总数目与 255作相除 , 取其余数并将此余 数组合成传送字符串的一部分传送出去 ; 接收数据 的一方将传送过来的字符串作相同的处理 , 并与传 送方所传送过来余数作比较 , 若其值一样 , 则说明传 送过来的的字符串是正确的 , 反之则是错误的。此 外 , 在每组数据的头尾分别加上了两个判断字符 , 接 收方根据这组数据头尾字符是否和发送方的字符相 同 , 来判断传输过来的数据正确与否。如果以上两 种检验方式都是正确的 , 则传送字符串是正确的 ; 否 则是错误的。3. 3保存数据为了对 ECU 控
22、制系统在试验后进行离线分析 , 对控制系统进行优化 , 本应用程序对通信数据进行 了存储。本应用程序使用的是 VB 最新引进的特性 文件 系统 对象 模型 (file system object model, 简称 FSO 。它提供了 Object. M ethed 的语法支 持 , 并且 提供了非常丰富的属性、 方法和事件。使原来的 VB 文件系统操作更加方便有效。获得一个 FSO 对象实例 :SetfsoMe =CreateObject (0scripting. filesyste -mobject 0得到一个文本流对象实例 :Set tx tfile =fsoMe. CreateText
23、File (0E:& T ex t2. Tex t, True 0对文本流对象进行操作 , 写入数据 :tx tfile. WriteBlankLines (1 .写入一个空行 :tx tfile. Write (NumChang(i &Space(22 操作完成后 , 将文本流关闭 :tx tfile. Close3. 4模拟试验模拟试验是测试本文所介绍的调试系统工作的 可靠性。试验系统是在调试系统的基础上外接作为 输入模拟信号装置的模拟器 , 和作为输出装置的步 进电机 (燃气节流控制阀 , 整个系统使用 12V 直流 稳压电源供电。模拟试验分接收和发送两个过程。 (1 接收时 , 调节输入信号的各模拟器 , 可以看 到与其相应的接收文本框内数据连续动态的变化 , 同 时在图形显示区实时显示 状态参数动态变化曲 线 , 其间观察步进电机节流阀阀芯相应伸缩改变了 进气道截面积。(2 发送时 , 在发送文本框内输入需要修改的控 制参数值 , 其下面的接收文本框内显示单片机返回 的数据用来判断传输的数据是否正确。图 4系统显示窗体由图 4可以看出 :图像框内的状态参数 曲线随 相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际货物交易合同标准2篇
- 2024年农村房产交易合同3篇
- 2024年企业车辆租赁与服务合同范本
- 2024年建筑工程专属担保条款合同书版B版
- 2024年度精密部件订货协议书版B版
- 护理仪容仪表培训
- 2024年度车间设备租赁协议范本版
- 2024年地铁车站脚手架安装安全协议3篇
- 2024年度设计师岗位劳动协议版B版
- 情商与护理工作
- 英语语言学知识整理
- 水利水电建设工程蓄水安全鉴定和竣工验收技术鉴定导则
- 曼昆《经济学原理》(微观)第五版测试题库 (17)
- Everybody歌词
- (完整word版)PT100温度传感器三根芯线的接法
- 重力式桥台计算程序表格
- ETDRS视力记录表
- 玻璃幕墙工程技术规范与应用
- 三级医师查房登记本(共3页)
- 全国医疗服务价格项目规范(2012版)
- 乌鲁木齐市律师服务收费指导标准
评论
0/150
提交评论