基于XC2267M的工程机械发动机状态监测终端

2016-06-24 02:36
单片机与嵌入式系统应用 2016年6期

颜 伟

(江苏自动化研究所,连云港 222061)

基于XC2267M的工程机械发动机状态监测终端

颜伟

(江苏自动化研究所,连云港 222061)

摘要:为了实现对工程机械车辆发动机运行状态的实时监测及历史数据的保存、查阅,研制基于C166的工程机械发动机状态智能监测终端。该终端以C166汽车级16位微控制器XC2267M为核心,采用C语言编程,实现了发动机转速、油温、油压等信息测量、状态屏显、历史数据存储、状态报警、按键消音等功能。

关键词:XC2267M;C166;监测终端

引言

当前我国正处于经济飞速发展时期,作为社会发展的支撑,工程建筑、道路设施等迅速发展,对工程机械车辆的需求量也日益增长。发动机作为工程机械车辆的核心器件,其运行状态的好坏直接影响着工程车辆整车的运行效率以及运行安全。随着车辆运行状态监测系统信息化和智能化水平的不断提升,对状态监测系统的功能要求也越来越高。本文设计了一款工程机械车辆发动机运行状态智能监测终端,该终端以汽车级16位微控制器XC2267M为核心,采用C语言编程,实现了包含发动机转速、油温、油压等信息的实时测量,实测状态信息屏显,历史数据存储,状态信息超限报警,按键消除报警音等功能,具有监测全面、显示直观、软硬件成本低、编程灵活等特点,可以广泛应用于多种工程车辆发动机状态监测系统中。

1原理设计

本文设计的发动机状态监测终端采用C语言编程,硬件部分包括主处理器模块以及与其相连的外围电路,外围电路包括电源模块、存储器模块、实时时钟输入、传感器状态采集、通信总线模块、屏幕显示模块等,其硬件原理框图如图1所示。

图1 监测终端原理框图

主处理器模块选用英飞凌公司16位单芯片微控制器XC2267M作为控制核心,外围电路基于XC2267M的外设资源进行扩展。XC2267M最高工作频率为80 MHz,拥有16 位外部数据总线;具有两个支持外部复用器的可同步 ADC,可采集发动机外围多种模拟量信号;1个16通道捕获/比较单元CC2,可实时快速捕捉测量发动机转速频率信号;4个用于产生灵活PWM信号的捕获/比较单元(CCU6);2个多功能通用定时器单元GPT; 8个通用串行通道USIC,支持外围适配SPI、I2C等多种串行协议芯片; 6个CAN节点的MultiCAN。XC2267M的上述特点使其非常适合应用于工程车辆发动机状态监控终端。

电源模块由电源保护、电源转换、传感器供电与点火线开关等电路组成。电源保护电路能够对电源反接、过压和过流进行相应的保护,防止电流异常造成监测终端的损坏,保证了监测终端的安全;电源转换子模块将车载电池电压转换为监测终端内部所需的工作电压;传感器供电子模块使得工程车辆无需额外配备供电系统即可对外接传感器进行供电,不仅方便系统接线,还可以降低系统硬件成本;点火线开关允许在一直供电的系统中通过软件关闭监测终端。

存储器模块包括Flash程序与数据存储器、RAM存储器和非易失性EEPROM存储器。监测终端使用XC2267M片内的832 KB Flash作为BootLoader和C语言监测程序的存储空间,连接到XC2267M的SPI总线上的8 KB EEPROM存储器来记录系统监测历史信息。

传感器模块对车辆油温、油压、发动机转速等多种状态进行采集,将其转换成对应的电压、电阻、频率值,XC2267M由ADC模块采集电压、电阻值,由CC2频率捕获模块测量频率值,并由转换程序将电压、电阻、频率值还原为油温、油压、转速值。可以根据实际工作情况,设定油温、油压、转速超限值,当上述值出现超限情况时,将其超限值记录到EEPROM中,同时启动蜂鸣器报警。

RTC模块选用ISL1208实时时钟芯片,XC2267M使用I2C接口协议设定ISL1208的时间以及读取ISL1208的实时时间值,当采样的油温、油压、转速值出现超限时,记录超限值的同时,并将超限时间、超限类型、超限值组织为一条记录,保存在EEPROM中,方便以后查阅。

按键输入部分进行键值扫描,不同的按键完成蜂鸣器报警消音、超限历史记录查询翻页显示等功能。

利用CAN总线模块接口,可以通过BootLoader实现在监测终端不开壳的情况下完成底层程序的更新与维护;同时,可以通过CAN接口将监控数据实时发送,配合远端监控程序实现远程监控。

2软件设计

为了保证运行的高效率及状态监控的实时性,监测终端软件采用C语言编程。系统软件主要由两部分构成:BootLoader和应用程序。

BootLoader是嵌入式系统上电后执行的第一段用户程序,负责主处理器和内存控制器等关键外设的初始化,并从启动存储介质加载操作系统映像,根据配置引导操作系统,此外,它还负责嵌入式系统的维护,包括从上位机下载操作系统映像、执行系统测试等。适配BootLoader到监测终端,可以在无需打开监测终端外壳的情况下,使用CAN接口对监测终端的系统软件进行更新维护。这不仅方便了系统软件的更新升级,更避免因频繁开壳对监测终端外壳防水、抵抗电磁干扰的影响。BootLoader工作原理如图2所示。

图2 BootLoader流程图

应用程序是监测终端软件的核心部分,其中包含了对监测终端所有外设的初始化、传感器状态获取、状态信息屏显、状态超限判断、报警信息记录查询等核心功能。

采样模块ADC是监测终端的核心部分,系统能否实时地、准确地获取发动机油温、油压状态,很大程度上取决于ADC采样的精度与速度。采样模块ADC的初始化部分完成ADC内部时钟分频设定、扫描请求源选择、采样转换精度设置、中断服务请求输出线选择、转换结果寄存器选择等功能。

RTC实时时钟选用的是ISL1208芯片,该芯片通过I2C接口与XC2267M通信,XC2267M具有4个可灵活配置的USIC(通用串行接口通道)模块,每个模块内部包含两个串行通道,每个通道都支持软件选择其接口协议,故需初始化XC2267M的USIC的其中一个通道为I2C协议,设定其波特率、选择输入级引脚、配置移位控制信号、定义数据帧长度等。

数据存储芯片选用25LC640 EEPROM器件,该芯片通过SPI接口与XC2267M通信,需初始化XC2267M的USIC的其中一个通道为SPI协议,设定其波特率、选择输入级引脚、配置移位数据值和数据输出信号、定义数据帧长度、定义FIFO深度等。

显示屏选择JM12864M芯片,该芯片的RD(读)、WR(写)、CD(命令/数据选择)都是用XC2267M的GPIO控制,其数据线DO~D7直接接入XC2267M的P0口,有数据待写入JM12864M的显示缓冲区时,可直接将该数据写入P0的数据输出寄存器P0_OUT,即可将数据显示在JM12864M的屏幕上。

报警蜂鸣器由PWM驱动,XC2267M提供一个捕获/比较(CAPCOM)单元,该模块具有16路由2个定时器紧密配合工作的捕获/比较通道。CAPCOM通道可以将定时器的内容和给定值进行比较,匹配时修改输出信号,以产生频率和占空比都可调的PWM输出。

图3 系统软件流程图

按键检测由XC2267M外部服务请求(ESR)引脚检测外部中断实现,XC2267M的每个ESR引脚均配有跳变沿检测单元,可设定用作触发源的跳变沿,选择由单沿、双沿或不使用跳变沿触发。ESR具有内部数字滤波器(DF)来抑制毛刺,非常适合用作外部按键键值检测。系统软件总体流程图如图3所示。

监测终端的BSP通过英飞凌公司开发的一种适用其微控制器的快速代码生成工具DAvE(Digital Application Virtual Engineer)以可视化的向导式配置方式,设定所选用的模块功能,配置XC2267M的外围设备接口,根据配置自动生成相应的模块代码。在DAvE中,将监测终端的CPU工作频率、中断事件、中断向量入口等配置在所需要的工作状态,并为片上的外设以及中断控制自动生成C代码和相应的驱动程序。在Keil C166集成开发环境中导入DAvE工程文件,自动生成目标开发工程。设计中根据监测终端的外设完善BSP,实现所需功能。

实现检测终端底层功能BSP后,可基于MFC设计监控终端上位机软件,通过调用USB-CAN的驱动库函数中的CAN帧发送与接收函数,监控终端实时监测数据可通过CAN总线发送至上位机软件,在上位机软件中实时显示发动机状态信息,实现监测信息的远程查看。监控终端上位机软件界面如图4所示。

图4 发动机状态监控上位机运行界面

结语

参考文献

[1] 何海波.基于C166的工程机械智能控制器设计[J].工业控制计算机,2014(11).

[2] Infineon Technologies AG.XC2200M Derivatives User's Manual V2.0,2009.

[3] 英飞凌汽车电子生态圈.汽车嵌入式微控制器的工作原理与应用-英飞凌XC2000 家族MCU[EB/OL].[2016-01].www.infineon-ecosystem.org.

[4] 谢建.液压系统综合测试仪研究[J].液压与气动,2003(3):10-12.

Engine Status Monitoring Terminal for Construction Machinery Based on XC2267M

Yan Wei

(Jiangsu Automation Research Institute,Lianyungang 222061,China)

Abstract:In order to realize the real-time monitoring of the running state of the construction machinery engine and the preservation of historical data,the design of engine status intelligent monitoring terminal for construction machinery based on C166 is proposed,which uses C166 vehicle level 16 bit processor XC2267M as the core,and uses C language to program.The engine rotational speed,the oil temperature,the oil pressure measurement,the status information display,the history data storage,the condition warning,the key-press silencing and other functions are achieved.

Key words:XC2267M;C166;monitoring terminal

中图分类号:TP23

文献标识码:A

收稿日期:(责任编辑:薛士然2016-01-03)