基于CAN总线的汽车仪表设计
60页 22000字数+说明书+任务书+开题报告+电路图【详情如下】
MyDesign1.ddb
任务书.doc
基于CAN总线的汽车仪表设计开题报告.doc
基于CAN总线的汽车仪表设计说明书.doc
开题报告封皮.doc
汽车仪表(1).vi
答辩相关材料.doc
设计说明书封皮.doc
过程管理封皮.doc
题目审定表.doc


摘 要
本设计致力于汽车CAN总线仪表系统的研究,深入讨论了系统的设计思想与实现方法,实现了在LabVIEW开发平台上建立基于CAN总线的虚拟仪表系统。
整个设计分为硬件系统和软件系统两部分。其中硬件系统是以飞思卡尔公司的MC9S12XS128 作为微处理器的核心。软件系统是利用C 语言编写程序实现两个CAN节点之间的通讯以及利用LABVIEW编程实现单片机与虚拟仪表之间的通讯。
系统首先构建了一个由两个CAN节点组成的最简单的CAN网络。对两个节点进行软件设计后,来实现相互之间的通讯和数据收发,同时在汽车的CAN 应用层协议基础上,上位机节点对接收的CAN报文进行处理,得到虚拟仪表各控件所对应的数据。其中,基于LabVIEW的虚拟仪表系统开发和单片机的C语言编程是本设计的重点和难点。
关键词:CAN总线;汽车仪表;LabVIEW;C语言;单片机
ABSTRACT
This paper researches automotive instrument based on CAN bus, deeply discusses the idea and the method of system design and brings forward the approach of design the automotive emulational virtual instrument system on the platform of LabVIEW software.
The whole design of hardware system and software system is divided into two parts. One of the hardware system is the MC9S12XS128 as freescale's company core microprocessor. A software system is using written in C language program realization of the communication between two CAN node using G language preparation and MCU and virtual instrument LABVIEW realization of the communication between.
To construct a system first composed by two CAN node of the most simple CAN network. Two nodes software design, to realize mutual communication and data transceiver, meanwhile in automobile CAN application-layer protocol basis, PC node to receive message processing, CAN get virtual instrument corresponding each control the data. Among them, the LabVIEW virtual instrument based on SCM system development and the C programming language is the design of the key and difficult.
Key words: CAN Bus;Automotive Instrument;LabVIEW;C Language;SCM
目录
摘要Ⅰ
AbstractⅡ
第1章 绪论1
1.1课题研究的目的和意义1
1.2汽车仪表的发展2
1.3 CAN总线技术推动汽车仪表的升级换代2
1.4研究的基本内容3
第2章 CAN总线原理5
2.1汽车总线5
2.2 CAN总线5
2.2.1 CAN总线简介5
2.2.2 CAN总线基本特点7
2.2.3 CAN总线通讯介质访问控制方式7
2.2.4 CAN总线的物理层设计8
2.2.5 CAN应用软件设计原则8
2.3汽车的其他总线8
2.3.1 LIN总线简介8
2.3.2 FLEXRAY总线简介9
2.3.3 MOST总线简介10
2.3.4汽车总线比较11
2.4汽车通讯协议11
2.4.1 SAE J1939通讯协议11
2.4.2 CAN总线协议12
2.5本章小结15
第3章 汽车智能仪表系统的硬件设计16
3.1硬件系统的组成16
3.2微处理器的选择17
3.3微处理器的介绍17
3.4 MSCAN总线模块18
3.5 CAN总线节点的搭建21
3.6串行接口电路的设计22
3.7按键电路设计23
3.8电位计电路设计23
3.9本章小结24
第4章 汽车智能仪表系统的软件设计25
4.1 LABVIEW简介25
4.2下位机主程序流程图28
4.3上位机流程图29
4.4 按键中断函数流程图29
4.5 CAN总线程序30
4.6 本章小结44
第5章 系统测试45
5.1 整体概述45
5.2 测试46
5.3 本章小结53
结论54
参考文献55
致谢56
1.1课题研究的目的和意义
传统的汽车仪表只能为驾驶员提供汽车运行中必要而又少量的数据信息。然而随着汽车电子技术的发展,它已经渐渐不能满足现代汽车对于汽车仪表的功能需要。因为目前对汽车仪表的要求,已经不仅仅满足于单纯的完成指示工作了,而且还要求汽车仪表能够对实现对汽车各部件参数的监测,而达到控制汽车各种运行工况的目的。在未来,自动导航和定位系统会渐渐成为汽车仪表的必不可少的配置,而且多媒体等娱乐技术也会嵌入到汽车仪表当中。所以说,汽车仪表的发展趋势一定是向着全数字仪表的方向去发展的。
仪表是汽车工作状态的信息显示中心,是驾驶员与汽车进行信息交流的平台,是保证汽车安全行驶的关键零部件之一。近年来随着微电子技术、控制技术、网络通信技术的发展,CAN总线协议在车载电控系统中得到了广泛应用,因此汽车仪表可通过CAN总线直接在总线网络上读取所需的输入信号,无须专门布置传感器,从而可使汽车仪表系统得到大大简化,同时也显著降低了仪表的成本。因此,将CAN总线通信应用于汽车仪表已成为发展的必然趋势。
本设计选用16位微控制器MC9S12XS128,将仪表与微处理器、CAN总线技术融合,基于CAN总线网络的汽车仪表将代替原有的机械式仪表、电气式仪表和模拟电路电子仪表,把各参数的测量数字化,有利于和汽车其它的电子集中控制系统进行数据交换,有利于汽车集中控制系统的发展和实现,此外还使得汽车仪表的功耗、安全性、可靠性、舒适性得到更好的提高。通过调整电路参数还可适应不同种类和量程的产品需求,使得汽车仪表在结构的通用化、模块化、标准化、系列化程度大大提高,进而简化了生产工艺和制造设备。
1.2汽车仪表的发展
根据仪表的工作原理、内部结构和显示方式,汽车仪表的发展过程可以分为以下四个阶段[1]:
1.传统仪表阶段。这一阶段是从20世纪初到20世纪30年代,在此阶段中汽车开始安装各种仪表,如车速里程表、水温表、燃油表、机油压力表、电流表(电压表)和发动机转速表等,这些确定了现代汽车仪表板的基本结构。
这一阶段汽车上的传感器和仪表基本上都是机械式/电磁机械式的,是基于机械作用力而工作的机械式仪表,所以也称机械机芯表。这种汽车仪表功能单一,仅仅显示传感器的信息以向驾驶员提供自身的状态参数,更多的是为安全性着想,信息量少,整个仪表系统的精度低,可靠性较差,体积较大,容易使驾驶员疲劳。
2.电气式仪表阶段。这一阶段从20世纪40年代到50年代,仪表功能实现不再仅仅依靠机械作用力,而是基于电测原理,即通过各类传感器将被测的非电量变换成电信号加以测量,称之为电气式仪表。
电气式仪表中常用的是磁电式仪表,其作用原理是永久磁铁在气隙中产生的磁场和可动线圈通入电流后,相互作用而产生的旋转力矩。磁电式仪表多用于测量电流和电压,加上变换器可以进行多种非电量的测量,如温度、压力等。磁电式仪表的性能稳定,读数精确,量限多,使用方便,适应于直流电路的精密测量和实验室中的标准测量仪表。但是其存在的最大缺陷就是随着环境温度的改变,测量误差变大。
3.现代电子仪表阶段,也称模拟电路电子式仪表。第3代汽车用仪表工作原理与电气式仪表基本相同,只不过是用电子器件取代原来的电气器件,其出现的时间大致在20世纪50~60年代。
随着集成电路技术突飞猛进的发展,这种仪表现在均采用汽车仪表专用集成电路,是国内汽车仪表目前主流产品,目前国内大多数汽车还是采用这种结构的仪表。经过多年的发展,其结构形式经历了动圈式机心和动磁式机心阶段,围绕着提高指示精度和指针平稳性,动磁式代替了动圈式[2]。
4.步进电机式全数字汽车仪表。全数字式汽车仪表在国外从80年代末就己经开始研究,在国内直到最近才开始对其重视。从其应用技术手段上看,还是电子技术范畴,也属于电子式仪表,但是信号传输方式己经从模拟信号变成数字信号,并朝着数字化、智能化、网络化、虚拟化方向发展。其应用特点是单片机与微处理器的广泛应用,同时软件程序在系统设计方案中占的比重也越来越大,内部程序的编写取代了外围电路的连接闭。与传统的模拟仪表相比较具有:使用寿命长、精度高、可靠性好、抗干扰性强等特点。 CAN总线是一种非常适于汽车环境的汽车局域网,在现代汽车设计中,CAN已经成为了必须采用的装置,奔驰、宝马、大众、雷诺汽车都将 CAN 总线作为控制器联网的手段。在国内汽车工业中,一些引进车型,如大众的帕萨特和POLO、丰田“花冠”,福特嘉年华等中档车中 CAN总线技术得到了广泛的应用。由于我国中高级车以欧洲车型为主,因此随着CAN总线技术的飞速发展,汽车仪表会进入一个全新的时代。
1.4 研究的基本内容
1.基于LABVIEW软件的汽车仪表设计。
2.对汽车仪表的硬件部分进行设计。本文选用飞思卡尔MC9S12XS128单片机为微处理器。
3.通过C语言编程和LABVIEW编程实现两个CAN节点之间的通信以及单片机和PC机之间的通讯。
4.对所设计的系统进行试验。第2章 CAN总线原理
2.1汽车总线
汽车总线控制是汽车发展的趋势,现代汽车的功能日新月异,而每增加一项功能都要增加相应的电气连接,使得分布车体各处的电缆趋于庞大和昂贵,且导致设计、安装、调试和维护的困难。传统的电气控制系统设计已不能满足汽车对安全性、性能和便利性的要求这种技术进展,现场总线技术的应用就是这种进展导致的必然结果。
汽车总线控制是汽车产业的发展方向,要想进行总线控制,必须从软件和硬件两个方面着手,而使用嵌入式操作系统对软硬件进行管理,不论是实时性还是从可靠性来讲,都具有无可比拟的优势。现在在汽车上使用的主要总线,CAN总线、LIN总线、FLEXRAY总线以及MOST总线[5]。
2.2 CAN总线
2.2.1 CAN总线简介
CAN是一种汽车产业中得到广泛使用的数据与控制通信网络,是一种极具强韧性的电气规范和协议,专门设计用于轿车或卡车中危险、常常无法预料的恶劣环境,而这种环境中有许多应用需要极高的可靠性和容错能力。1986年2月,RobertBosch公司在SAE年会上介绍了一种新型的串行总线系统—CAN(Controller Area Network)。根据这个CAN协议,在1987年中期,Intel开发了首个CAN控制器—82526。不久,Philips半导体也推出了82C200。这两种CAN控制器在报文过滤和控制上有许多的不同。Philips半导体的方式叫BasicCAN;Intel的方式叫FullCAN,由此后的不断发展,从而形成了FullCAN和BasicCAN两大阵营。
在20世纪90年代初,Bosch CAN规范(CAN 2.0)被提交给了国际标准化组织。经过讨论,应一些法国主要汽车商的要求,包含了吸收一些VAN网(Vehicle Area Network)的内容。并于1993年11月出版了正式的CAN国际标准ISO11898[6]。从此CAN协议被广泛的用于各类自动化控制领域。在1992年,奔驰公司首先在他们的高级轿车上使用了CAN技术。这是CAN技术在车载网络系统中的首次实际使用。 在数字电子式的汽车仪表中,单片机是最主要的器件。汽车仪表的绝大部分外围器件都是为单片机服务的。所以,单片机的功能决定了汽车仪表的功能。现在,世界上有很多大公司为汽车仪表提供专用芯片。本文选用飞司卡尔公司的MC9S12XS128芯片作为主芯片,同时汽车仪表上除了主芯片之外还有很多电子器件和功能芯片。本章将重点阐述这款芯片在应用到汽车仪表上时所涉及到的具体用法,以及电子器件与主芯片的电路连接方法以及功能芯片的外围电路设计。 汽车仪表系统显示的信息量非常大,用传统仪表的显示方法显示的话,车载的仪表数目将会不断增多,而车内的空间有限,这样既会显得很拥挤,也会加大驾驶员的操作难度,分散驾驶员的注意力。用虚拟仪器技术构建的汽车虚拟仪表系统,将这些问题迎刃而解。它将所有的信息显示集合在一个屏幕上,并以分界面的方法显示,这样将使驾驶员查看信息非常便利,也使车内空间变得更加宽敞、舒适、美观。针对国内外汽车电子行业和仪表系统的发展现状和趋势,本设计提出了基于汽车 CAN 总线技术的仪表系统显示方案,设计过程中,主要包括了以下内容:
1.汽车 CAN 总线和汽车仪表系统方面的发展现状和趋势了解,并对这两方面的相关技术理论进行探索和分析。
2.设计了由两个 CAN 节点组成的最简单的汽车 CAN 网络系统,用来模拟网络上的 CAN 报文接收和发送。
3.基于微控制器进行下位机 CAN 智能节点的设计。包括节点的硬件方案选择,具体硬件的功能理解和相互之间的电路连接;并完成节点软件方面设计,接收下位机的 CAN 报文发送。
4.基于个人电脑的上位机节点设计。在美国NI公司虚拟仪器开发软件LabVIEW8.6平台上开发汽车虚拟仪表系统,系统显示界面美观,同时该系统又具备很好的扩展性。
5.通过实验验证系统设计。本系统只实现了两个 CAN 节点的互连,缺少多节点的互连调试,因而难于发现通信冲突等其它可能存在的问题,有待于今后针对具体车型制订相应应用层协议,并通过试验来进一步验证系统的实用性和通用性。
参考文献
[1]杨忠敏.汽车仪表的发展现状[J].汽车电器,2004.28(10):103-110.
[2]李卫东.现代汽车电子技术的发展趋势[J].信息时代,2005.12(1):5-8.
[3]徐胜云.汽车电子技术的运用与发展[J].汽车与船舶,2005.1(7):60-68.
[4]饶运涛,邹继军,关勇芸.现场总线CAN 原理与应用技术[M].北京:北京航空航天大学出版社,2003.
[5]秦贵和.车上网络技术[M].北京:机械工业出版社,2006.
[6]王田苗,魏洪兴. CAN原理与规范[M].北京: 清华大学出版社,2003.
[7]邬宽明编著.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,2005.
[8]史久根,张培仁,陈真勇.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004.
[9]胡思德.汽车车载网络(VAN/CAN/LIN)技术详解[M].北京:机械工业出版社, 2006.
[10]SAE J1939 Recommended practice for a serial control and communication vehicle network [S]. Society of Automotive Engineers,2000.
[11]刘剑,沙微,姜凡.CAN 总线及SAE J1939通讯协议在汽车上的应用[J].机电工程技术,2006.35(10):10-16.
[12]赵方庚等.现代汽车总线技术的发展[J].汽车运用,2005.12(1):23-33.
[13]Steven F.Barrett&Daniel J.Pack.Embedded Systems Design and Applications with the 68HC12 and HCS12[M].Publishing House of Electronics Industry,2006.
[14]孙同景,Freescale 9s12十六位单片机原理及嵌入式开发技术[M].机械工程出版社,2008.
[15]杨乐平,李海涛,杨磊.LabVIEW程序设计与应用[M].北京:电子工业出版社,2005.
[16]阮奇桢.我和LabVIEW[M].北京:北京航空航天大学出版社,2009.