热门关键词:

基于通信协议的汽车发动机测速系统

  • 该文件为pdf格式
  • 文件大小:377.95KB
  • 浏览次数
  • 发布时间:2014-09-25
文件介绍:

本资料包含pdf文件1个,下载需要1积分

interaction,OSI)基本参考模型l6],但只定义OSI参考模型的物理层 、数据链路层和应用层这 3个子层。

1.2.1 物理层KWP2000物理层遵循 ISO 9141-2中物理层的规定 ],可以提供12 v或24 V电压。它规定车辆可采用汽车诊断连接头中的单通信数据线(仅有 K线)或双通信数据线(K线和 L线)方式连接至外围诊断工具。

K线为双向数据线。用于通信和初始化,采用-根信号线完成半双工异步通信 ;L线为单向数据线 ,仅用于初始化,在除初始化以外的其他时间里总是处于逻辑1”的空闲状态。KWP物理层的信号电平和容差范围如图 1所示图 1 信 号电平和 容差范围示意图Fig.1 Signal level and the tolerance rangeISO 9141-2规范使用标准的不归零编码(non。

retum.to.zero,NRZ)作为传输格式,当总线处于逻辑1”状态时,图1中的信号电平保持为高电平,不会出现回零负跳变。当总线处于逻辑1”状态时必须满足输出电平不低于电源电压 的80%,输入电平不低于的70%;逻辑0”状态时必须满足输出电平不高于的20%,输入电平不低于 的30%。

当ECU处于逻辑1”状态时,其 K线和地之间存在-个相对地的电阻,其阻值约为50 kn:当ECU处于逻辑0”状态时,其 K线和地之间也存在-个相对地的电阻,其阻值不超过 110 Q。外部设备若与 ECU通信,总线需设置阻值为510 Q的上拉电阻,芭在外围诊断设备或测量设备内部。

1.2.2 数据链路层① 传输字节格式数据传送时每字节低位在前,每个字节由起始位、8位数据位、停止位组成,没有奇偶校验位,通信《自动化仪表》第34卷第5期 2013年5月波特率为 10.4 kbit/s。

② 数据帧格式KWP2000协议的消息由消息头、数据字节和校验和这 3部分组成,其结构如图2所示。

消息头 数据字节 校验和Fmt l Tgtl s rcl I enl s I.I Datai l. CS最多4B 最多255B l B图 2 KWP2000数据帧 结构Fig.2 Data frame structure of KWP2000 protocol图2中。Fmt代表帧头 ,Tgt代表 ECU的物理地址或功能地址 ,Src代表诊断测量设备的物理地址,Len代表数据字节长度,Datai代表传输的数据,Sid代表服务标志符,cs代表累加求和校验值 ],上标 1表示该字节是由返回关键字决定的可选字节,上标 2表示该部分字节长度是可由帧头 Fmt或数据字节长度 Len设定。

③ 定时间参数的约定数据报和数据字节之间有着严格的定时参数约定6],数据流的-般定时参数约定如图3所示。

图3 -般定时参数约定示意图Fig.3 General timing parameters图3中,P 代表响应帧字节间的定时参数,P 代表请求帧与响应咒的定时参数,P 代表响应帧与请求咒的定时参数, 代表请求帧字节间的定时参数。

④ ECU的激活方式ECU有快速激活和 5 Baud激活两种激活方式。

由于 5 Baud激活需要延时 2 S以上 ,速度较慢,因此,- 般采用快速激活方式,具体如图4所示。

7 d>t300ms ≥25ms--] 兰踅 !厂--] 塑塑垒图4 快速 激活方式定时示意图Fig.4 Timing of fast acdvation method1.2.3 应用层应用层主要是规定扫描工具以何种数据报格式请求通信服务 ,同时 ECU以何种报文格式响应。

KWP2000协议中,不同通信服务功能通过数据帧中第- 字节的服务标志符 Sid来表示。通信服务主要分为27基于通信协议的汽车发动机测速系统 罗洪波两大拈:通信拈和诊断拈。通信拈包括通信管理、数据传送、上传/下载这3个功能。通信管理在数据链路层已作说明,数据传送服务功能单元主要用来读取数据记录,访问存储器。常用的通信服务请求及响应消息定义如表 1所示。

表 1 常用通信服务标志符Tab.1 Common identifier of communication services2 测速系统设计2.1 系统方案设计发动机测速系统根据功能需求 ,主要分为电源模块、显示拈、通信接 口拈、指示拈 、按键拈 、单片机最小系统拈和 ISP编程拈,其具体实现框图如图5所示lsP编程口F- 通信接 电源拈电源指示单片机 -t数码管显示按钮 .-通信指示图 5 发动机测速 系统框 图Fig.5 Block diagram of engine speed measuring system简易汽车发动机测速系统需要具备的特点是体积孝成本低、测速方便、易于扩展。因此,选用低成本5l单片机作为测速系统的控制核心。MCS-51系列在我国使用广泛且能够兼容的外围芯片较多,其典型产品 AT89S52单片机具 有较 高的性 能价格 比8]。

AT89S52采用 CMOS工艺制作 ,是 80C51的增强型并且指令完全兼容。由于发动机 ECU总线接口采用的电平形式为特定的K线电平,而单片机支持的电平形式为1YrL电平.为了与ECU电平兼容,需要设计相应的通信接口拈进行电平转换和通信方式转换。发动机转速测量值采用高亮度数码管来显示,并以相应的指示灯进行电源上电指示和通信状态辅助指示。由于测速系统功耗很低 ,因此可以通过总线接 12中的电源线从汽车蓄电池窃电,汽车蓄电池电压-般为12 V,而单片机的工作电压为5 v,可以通过 12 V/5 V的直流电源适配拈实现电压变换。为了实现在应用中不拔插单片机就能实现程序的下载。系统编程接口采用在系统中编程(in system programming,ISP)方式来实现。

2.2 通信接口设计K线有与单片机通信 的专用接 12芯片 ],如MC33290、L9637、MC33190。由于专用芯片购买 比较困难,价格也比较高,因此需自行设计通信接口拈来实现电平变换。通信接口拈的主要功能是通过4个NPN型三极管实现 K线电平和单片机 1TrL电平的转换l9j。具体实现电路如图6所示。

图 6 通 信 接 口模 块 电路 图Fig.6 Circuit of the communication interface module由于 K线在数据链路层上的通信数据格式(1位起始位 、8位数据位、1位停止位)和 51单片机串行通信接口的数据格式完全兼容,因此单片机串行通信接口可采用AT89S52的UART串行通信接口实现。

3 软件实现通信拈是测速系统中最关键的-个拈。通信拈需要完成通信初始化、ECU唤醒 、开始通信帧发送、数据传输通信帧发送、停止通信帧发送、响应钟收和转速计算以及相应的错误处理和通信指示功能。

通信初始化主要是对串口进行-些通信设置工作和-些现场保护工作。通信初始化首先需进行串口波特率的设置 ,根据通信链路数据格式的需求 ,串口工作方式选择为方式 1(10位异步收发),波特率采用由定时器 1控制方式 ,波特率为 10.4 kbit/s,单片机晶振.厂n 为 6 MHz。同时,将电源控制寄存器 PCON最高位SMOD置1,使得波特率增倍。串口波特率产生方式设置为工作模式2(自动重装入8位计数值),定时器 1计数值 可以通过下式计算得到:X256- 253 ㈩ (1)式中: 为 SMOD; 为晶振频率;B为串口所设置的波特率。

28 PROCESS AUTOMATION INSTRUMENTATION Vo1.34 No·5 May 2013基于通信协议的汽车发动机测速系统 罗洪波串行通信接口必须能工作在普通 I/O口模式和串行通信接口模式两种接口模式。激活模式要求串口通信接口中的TXD必须设置为I/O模式.通过直接对I/O的操作,输出激活时序(快速激活方式或5 Baud激活方式),然后将串行 口配置为异步通信模式,等待接收§速激活方式采用先延时 300 ms并从 TXD输出高电平 ,然后输出25 ms低电平,再输出25 ms高电平,延时采用软件精确延时的方式。5 Baud激活采用延时的方式 ,以每隔200 ms发送-个位的方式发送功能数据 33H,具 体 做 法 是 按 200 ms延 时,依 次 发送 0110011001H。

终止通信数据帧的服务标志符 Sid82H,则终止通信数据帧为c1 33 Fl 82 67。如果能正确终止通信,则发出正响应帧,其格式为8l F1 ECUid C2 CS;否则 ,返回负响应帧,其格式为 83 F1 ECUid 7F ERRcode 82 CS。

( 塑竺些 )- - - - - -主------快速唤醒ECU I二二工二二发送开始通信数据帧 l二二二工二延时20ms l二二 二调用接收子程序 l- - - - - - - - J< 解码数据帧 l获取关键字 l二二二 二延时55ms l二二二l二二二二发送数据传送请求帧 l二二二二王二二延时20ms l二二]E二调用接收子程序 l解码数据帧获取SpeedCode二二二 二 延时55ms二工二二 发送结束通信数据帧二二二工二二 延时20ms二二工二二二调用接收子程序- - - - - - 通信正常指示计算并显示转速二二巨 恢复现场- - - - - r-故障指示图 7 通信服务程序框 图Fig.7 Block diagram of the communication service routine开始通信数据帧的服务标志符 Sid81H。采用 3 B的头数据帧,地址方式为功能地址.开始通信数据帧(采用十六进制)为c1 33 F1 81 66。若ECU已经成功激活且开始通信命令正确,ECU则会发出正响应帧,其格式为 8l F1 ECUid C1 KeyWord(2 B)CS。其中ECUid为 ECU物理地址 ,KeyWod为通信参数关键字 ,cs为累加校验和。如果开始通信命令错误或 ECU正忙 ,则 发 出 负 响应 帧 ,其格 式 为 83 F1 ECUid 7FERRcode 81 CS,其中ERRCode为错误类型代码。

《自动化仪表》第34卷第5期 2013年5月在怠速状态下,数据通信采用输入输出方式测量发动机转速,服务标志符 Sid:30H.则通信数据帧为c3 33 F1 30 32 01 4A。如果通信正常,ECU发出正响应帧,其格式为84 F1 ECUid 70 32 01 SpeedCode CS,其中SpeedCode代表发动机转速字节码;若发送命令错误或 ECU正忙,则发出负响应帧.其格式为 83 FlECUid 7F 30 ERRcode CS。转速 n的计算公式为:n:10S (2)式中:s为将 SpeedCode转换为十进制对应的数值。

4 系统调试与验证测速系统的调试与验证通过对汽车发动机怠速状态下最优怠速转速进行测量和调整实现。亚欧系汽车提供的汽车故障诊断测试接I1 OBD.I,-般都通过 K线和KWP2000通信协议进行汽车发动机及其他部件的故障检测~发动机测速系统通过 K线连接发动机ECU,并通过ODB.Ⅱ中的蓄电池电源给测速系统供电。测速系统插上诊断测试接口后 。测速系统发出激活时序和开始通信命令,发动机 ECU发 出正响应 ,返回通信关键字;测速系统根据关键字完成通信系统参数设定,同时点亮绿色通信指示灯,表明系统已经连接上发动机 ECU。发动机 ECU和测速系统建立通信之后,则启动汽车发动机,并将其调整到怠速状态,此时数码管立即显示怠速状态下的转速 .并通过手动调整风门开度的大型怠速供油量等方式来调整怠速转速高低 ,直到调整到发动机不抖动时的最低转速。此时的转速为最佳怠速转速。如果通信传输故障或 ECU发出负响应,则通信故障指示红灯亮:如果通信过程中没有数据响应,则数码管全显示 0.绿灯和红灯都不亮5 结束语系统可以通过特定的接口与汽车 ECU进行通信,可以方便地进行汽车故障诊断,实时地监测汽车的工作状况如测量发动机的转速 。并可以通过特定的命令帧来控制汽车发动机的运转如调整怠速状态下发动机转速等。

由于时间限制,本系统只能测量转速,且只支持KWP2000协议,测速方式也只支持怠速状态。后续工作还可以通过程序发送其他类型的请求帧,进而支持多种方式测取转速;同时可以对系统加以改进,使其不仅能测速,还能进行转速控制。为了提高系统的通用性,还可以设计多通信接口方式,使其支持OBDI所有(下转第33页)29硅钼棒电阻炉温度控制系统的设计 邱秀金 ,等要求和设备的实际情况,可以设置 PID比例带、PID微分时间、PID积分时间和PID限幅等高级参数.确保硅钼棒炉温度控制的响应速度更快、控制精度更高。热电偶选择与安装可

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败