基于CAN总线的汽车仪表设计研究
汽车仪表是汽车与驾驶员进行信息交流的窗口,是汽车信息的中心,能够集中、直观、迅速地反映汽车在行驶过程中的各种动态指标,如行驶速度、里程、电系状况、制动、压力、发动机转速、冷却液温度、油量、各种危险报警。随着科技进步,汽车排放、节能、安全和舒适性等使用性能不断提高,汽车电子控制程度也越来越高。汽车电子控制装置必须迅速、准确地处理各种信息,并通过仪表显示出来,使驾驶员能够及时了解并掌握汽车的运行状态,以妥善处理各种情况。
这里给出一种基于CAN(Controller Area Network)总线的汽车仪表设计方案。该仪表利用CAN总线使其成为车身网络一部分,遵循SAE J1939协议读取发动机转速、水温等信息。仪表还能接收传感器的车速、油量、油压、制动气压等信号并显示,为驾驶员提供实时车辆工况。所设计的仪表主要应用于重型运输车等领域,在某重型车辆工厂进行的试验结果表明,该仪表能够满足数据可靠性及实时性等要求。
1 CAN总线及SAE J1939协议
1.1 CAN总线及SAE J1939协议简介
CAN总线属于现场总线的范畴,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制和测试仪器之间的数据交换而开发的一种有效支持分布式控制或实时控制的串行通信网络。CAN总线的通信实时性强,数据传输速率可高达1 Mb/s,通信介质可以是双绞线、同轴电缆或者光导纤维,通过标准的插接件能够方便的连接。CAN总线的数据通信具有突出的可靠性、实时性和灵活性,是目前应用最广泛的一种汽车总线。
SAE J1939协议是美国汽车工程师协会SAE(Societv of Automotive Engineer)发布的以CAN2.0B作为网络核心协议的车辆网络串行通信和控制协议。J1939是参照ISO的开放式数据互联模型定义的7层基准参考模型而制定的。该协议明确规定汽车内部ECU的地址配置、命名、通讯方式以及报文发送优先级等,并且对汽车内部各个具体的ECU通讯作了详细的说明。它使用多路复用技术,为汽车上的各种传感器、执行器和控制器提供建立在CAN总线基础上的标准化的高速网络连接,在车载电子装置之间实现高速数据共享,有效地减少了电子线束的数量,提高了车辆电子控制系统的灵活性、可靠性、可维修性和标准化程度,更大程度地发挥了CAN优异的性能。
1.2 SAE J1939数据帧格式
SAE J1939数据帧是以PDU(协议数据单元)为单位,共由优先权(P)、保留位(R)、数据页(DP)、PDU格式(PF)、PDU细节(Ps)、源地址(SA)及数据域(Date Field)等7个域组成。除了数据域之外的PDU对应于CAN扩展帧的29位标识符。其中PS是1个8位段,其定义取决于PF值。若PF值小于240,PS是目标地址(DA)。若PF值介于240和255之间,则PS为组扩展(GE)。
有些CAN数据帧不是在PDU中定义,包括SOF、SRR、IDE、RTR、控制域部分、CRC域、ACK域和EOF域。这些域是由CAN定义的,SAE J1939不作修改。
2 CAN总线汽车仪表设计
2.1 仪表整体设计
该汽车仪表系统由数据采集、处理以及显示3个模块组成。其中数据采集模块负责接收车辆的各种数据,并将数据预处理后发送至微处理器。其中模拟量信号、脉冲信号以及开关量信号等传感器信号在各传感器处采集后,分别经过分压、滤波整形以及光电隔离后发送至微处理器。而发动机转速、水温和故障代码等CAN总线数据通过发动机CAN模块发送至CAN总线后,通过CAN收发器进行接收。微处理器接收到需要的数据后,根据预定的算法对数据进行处理,并将处理结果输出。显示模块包括指针、LCD以及各种信号灯的显示。微处理器将发动机转速、车速等结果输出至电机驱动器,驱动器驱动步进电机转动,从而带动指针显示;微处理器直接驱动LCD显示及LED灯的亮灭。汽车仪表系统结构如图1所示。
根据对汽车仪表的整体分析,汽车仪表盘由3个分表盘组成,左分表盘显示发动机转速、油量等数据,右分表盘显示车速、油压等数据,中分表盘用于放置LCD显示屏以及各种指示灯。仪表指针全部采用步进电机驱动。仪表接收到的各种数据中,从CAN总线获取发动机转速、水温以及电压,从各种传感器获取车速、油量、气压以及油压。
评论