中图分类号:TP273 文献标识码:A摘 要:设计了一款基于单片机、数字式温度传感器DS18B20,速度传感器、CAN总线等汽车仪表控制系统。该系统由专用电源芯片用于为整个系统提供稳定电源,汽车各个目标电气节点可以通过CAN总线将参数传输给单片机,进行数据分析处理,并通过液晶显示相关信息,同时系统还可通过RS232把单片机系统的相关数据上传给PC机来进一步对数据的分析或对数据的存储。系统使用CAN总线实现显示信息的传送,共享车上其它模块处理的信息,使车内布线简单、传输及显示信息可靠、仪表体积小、系统扩展能力强、实时性好、精确度高、显示信息全面直观。 关键词:CAN总线;仪表;单片机 0引言 目前汽车仪表正在经历由第3代向第4代转型时期。第4代汽车用仪表工作原理与电气式仪表基本相同,只是用电子器件取代原来的电气器件。由于现代汽车仪表所要显示的内容和信息种类越来越多,精度越来越高,传统电气式仪表难以满足更高层次要求,因而汽车仪表的电子化和数字化将成为必然趋势。同时为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等。但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,且本身具有较高的通信速率,CAN总线正是为满足这些要求而设计的。 本设计通过仪表与微处理器,基于CAN总线网络的数字电子器件代替原有的机械机芯表、电气式仪表和模拟电路电子仪表,把各参数的测量数字化,有利于和汽车其它的电子集中控制系统进行数据交换,有利于汽车集中控制系统的发展和实现,此外还使得汽车仪表的功耗、安全性、可靠性、舒适性得到更好的提高。通过调整电路参数还可适应不同种类和量程的产品需求,使得汽车仪表在结构的通用化、模块化、标准化、系列化程度大大提高,进而简化了生产工艺和制造设备。 1 总体方案设计 本次设计的是车用仪表控制系统的解决方案用于显示和记录汽车行驶过程中的各种状态信息。采用通用单片机,用软件实现对系统的控制;实时采集汽车在行驶过程中各状态参量的数据,并利用LCD显示汽车速度、温度等汽车行驶过程中的动态数据,同时利用CAN总线进行数据通信,并对其兼容性进行软硬件设计,保证了系统的可靠性和稳定性。 此仪表系统要求显示直观、准确,使用方便、可靠,同时展现车用仪表系统未来的发展趋势和广阔开发空间。单片机是整个系统的核心,与汽车仪表密切相关的一些汽车基本行驶信息(车速、温度)是单片机所需要处理的信息,系统的整个CAN通信也由单片机来控制。系统软件是实现系统功能最根本的手段,系统的抗干扰能力是系统能否稳定可靠工作的基本保证。通过对它们的一些理论分析和研究,最终对系统方案做出一个总体的设计。 本系统由单片机模块、测温模块、测速模块、显示模块、电源模块、串口通信模块、CAN通信模块等部分构成。系统组成如图1所示。 图1 系统组成框图 1.1 单片机模块 单片机模块作为整个系统的核心,主要实现输入数据的采集转换、液晶显示驱动、CAN通信控制等功能。根据系统的要求和现实的考虑,选用ATMEL的AT89C51单片机。AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器。该单片机的可擦除只读存储器可以反复擦除1000次,其采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,可以为嵌入式控制系统提供了一种灵活性高且价廉的方案。 1.2 串口通信模块 单片机的串口通信模块主要是用于扩展单片机的功能,使其功能更加强大,操作更加方便,在有串口通信模块的情况下,可以实现在电脑上直接对整个系统进行操作,如监控该系统,直接获取相关信息到电脑上,如车速,温度;也可以在计算机上直接对该系统的单片机进行读写控制,如可以直接写入本设计需要的程序,直接控制与测温相关的温度调节。串口通信模块最主要的功能是用于后续功能扩展,以使单片机具备更多的功能。 本系统采用RS232串行接口方式,通过 单片机的串行口可以通过它把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。 1.3 CAN通信模块 根据CAN 通信原理,本系统所选MCU不带CAN控制器。因此采用了传统的CAN 通信模块即采用51系列的单片机作为中心处理器,SJA1000作为CAN控制器,PCA82C250作为CAN驱动器其使用灵活、方便。CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。 本文中所设计的CAN总线系统智能节点,采用89C52作为节点的微处理器,在CAN总线通信接口中,采用PHILIPS公司的SJA1000和82C250芯片。SJA1000是独立CAN通信控制器,82C250为高性能CAN总线收发器。 本模块设计电路主要由四部分所构成:微控制器89C52、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137。微处理器89C52负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。 SJA1000的AD0~AD7连接到89C51的P0口,连接到89C51的P2.0,P2.0为0的CPU片外存贮器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作。SJA1000的、、ALE分别与89C52的对应引脚相连,接89C52的,89C52也可通过中断方式访问SJA1000。