新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线技术的汽车仪表软件实现方案

基于CAN总线技术的汽车仪表软件实现方案

作者:时间:2012-09-26来源:网络收藏
引言

  随着汽车上的越来越多,汽车网络应运而生,控制器局域网(CAN,Controller Area Network)开始大量应用与汽车之上。如何利用汽车网络中的信息,以便于司机与乘客了解车辆信息,是一项需要展开的研究。本研究从CAN总线获取板所需的数据,并在液晶显示屏上动态显示,这一系列任务在硬件支持的情况下全部由高级语言编程实现。

1、

  目前存在多种汽车网络协议,属于现场总线范畴,CAN是控制局域网络(Control Area Network)的简称,最早由德国BOSCH公司推出,用于汽车内部测量与执行部件之间的数据通信,其纵向规范现已被ISO国际标准组织制订为国际标准,由于得到了Philip、Siemence、Motorola、Intel、Fusitu等公司的支持,它已成为国际上应用最广泛的现场总线。它有效支持分布式控制及实时控制,并采用了带优先级的CSMA/CD协议对总线进行仲裁。因此,CAN总线允许多站点同时发送,这样,既保证了信息处理的实时性,又使得CAN总线网络可以构成多主结构的系统,保证了系统的可靠性。另外,CAN采用短帧结构,且每帧信息都有校验及其他检错措施,保证了数据的实时性、低传输出错率。其传输介质可以使用双绞线、同轴电缆或光纤。

2、的发展及趋势

  按在工作原理上取得的重大技术创新来分,可以划分为4个阶段,或称为经过4代。第1代汽车仪表是基于机械作用力而工作的机械式仪表,人们习惯称这类仪表为机械机心表;第2代汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量变换成电信号加以测量,通常称这类仪表为电气式仪表;第3代为模拟电路电子式;第4代为步进电动机式全数字汽车仪表。

  随着计算机技术、电子技术、网络技术以及液晶现实技术的发展,汽车仪表的发展趋势将更加体现这些高新技术的结合。如仪表的功能由软件和硬件共同来完成仪表的功能由软件和硬件共同实现,而且主要是通过软件实现。这对于量大且对成本极为敏感的汽车仪表有特殊意义,因为软件的开发费用分摊到每个仪表上是非常少的。与仅由电子线路硬件组成的汽车仪表相比,带有ECU的汽车仪表,其功能的实现手段更加灵活多样。产品的“柔性”更好,即在推出新款产品时,能最大限度地利用以前产品的硬、软件设计成果仅做少量修改便可,这在产品更新换代很快的今天和未来特别重要。

3、基于CAN总线的汽车仪表设计方案

  3.1 设计思想

  本文利用车辆网络的优势,从CAN总线上采集汽车仪表面板所需要的数据,如车速、水温、燃油、里程等,经处理器处理后进行各种实时控制和显示。不是像传统的仪表面板那样,本设计用液晶显示屏动态显示所采集并用软件处理的数据。这样可以随时根据需要,由软件实现仪表面板的扩充。整体网络具有自诊断功能,降低系统的故障率,同时使用CAN总线方式使得整体系统工作更加及时、准确,提高了安全性、可靠性,更具有智能化和人性化。

  由于本设计只是实验性研究以及各汽车总线数据编码的多样性,本设计自行开发了简单的ECU,用于采集车速、燃油、水温、里程等数据。然后由CAN总线通过CAN-PC接口卡接入PC机,再由软件编程来完成从CAN总线采集到的数据动态显示。这里用Visual Basic编程。系统共享娱乐系统、导航系统所用的计算机。作为实验性研究,可由笔记本电脑代替PC机。然后进行各项实验验证,如抗干扰、准确度、工作稳定性、振动的影响、温度的影响等。

  3.2 系统硬件结构及所用器件

  该测试系统由液晶显示器、PC-CAN接口卡、单片机、CAN控制器(SJA1000)、CAN总线发送/接收驱动器(PCA82C250)、和各数据采集系统组成。

  专用液晶显示屏用来显示转速、机油压力、水温、燃油消耗等;PC机用来处理CAN总线上的数据并通过软件显示于显示屏上;PC-CAN接口卡完成PC机与CAN之间的通信;自行设计的ECU完成从各传感器采集数据,通过CAN收发器连于CAN总线上。其中的PC-CAN接口卡通过RS232接口或UAB与PC机相连,PC-CAN接口卡再通过总线与自行设计的ECU相连。在实际中PC-CAN接口卡与车辆CAN总线相连,可采集大量数据信息,从而随时可通过软件编程把这些信息在显示屏上动态显示出来。

  3.3 系统的硬件设计

  PC-CAN接口卡选用CAN232智能CAN接口卡,它适合CAN-bus的小流量数据传输应用,最高可达500帧/秒的数据传输速率,提供广泛和强大的软件支持。支持在VC++、C++Builder、Delphi和VB等开发环境下进行设计。该接口卡为用户提供了编程需要的三个文件:CAN232dll.DLL,CAN232dll.LIB,ExportHead.H。

  CAN协议控制器选用SJA1000,它是Philips公司生产的适合汽车环境的独立CAN控制器,支持CAN2.0B协议。CAN发送/接收驱动器选用Philip公司的PCA82C250,它是CAN控制器和物理传输线路之间的接口,它可以用高达1Mbits/s的位速率在两条有差动电压的总线电缆上传输数据。

  3.4 系统软件设计


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭