简易式发动机数据显示系统设计*
2018-12-08邓汝奎范毅覃雪莲马亚勤
邓汝奎,范毅,覃雪莲,马亚勤
简易式发动机数据显示系统设计*
邓汝奎1,范毅1,覃雪莲1,马亚勤2
(1.南宁学院,广西 南宁 530200;2.广西农业职业技术学院,广西 南宁)
发动机实验台架实验运行过程中,需要实时监控各项动态数据,文章结合CAN总线数据采集技术,采用51单片机为系统核心,CAN总线通信的主要通道,使用LCD1602作为系统数据流显示载体,设计一款低成本、使用简便的发动机数据流显示系统,实现发动机工况数据的实时监测。
发动机;数据流;CAN总线;单片机
前言
发动机实验台架广泛应用于汽车生产厂家和各类教学研究单位,单靠仪表显示,往往无法全面观测数据,发动机电控系统通过安装各类传感器采集发动机运行过程中的实时数据,监控发动机是否处于正常工作状态,并对相应的数据进行加工处理,最终驱动电控系统中的各类执行器,达到控制发动机运转的目的。在此过程中,发动的传感器和执行器的实时数据都会通过CAN总线传送给汽车上的其它ECU,因此,可以利用汽车电气系统的这一特性,设计一款CAN总线通信系统。通过分析其通讯协议,建立总线与汽车网络中其它控制系统数据的共享,满足对发动机优化所需的实时发动机数据监测的需求。
1 硬件设计
1.1 89C51单片机最小系统设计
图1 电压转换电路
单片机正常运行电路必须满足三个基本条件:正常的电源电压、复位电路、晶振电路。汽车供电电压为12V,51单片机供电电压为5V,因此需要将12V电压降至5V才能供单片机系统使用。AMS1117-5是一个正向低压降稳压器,具有输出电压精度高,适用温度范围广的特点,内部集成过热和过流保护功能,如图1所示。
51单片机复位脚采用高电平复位,当单片机出现工作异常时,按下复位开关时,接入5V电压,单片机重新复位,恢复正常运行。
晶振电路:51单片机采用12M晶振,其XTAL1和XTAL2为晶振外接管脚,晶振两端通过连接22pF电容接地,保证单片机能够按照正常频率工作。通过上述设计,完成51单片机最小系统设计,如图2所示。
图2 89C51单片机最小系统
1.2 CAN 总线通信接口设计
CAN控制器和CAN收发器共同组成了CAN总线网络中节点的控制单元,CAN控制器完成对CAN总线的通信协议规定,实现CAN总线协议底层以及数据链路层[1]。同时CAN控制器也接收来自CAN收发器传来的数据,对这些数据进行处理,并传给控制单元的微处理器[2]。
1.2.1 CAN 控制器
出于经济性考虑,控制核心采用51单片机,成本低,性能可靠,但资源配置较少,工作频率较低,因此,选用的CAN控制器必须有较高的独立工作能力,以减少单片机的资源开销。MCP2515作为一款CAN总线的主流控制器,有着广泛的应用。支持CAN2.0B技术规范,而2.0B 给出了标准和扩展的两种格式[3],自带2个屏蔽寄存器和6个滤波器,能够通过设置,主动屏蔽掉不需要的CAN信息,达到减小单片机消耗的效果,提高系统运行速度。MCU通过SPI接口与该器件连接,使用标准的SPI读/写指令以及专门的SPI口令来读/写的寄存器[4]。
1.2.2 CAN 收发器
CAN收发器TJA1050连接在CAN总线和CAN控制器之间,起到电压信号转换的作用,主要运用电压差分原理,将控制器的单线电压转换为CAN总线的双线电压差分信号,达到数据发送和接收的功能。其具有很强的电磁抗干扰性,传输速率最高可达1Mbit/s,完全能够满足本次设计要求。
1.2.3 单片机与CAN模块通信电路设计
MCP2515通过MISO和MOSI引脚与单片机的SPI通信引脚连接,但51单片机不配置有SPI通信接口,因此通过普通IO口模拟SPI通信,即将MISO和MOSI引脚接至单片机的IO引脚即可。
MCP2515和TJA1050之间的通信,通过CAN-TX和CAN-RX连接,通过电压的高低变化,传递CAN信息。接口电路如图3所示。
图3 收发器和控制器电路图
通过图3,我们可以清晰的看出,CAN信息流的传动线路,接收CAN信息时,数据自 CAN接线插座流入,经TJA1050电压差分后,由CAN-RX传至MCP2515,再经MOSI口传至51单片机。为避免CAN总线信息传递时的电压浪涌,电路设计时,会在CAN通信节点配置终端电阻,由于原车车载网络系统已经匹配有120欧姆的终端电阻,此时不需在另外并联匹配电阻。
1.3 LCD 液晶显示接口设计
LCD是发动机数据流的显示终端,为了减少装置的体积,较小系统功耗和重量,采用1602作为本次设计的显示屏,将发动机的实时数据流通过滚动显示的方式,将各项参数直观地显示出来,最终达到对数据的观测和分析的效果。
LCD1602与51单片机的连接电路如图4所示,控制端接口RS、RW、E通过单片机IO口的时序读写,控制显示屏的信息显示,DB0-DB7则为显示信息的并行数据接口,具体的显示信息,通过上述8个接口输入。
图4 51单片机与LCD1602引脚连接图
2 软件设计
发动机数据采集是通过OBD诊断口与发动机CAN总线连接,以OBD诊断口作为通信节点,软件系统功能主要包括系统配置初始化、CAN通信、LCD显示。系统程序由三大功能模块组成:系统初始化模块、CAN通信模块、数据流显示模块,如图5所示。
图5 软件系统组成
系统程序根据实际应用情况,调用下属的三个子模块,并协调相互之间的工作流程,确保能够系统有序的运行。
初始化模块决定单片机的资源配置的消耗,正确的初始化能够提高系统的运行效率和功率消耗,初始化主要包括IO口的选择及其功能定义、系统时钟频率的配置、相应功能寄存器的配置,从而保证系统的正常运行。
CAN通信模块包括CAN信息的接收和发送,以及针对发动机CAN通信协议,提取有用的数据流信息。LCD 显示模块,在CAN通信模块成功提取发动机数据流,经单片机识别处理后,通过滚动显示的方式显示出来。
2.1 主程序设计
主程序作为软件系统核心框架,主要是明确各子模块的运行次序,功能分配,针对不同的程序判别条件,作出相应的控制决策。主程序流程图如图6所示。
图6 系统主程序运行流程图
2.2 CAN总线通信模块设计
CAN通信模块包括MCP2515初始化、CAN信息发送、SPI通信模拟、CAN信息接收四个部分,其中SPI模拟主要是51单片机不具备SPI通信功能,需通过普通IO进行SPI通信模拟。
2.3 CAN控制器初始化
CAN通信能够正常发送和接收数据,对MCP2515正确的配置是基本前提,这一过程主要包括对控制器内部的寄存器、发送缓冲器、接收缓冲器、接收滤波器、接收中断、通信速率的配置。完成上述操作后,按照发动机CAN总线数据CAN通信特点,确认好采用的工作模式后,CAN模块才能够进入工作状态,实现CAN数据的采集。
2.4 CAN数据接收流程
MCP2515内置2个接收缓冲器,每个缓冲器内又有多个可以配置的验收滤波器,能够高效地过滤掉无用的CAN信息。MCP2515通过TJA1050接收到发动机CAN总线信息后,产生内部中断,然后将然后从接收滤波器读取报文数据进行处理并释放该接收缓冲器,使其进入待接收状态,无需单片机介入处理,能够很好地减少MCU开销,CAN数据接收流程如图7所示。
图7 CAN总线节点接收数据流程图
2.5 LCD 显示模块设计
发动机数据流采集后,需要在终端显示出来,从而达到发动机运行工况监测的目的。LCD1602内置存储单元,对显示模式的选择配置、寄存器配置等初始化设置完成后,就能够正常显示数据
LCD1602显示原理与LED点阵类似,通过编程选择屏幕中需要点亮的区域,有选择性的进行区域供电,即可达到所需的显示效果,一般按照逐行的设置的方式,逐步按字模点亮每一行屏幕。LCD工作流程图如图8所示。
图8 LCD显示流程图
3 结语
本文研究并设计了简易式的发动机数据流显示装置,该装置基于CAN总线通信技术,利用OBD诊断口,巧妙地接入到发动机车载网络系统,根据车载网络通信协议特点,获取发动机数据流,通过简便的方式显示,达到发动机台架实验数据流实时监测的目的。该装置运用51单片机、LCD1602等低成本元器件,搭建数据流采集电路模块,集成化程度高、性价比高,具有很高的应用推广价值。
[1] 邱鑫.基于CAN总线的汽车LCD智能仪表研究与开发[D].重庆交 通大学,2014.
[2] 岳丽.简介汽车CAN-BUS总线控制系统[J].黑龙江科技信息, 2010(09):9.
[3] 耿雪贞.嵌入式以太网技术在现场总线中的应用[D].中国海洋大学,2004.
[4] 陆姣.智能化金属浮子流量计的研制[D].东北大学,2009.
Design of simple engine data display system
Deng Rukui1, Fan Yi1, Tan Xuelian1, Ma Yaqin2
(1.Nanning University, Guangxi Nanning 530200; 2.Guangxi Vocational and Technical College of Agriculture, Guangxi Nanning 530200)
In the process of engine test bench running, it is necessary to monitor all kinds of dynamic data in real time. In this paper, a low-cost and easy-to-use engine data is designed by combining the CAN bus data acquisition technology, using 51 single-chip microcomputer as the system core, the main channel of CAN bus communication and LCD1602 as the display carrier of system data stream,The flow display system realizes real-time monitoring of engine condition data.
Engine; data flow; CAN bus; single chip microcomputer
B
1671-7988(2018)22-132-04
U467
B
1671-7988(2018)22-132-04
U467
邓汝奎(1985-)男,本科,讲师,研究方向为汽车电气及控制技术。
2015邕宁区科学研究与技术开发计划项目,项目编号 20150217A;南宁学院2017年校级科研项目,项目编号 2017XJ14。
10.16638/j.cnki.1671-7988.2018.22.047