学者谷

位置:首页 > 行业范文 > 爱车

基于CAN总线的汽车检测系统的设计论文

爱车1.44W

摘要:

基于CAN总线的汽车检测系统的设计论文

为解决当前汽车检测系统功能较单一,偏重局部检测等不足,设计基于CAN总线的汽车检测系统。系统由数据采集器、CAN网关、控制终端和PC机组成。数据采集器可设置多达256个检测点,可同时检测汽车的发动机的有关信息,尾气排放浓度、油缸压力、轮胎气压等汽车数据。可更加全面的检测汽车的性能,为维护保养和故障诊断提供可靠的信息。

1引言

随着我国汽车保有量的增加,汽车的维护保养和故障诊断也面临严峻的挑战。现行的检测系统偏向于局部检测,功能比较单一,检测成本较高,检测时间较长。为了克服现行检测系统的不足,利用CAN总线,将汽车上的每个数据检测点设计成一个CAN节点,并结合软PLC的设计思想,设计出功能更加全面的汽车检测系统。

2系统的硬件设计

检测系统的硬件主要包括传感器探头节点,导线,链接器,控制及编程终端等。系统结构如图1所示,传感器探头节点就是系统的感官部件,通过它检测汽车的水温、油温、压力、速度、尾气浓度等汽车数据。其上的CAN总线控制器将这些数据通过CAN网络传送给控制终端。导线和链接器,构成了一个完整的CAN网络。控制终端为每个探头节点分配一个节点号,编程时通过节点号就可得到各节点参数。终端上的控制接口分为数字电压信号接口,开关信号接口两种控制接口,方便控制电磁阀、继电器等控制元件,拓宽了系统的控制方法。

2.1传感器探头节点

探头节点负责汽车有关数据的收集并将这些数据通过CAN总线发送到网络上。它的主要部件是STC89LE516AD单片机、传感器、CAN控制器SJA1000和LCD显示器。单片机通过AD采集探头上各传感器数据,将数据打包发送到CAN网络上,在CAN网络中,每个节点对应着唯一的节点号。单片机在打包数据的时候将节点号标志在数据包中。

其功能结构如图2所示。

传感器前端电路

10bit A/DSTC89LE516ADLCD显示及键盘电路串行通信CANNET数据电压信号SJA1000控制器图2探头节点结构简图2.2 CAN网络架构CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。控制系统的CAN网络是由SJA1000 CAN控制器组建,SJA1000在完全兼容PCA82C200的基础上,增加了一种新的工作模式PeliCAN,速率能达到1Mbit/s。

网络的物理层连接图如图3所示。

CAN控制器

光电隔离CAN收发器CAN控制器光电隔离CAN收发器CAN控制器光电隔离CAN收发器图3网络物理层连接图2.3控制及编程终端系统的控制及编程终端由控制终端,PC机和系统编程软件组成。控制终端有CAN网络终端,各种控制接口和与PC机的编程调试接口。控制终端的主控芯片为PHILIPS的LPC2142单片机,电路结构如图4所示。外围连接8通道10位D/A,转换器提供8路数字电压控制端口。另外通过可控硅提供16路开关电路接口。数字电压控制需要根据控制设备设计相应的控制电路才能达到控制设备的目的。

16路可控硅开关电路

LPC2142PC机SJA1000控制器8路D/A转换数字器数字CANNET数字JTAG编程接口串行通讯图4控制终端电路结构

3系统的软件设计

3.1传感器探头节点软件设计

传感器探头节点软件设计主要是设计基于STC89LE516AD单片机的嵌入式程序,程序框图如图5所示。单片机开机初始化后判断是否需要进入设定程序,设定程序可以设定节点在网络中的节点号、检测参数的种类等。设定完成后进入循环检测阶段,单片机通过AD不断采集传感器信号,换算成相应的温度,压力、尾气浓度等参数,实时显示在LCD显示器上,并定时通过CAN网络发送到控制终端上。

3.2控制终端软件设计

根据软PLC的设计思想,控制终端的程序是由PC机上的编译软件编译出来的,再通过JTAG下载到LPC2142中,主要负责CAN网络数据包的接收、汽车数据的取得、控制参数的运算、控制行为的发出。因此其软件设计采用模块化的设计思想,将程序分为初始化模块、通讯模块、运算模块、执行模块。各个模块都有各自的程序接口和共享的数据区,实现程序的独立和融合。

初始化模块负责控制器当前程序用到的各资源的初始化,分配各控制参数的缓存和映射,为程序的运行做准备。通讯模块负责CAN网络的数据接收和控制终端与PC机之间的通讯,实现数据存储并为上位机监控提供通讯。运算模块是控制程序的`关键,它负责参数的运算和控制信号的产生并存储到数据区,是系统控制的核心。执行模块是将数据区的执行参数实时映射到相应的I/O口和设备上,实现控制设备的目的。

3.3系统编程及监控软件

系统的编程参考PLC编程软件风格,和PLC编程方法一样采用梯形图语言编程。监控软件通过串行通讯实时接收到控制终端发送的状态数据,并通过软件直观的显示出系统的运行状态。编程和监控软件都采用Visual C++编程,实现梯形图向C语言的转换,在利用KEIL C for ARM工具,将C语言编译成目标代码,下载到控制终端。

4结论

基于CAN总线的汽车检测系统解决了传统检测系统功能单一等不足,综合检测汽车各种参数,较全面的检测汽车性能和隐患。同时采用软PLC技术,使控制程序的编写更加容易,具有稳定可靠,实施快捷,易于扩展的优点,具有较大的潜力。

参考文献

1吴中俊,黄永红.可编程序控制器原理及应用[M].机械工业出版社,2005.(4).

2饶运涛,诌继军,郑勇芸.现场总线CAN原理与应用技术[M].北京航空航天大学出版社,2003.

3邬宽明 2.0B新控制器─SJA1000(J).工业控制计算机,2008,(1):58~59.

4 LPC2141/42 User Manual(preliminary release)[EB]Philips Semiconductors,2004.

5李道霖.电气控制与PLC原理及应用[M].电气工业出版社,2004.(3).