基于CAN总线的车用仪表系统的设计*

2019-01-22 02:22田晓鸿
小型内燃机与车辆技术 2018年6期
关键词:微控制器车用仪表

田晓鸿

(西安航空职业技术学院 陕西 西安 710089)

引言

随着科学技术的不断发展,大量电子器件与设备被应用于汽车制造领域,以此满足人们日益提高的对汽车性能的需求。但与此同时,汽车各控制单元间的连接及通信的复杂度也随之增加。上世纪八十年代中期,德国的Bosch公司开发了一种多主从方式的串行数据通信协议,即CAN通讯协议。与其它通讯总线相比,CAN总线在通讯的实时性、可靠性以及灵活性等诸多方面都具有较为显著的优势。因此,本文提出一种基于CAN总线的车用仪表系统设计方案,旨在解决相关电子器件与设备间的通信问题。

1 系统需求分析

随着人们对汽车整体性能要求的不断提高,车用仪表系统除了要具备显示车身及路况信息的传统功能外,应当显示更多的信息内容并缩短响应时间,同时还需要保障信息显示的稳定性以及直观性。

1.1 提供全面详细的信息

随着汽车所应用的电子器件与设备的增加,车用仪表系统除了显示油量、车速、温度等常规信息之外,还应当显示更加丰富全面的信息内容。例如显示单位时间内的油耗信息,可以帮助驾驶员控制油耗,从而降低经济成本。

1.2 具备较高的响实时度

汽车在行驶过程当中,车用仪表系统所显示的信息内容应当具备良好的时效性,从而准确反映当前实时的车身及路况信息。因此,车用仪表系统必须具备较高的通讯速率,缩短响应时间。

1.3 具备较高的可靠性

车用仪表系统所显示的信息内容是否准确可靠,直接影响驾驶员操作行为的正确性。若信息内容出现误报,极易导致交通事故的发生。因此,车用仪表系统必须具备较高的可靠性,即使是在复杂路况环境下,依然能够为驾驶员提供准确可靠的信息。

1.4 直观地显示信息

驾驶员通过车用仪表系统了解车辆的实时状态信息,随着电子器件与设备的增加,信息的种类与规模也相应增加[1]。为了使驾驶员能够迅速了解掌握车辆的实时状态信息,车用仪表系统必须以直观简明的界面来进行显示。

2 系统设计

2.1 系统总体结构设计

根据上文所述的系统需求分析结果,本文提出基于CAN总线的车用仪表系统的总体结构设计方案,如图1所示。

图1 车用仪表系统的总体结构

如图1中所示,本文设计的车用仪表系统选用了MCUMB594微控制器,由CAN总线来进行各模块间的通信。由于在该系统中仪表仅作为CAN网络中的一个节点,因此有效减少了布线的复杂度,并与其他控制单元共同构成一个统一的网络体系。

2.2 核心硬件模块设计

根据前文所述的系统需求以及总体结构设计方案,本文进一步对MCU微控制器、CAN总线收发器等核心硬件模块进行设计,并绘制硬件电路。

2.2.1 MCU微控制器

MCU微控制器选用MB954车载微控制器,该微控制器内部为FR81S高性能CPU内核,集成了视频信号输入、彩色信息显示、CAN通信接口电路、A/D转换器以及I/O通信接口等多个功能模块,具有高性能、低功耗、运行快、稳定可靠、兼容性好等诸多优点。

2.2.2 CAN通信总线收发器

CAN通讯总线属于多主从串行数据通信总线类型,CAN通信总线收发器的选型应当考虑抗电磁干扰、传输速率等性能以及检测各种错误的功能,从而达到CAN通信总线基本规范的要求[2]。根据上述需求,本文选用的CAN通信总线收发器为TJA1042,其引脚结构如图2所示。

图2 TJA1042引脚结构

TJA1042有工作和待机2种操作模式:工作模式下,MCU微控制器向CAN-STB发送的信号为低电平信号;待机模式下,MCU微控制器向CAN-STB发送的信号为高电平信号。

2.3 CAN总线通信的硬件接口电路设计

基于硬件选型结果,车用仪表系统的CAN通信总线电路主要包括MB954以及TJA1042,其硬件接口电路原理图如图3所示。

从图3中可以看到,TJA1042的RXD引脚连接了 MB594的 106引脚 CAN_RXD,TJA1042的 TXD引脚则连接了MB594的107引脚CAN_TXD。此外,为了滤除干扰,将电容C13、C14与TJA1042的引脚VCC连接,并在CAN_L、CAN_H引脚与接地间连接了两个电容。

2.4 软件部分设计

车用仪表系统的稳定运行,需要硬件与软件之间相互协调。本文在上述硬件部分设计的基础上,对软件部分进行设计,以此实现系统功能需求。

2.4.1 软件部分总体结构设计

本文基于系统需求分析结果以及硬件设计对软件部分进行设计,总体结构框图如图4所示。

如图4所示,系统的主要软件模块包括主程序、数据采集、CAN总线通信、定速巡航以及LCD液晶显示等模块。其中,主程序模块负责调度驱动各子程序模块执行任务;数据采集模块负责对车身及路况信息进行采集、处理及响应;CAN总线通信模块负责通信数据的实时收发;定速巡航模块负责通过巡航系统来实现未在踩油门情况下保持车速;显示模块负责向驾驶员提供各参数信息的显示功能。本文重点就其中的主程序、数据采集以及CAN总线通信等3个核心模块进行详细设计。

图3 CAN总线通信接口电路

图4 总体结构框图

2.4.2 核心模块设计

主程序开始运行后,首先完成各程序模块的初始化设置使其进入正常工作状态,然后循环地收发CAN总线上的信号并及时进行处理和响应,最终通过CAN发送程序调用各功能模块来保障车用仪表系统的正常工作。

数据采集模块的主要功能是对汽车行驶过程中的车辆及路况等信息参数进行实时采集,然后对不同类型的信号进行处理和转换,并且在对其进行响应的同时,通过液晶显示屏向驾驶员显示数据参数[3]。

CAN总线通信模块的设计是该车用仪表系统软件设计的核心部分,本文采用的MB954集成了CAN总线通信模块,其中包含的主要器件有CAN核心、位流处理器、控制寄存器、消息存储器和数据模块接口等。

在本文所设计的车用仪表系统中,CAN总线所发送的节点子程序数据信号为基于CAN2.0标准协议的编码,具体的数据发送流程如下:首先,确定处于空闲状态下的缓冲区;然后,将需要发送的节点数据组成一个符合格式要求的数据帧,并将其发送至缓冲区;最后,通过寄存器写命令将数据帧发送至CAN总线。在上述数据发送流程中,CAN总线通信模块根据数据帧的优先级来确定CAN发送节点的标识符位值。若CAN发送节点的标识符位值为0,说明该节点正在发送数据帧,而其它节点则向CAN总线发出应答信号;当接收到数据帧后,CAN发送节点的标识符位值为1,说明数据帧以及成功发送。

与数据发送流程类似,CAN总线接收节点子程序数据信号的流程如下:首先,由CAN控制器将CAN通信总线上的数据信息发送至接收缓冲器,接收缓冲器的状态标志位PBS为1;然后,接收子程序根据需要从接收缓冲器读取所需要的数据信息。当MB594从总线上接收到滤波测试通过的数据信息时会产生接收中断响应,并在接收缓冲区的数据信息被读取后对其进行相应处理。

3 系统测试

为了验证本文所设计的基于CAN总线的车用仪表系统的可行性,通过Vector公司研发的CANoe测试工具来对其进行仿真测试,并对测试数据进行统计分析。

3.1 CAN总线通信测试

CAN总线通信测试是在CANoe测试环境下,通过示波器等工具来测试车用仪表系统工作过程中的CAN总线通信报文,并根据CAN控制器所输出的信号电平和位时间等参数进行评估。报文测试信号波形图如图5所示。

图5中所展示的测试对象为CAN发送的某一数据帧,CAN_H信号以黑色曲线的形式进行显示,CAN_H信号则以红色曲线的形式进行显示。从波形图中可以发现,该数据帧的相关数据信息清晰且完整,说明车用仪表系统的CAN总线通信测试结果为工作正常。

图5 CAN总线通信时的报文测试信号波形图

3.2 系统功能测试

系统功能测试的方法如下:首先将汽车仪表连接到测试所用的CAN通信总线上;然后在CANoe测试环境下,使汽车仪表在接收到数据信号后显示对应的参数信息;最后通过将汽车仪表与软件所显示的数据信息进行对比,以此验证本文所设计的基于CAN总线的车用仪表系统是否达到了预期的功能目标。系统功能测试的结果如图6所示。

图6 系统功能测试结果

从图6中可以看到,本文所设计的车用仪表系统能够通过CAN总线准确、实时地接收到数据采集节点所采集的当前车速、转速等信息,并通过CANoe工具显示出来。同时,相关数据信息也在汽车仪表的显示屏中显示出来。经对比发现,本文所设计的车用仪表系统能够准确地显示当前车速、转速等相关信息,达到了设计目标。

4 结束语

本文将CAN总线技术引入到车用仪表系统中,由此设计出基于CAN总线的新型车用仪表系统。该系统基于CAN总线来实现数据通信,具有较高的传输速率以及良好的稳定性。此外,本设计中采用了液晶显示屏,能够更加直观、清晰地为驾驶员显示数据信息。

猜你喜欢
微控制器车用仪表
◆ 仪表
仪表
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
热工仪表自动化安装探讨的认识
物联网技术在微控制器实验教学中的应用
用于高品质电动汽车的分布式并行计算
奔驰E260车行驶过程中仪表灯熄灭
车用香品选购攻略
2013年车用发动机排放控制回顾(下)
2013年车用发动机排放控制回顾(上)