面向嵌入式系统的汽车故障诊断仪设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向嵌入式系统的汽车故障诊断仪设计与实现
李晓杰
【摘要】为了全面提升汽车电子系统的安全性与可靠性,提出了一种面向嵌入式系统的汽车故障诊断仪.对国内外汽车诊断的发展现状及技术特点进行调研,根据市场
的实际需求提出面向嵌入式汽车故障诊断仪的设计方案.在此基础上,对系统硬件设
计方案进行介绍,对硬件系统的3个主要电路模块进行阐述.对Linux系统的软件开发环境进行详细介绍,最终完成了面向嵌入式系统的汽车故障诊断仪设计与实现.【期刊名称】《微型电脑应用》
【年(卷),期】2019(035)001
【总页数】3页(P132-134)
【关键词】嵌入式;汽车故障诊断;Linux技术;ARM
【作者】李晓杰
【作者单位】烟台汽车工程职业学院车辆运用工程系,烟台265500
【正文语种】中文
【中图分类】U472.9
0 引言
目前汽车技术行业发展速度越来越快,针对客观因素和主观因素的影响,其可靠性、安全性也随驾驶里程的增加而急速下降,汽车故障的维修问题难度也越来越大。

目前,对汽车故障诊断的方法较为繁多,例如万用表诊断、人工检查、示波器诊断等
[1]。

随着汽车电子诊断技术的发展与应用,电控系统变得越来越复杂,ECU被广泛采用,所以本文在此基础上面向嵌入式系统对汽车故障进行诊断。

1 嵌入式系统的主要特征
嵌入式系统一般在特定的应用中进行使用,功耗低、集成度高、体积小,能够把所需完成的任务直接集成到芯片中。

嵌入式系统主要把计算机技术、电子技术、半导体技术等结合在一起,不断创新知识集成系统。

一定要精心设计嵌入式系统的硬件与软件系统,尽量在最小的面积上实现更多的性能,软件一般会固化在存储器芯片或者单片机本身中。

嵌入式系统自身并不具备自主开发的能力,一定要与计算机系统相连接才能进行开发与更改。

2 诊断仪的设计方案
本文设计的诊断仪主要目的是为了节约诊断的成本和人力资源,从而提高诊断效率,所以应该满足以下几种特性:1)通用性;2)便携性;3)易用性;4)扩展性。

为了充分体现出诊断仪的所有特性,本次设计核心处理器选择ARM嵌入式微处理器,该处理器具有低电压、低功耗与低集成度的优点,通过OBD-Ⅱ系统对诊断仪硬件进行设计,Linux作为软件设计提供了稳定性较高的工作环境。

综上所述,将该诊断仪系统分为3个模块,协议转换接口电路作为前端,无线传输电路作为后端来发
送故障信息到远端。

由S3C2410X作为CPU核心芯片主控CPU完成接受到的数
据的处理、扩展按键、显示、实现人机交互,从而给出如下所示的总体框图如图1所示。

图1 故障诊断仪总体框图
3 硬件系统设计
3.1 协议转换接口电路
在对电路接口进行设计时,需要完成以下数据链路层操作:网络中信号格式的转换、报文的拆解帧以及对差错的控制。

所以选择TL718芯片作为协议转换芯片进行接口单元设计,主要作用是实现数据
链路层的各种工作。

TL718芯片是一款专用协议转换芯片,能够支持多种通信协
议并且可以对通信协议进行自动匹配,与此同时,需要添加外围电路,TL718芯
片的使用对环境没有具体要求,工作命令包括内部命令与OBD命令。

当发送以
16进制数开头的ASCII码的指令时,TL718会认为是OBD命令,会将成对的ASCII码16进制数转换成单个字节向汽车电脑数据总线发送。

在命令发送之后,
如果能够接收到信息而且地质吻合,那么TL718会通过RS232把数据发送到远端。

反之忽略该信息。

在等待时间结束之前没有收到匹配地址数据,TL71 8将发送“NO DATA”指令,反之则复位时间,继续等待到等待时间溢出为止[2]。

TL718的接口电路图如图2所示。

图2 TL718接口电路图
3.2 CAN协议转换接口电路
TL718的芯片内部会集成CAN控制器, 需要在外部搭配一个CAN收发器来完成
对CAN报文的收发。

CAN总线是由两个或两个以上的CAN节点并联在一起的通信网络,具有抗电磁干扰性强、高位速率通信距离远、检测通信错误的特点[4]。

在汽车电子、自动控制中有很强的应用。

本文选用MCP2551芯片作为CAN收发器,该芯片具有高速差分收发、可设置三种工作模式、热关断等优点,但存在静态电流大的不足[3]。

CAN收发器引脚功能说明如表1所示。

表1 MCP2551引脚说明引脚编号引脚名称引脚功能1TXD发送器数据输入2Vss
接地3VDD提供电压4RXD接收器数据输出5VREF参考输出电压6CANLCAN低电压I/O7CANHCAN高电压I/O8RS斜率控制输入
3.3 控制处理硬件电路
3.3.1 存储器
嵌入式系统的存储器大致可以分为SDRAM与FLASH两种:1)SDRAM存储器,在
嵌入式系统中经常用作内存,其优点是单位空间存储容量大且价格低廉;
2)FLASH存储器,是一种可电擦写存储器,在掉电时信息不会丢失,通过内部嵌
入算法对芯片进行操作,其优点在于低功耗、容量大、擦写速度快。

3.3.2 按键模块
该诊断仪设计了4个按键功能:k1表示读取故障代码、k2表示查询汽车基本信息、k3表示清除OBD-II故障代码、k4表示发送诊断仪中信息到远端计算机。

按键驱动的流程图如图3所示。

图3 按键驱动的流程图
首先初始化,再等待按键,然后进入中断处理,等待延时,判断是否处于按下状态,最后确认按键事件发生。

键盘键值功能如表2:
表2 键盘键值功能表按键号健值功能K11诊断K22查询K33复位K44发送
3.3.3串行接口
UART(通用异步收发器)被广泛应用到串行数据传输中。

串行通信一般采用异步通
信来完成串行通信功能。

串口只需要RXD、TXD和GND即可。

本文使用
MAX3232进行RS232C信号和S3C410X系统的TTL电路信号的电平转换。

串口电平转换电路如图4所示。

图4 串口电平转换电路
3.4 无线传输模块
本文采用GPRS(通用无线分组业务)进行远程无线传输技术,该技术能够实现数据
的远程传输, GPRS具有高效、成本低的优点,而且覆盖范围广,即在有手机信号
的地方都可以使用GPRS,在小数量的数据传输中有很广泛的应用[5]。

4 嵌入式系统
4.1 嵌入式操作系统
嵌入式系统是一种以应用为中心的计算机系统, 具有灵活性强、可靠性高、成本低、
体积小、易移植性、低功耗等特点。

嵌入式Linux系统软件被划分为四层:引导
加载程序、内核、文件系统、用户应用程序。

嵌入式操作系统主要对智能芯片进行操作并且可以对各种部件的装置进行统一调控。

嵌入式软件的开发,通常选用宿主机(PC机)和目标机将开发环境和目标运行环境分离。

本文在宿主机上运行的交叉
开发软件是基于ARM920T的S3C2410X的ARM交叉编译器[6]。

4.2 嵌入式Linux移植
嵌入式Linux的移植主要分为Bootloader、Linux内核以及文件系统的移植三种。

1)Bootloader具备初始化处理器、初始化必要硬件、设置处理器的寄存器以及内存、从特定位置把操作系统和文件系统调入内存的功能。

在启动模式的第一个阶段完成硬件设备初始化;第二阶段会对硬件设备进行初始化并且对内存进行诊断,将文件系统从FLASH读到RAM中、为内核进行参数设置、调用内核文件运行五项
任务。

2)Linux内核移植具有成本低、开发前景好、容易获得开发工具的优点,其移植过程分为四步:Linux源代码的获取、Linux内核源代码的修改、内核生成内核映像文件的交叉编译、内核映像到目标平台的烧写。

3)文件系统是操作系统用于明确磁盘或分区上文件组织的方法,在构建时一定要注意文件系统类型和内容的
选择。

4.3 嵌入式Linux驱动程序设计
通过驱动软件来对设备的行为进行控制,设备驱动是硬件与内核之间的桥梁,所以需要对程序设计工作进行简化。

Linux操作系统下的设备分为块设备、字符设备、网络接口三种类型。

程序的驱动需要对设备进行初始化与释放,将数据进行读取并且传送到相应硬件,对错误进行诊断并且处理。

Linux驱动程序主要被换分为自动配置和初始化子程序、对I/O请求的子程序进行服务以及中断服务子程三部分[7]。

一般Linux驱动程序主要用来中断处理以及系统调用。

5 诊断仪软件设计
关于汽车故障诊断仪软件的设计主要包括设计应用程序以及硬件驱动。

当诊断仪通电之后,进行装置初始化,判断用户的等待按键,当接收到用户按键之后,执行相应的命令。

诊断仪开机之后会连接OBD-Ⅱ,通过while(1)等待按键, 一旦检测到按键, 程序会向总线发起初始化命令,通过中断号来确定用户所按下的键,最后输入相应代码执行。

诊断仪工作流程图如图5所示:
图5 诊断仪工作流程图
6 总结
本文对国内外汽车故障诊断的研发现状进行分析,在汽车故障诊断仪设计过程中引进当前比较热门的嵌入式技术,设计了一种基于嵌入式Linux汽车故障诊断仪。

在未来的社会发展过程中,嵌入式系统会被广泛应用到多个领域,小到掌上数字产品,大到汽车、航天飞机。

本文完成了如下几项工作:
(1)根据课题背景,提出了故障诊断仪的设计方案;
(2)结合设计方案,对核心处理器进行选择并对外围电路进行扩展,完成了故障诊断仪的硬件电路设计。

(3)对故障诊断仪的软硬件进行了仿真调试。

在汽车制造领域中汽车故障诊断是一个热门课题,本文从协议转换、控制处理、远程传输三个模块对故障诊断仪进行设计,并综合远程通讯技术嵌入式Linux开发环境,设计实现了便携式故障诊断仪,对于提升汽车故障诊断与维修领域具有促进作用。

参考文献
【相关文献】
[1] 黄伟.基于ARM嵌入式系统和GPRS无线通讯技术的新型汽车故障诊断仪的实现[J].电子制作,2014,5(15):13.
[2] 黄智宇,苏小龙,李锐.通用型汽车故障诊断仪在iOS平台上的设计[J].计算机应用与软
件,2016(6):96-98.
[3] 王冬良,闵永军.电控发动机故障数据流的关联特性分析与诊断优化[J].农业装备与车辆工程,2013(12):56-60.
[4] 段秀丽.汽车故障诊断仪与电控单元的通信软件开发[J].吉林广播电视大学学报,2013-09-15.
[5] 白光泽,邢燕.汽车故障诊断仪硬件系统的设计与实现[J].职业,2015(12):150-151.
[6] 封宇华,杨拥民,杜凯,等.汽车驾驶行为与行驶状态的数据监测系统设计[J].单片机与嵌入式系统应用,2015(12):54-57.
[7] 王金金.利用故障诊断仪对发动机电子控制系统进行故障诊断[J].安徽冶金科技职业学院学报,2013(2):33-35.。

相关文档
最新文档