详解如何利用GPS/GPRS技术,设计CAN总线工程车辆远程监测系统
扫描二维码
随时随地手机看文章
随着工业现代化的飞速发展,工程车辆的种类越来越多,功能越来越强大。工程车辆在工程施工中起着举足轻重的作用,其作业条件、作业状况复杂多变,工作环境恶劣,使故障率大大增加。如何通过各种先进技术对工程车辆运行参数实施远程监控及对其进行科学地指挥、调度,是工程车辆行业的一个重要的研究课题,具有十分重大的现实意义。
1 系统整体结构
本文提出的CAN总线工程车辆远程监测系统,通过车载电子控制装置ECU的CAN总线获取车辆运行信息,并利用GPRS无线网络通信手段对车辆进行远程监控及调度管理。
工程车辆远程监测系统的体系结构主要由控制中心和车载移动终端组成。车载终端设备通过CAN总线接口模块获取车辆实时运行参数信息,合并GPS定位信息后将这些信息通过GPRS将数据发送至监控中心,控制中心将接收到的数据进行解析,并且在屏幕上实时地显示每个车辆的具体位置以及其它参量信息。同时控制中心根据各车辆具体情况下传相应的控制指令,对车辆进行远程实时控制。
图1 系统整体实物图
2 硬件设计
系统以C8051F040为核心模块,结合GPS模块、GPRS通讯模块、CAN总线模块、存储模块以及电源模块等实现对工程车辆运行过程状态的监控、显示、记录和报警,系统结构框图如图2所示。
图2 系统结构框图
2.1 单片机模块
本系统选用新华龙公司的C8051F040单片机作为核心控制单元,该芯片具有与MCS-51完全兼容的指令内核,采用流水线处理技术,提高了指令执行效率;集成JTAG,支持在线编程;采用低电压供电(2.7~3.6 V),因为工程车辆车载电源为24V,必须经过电源转换模块才能转换为系统各模块所需的电压。具备多种总线接口,两个UART口可实现全双工通信,通信波特率可分别设定,可分别用于GPS信号的接收和GPRS通讯交互。
此外,它内部集成的CAN控制器,符合CAN2.0B协议,带有32个消息对象,每个消息对象有独立的地址,可以配置为发送或接收数据,工作位速率可达1Mpbs。CAN总线控制器用于和工程车辆的ECU通讯,获取车辆的实时运行数据和故障数据。可见,选用该芯片可充分应用已有的功能,大大简化系统外围电路的设计。
2.2 GPS定位模块
工程车辆远程监测系统采用GS-87作为GPS模块,它是一个高效能、低功耗的智能型卫星接收模块。GS-87工作电压为3.3V,可以直接与单片机连接进行串口通讯;GS-87遵循NMEA_0183标准,定位精度可达10m以内,可以满足对车辆的定位要求。单片机通过串口与GS-87相连,通过编程对GPS接收到的信息进行处理,提取出用户所需的信息与监控中心通信以及存入外扩存储器模块。
2.3 GPRS通信模块
工程车辆远程监测系统选用MC55I作为GPRS模块,它是车载移动终端与监控中心建立通信的重要部分。其优势在于永久在线、快速数据存储,其GPRS是按流量计费,工作电压为3.3 至4.8V。该模块内嵌TCP/IP协议栈,通过串口和单片机相连,单片机使用AT指令控制GPRS模块与监控中心服务器通讯,通过车载移动终端的GPRS模块向监控中心发送车辆的实时信息以及接收来自监控中心的指令信息。
2.4 CAN总线模块
2.4.1 CAN控制器
本系统采用的C8051F040单片机已集成CAN2.0B控制器,只需对其寄存器进行相应的编程操作即可设置它的工作方式,控制它的工作状态,进行数据的发送和接收。
2.4.2 CAN收发器
C8051F040集成的是CAN控制器,要使CAN总线得以运行,还需在单片机上接CAN收发器,进行电气转换,将逻辑电平转换为平衡差分码,常用的CAN收发器为PHILIPS公司出品的TJA1050。为防止外界强电信号对系统影响, 单片机与TJA1050之间通过光电隔离器6N137隔离后相连;CAN总线上两端结点须加电容电阻对信号吸收,以避免信号反射。
2.4.3 数据传输线
目前车上主要有两条CAN,一条用于驱动系统的高速CAN,速率达到500kb/s;另一条用于车身系统的低速CAN,速率是100kb/s。它们是双向的,传输相同的数据,分别被称为CAN高线和CAN低线。驱动系统CAN主要连接对象是:发动机控制器(ECU)、自动变速控制器、防抱死制动控制器(ABS)、制动防滑控制器(ASR),安全气囊控制器(SRS)、主动悬架控制器、巡航系统控制器、电动转向系统控制器及组合仪表信号采集系统等,都是与控制汽车行驶直接相关的系统。它们对信号的传输要求有很强的实时性、连续性和高速性。车身系统CAN主要连接对象是:前后车灯控制开关、电动座椅控制开关、中央门锁与防盗控制开关、电动后视镜控制开关、电动车窗升降开关、空调控制开关等。它们对信息传输的实时性要求不高,但数量较多。图3所示为CAN总线通讯模块原理图。
图3 CAN总线通讯模块原理图
3 软件设计
3.1 CAN总线中断收发任务
按照多数车用CAN总线的配置,终端的CAN总线也配置成速率250K,工作在基本CAN模式下。CAN总线接收数据采用中断方式,中断程序把接收到的数据放入能容纳10帧的接收数据缓冲区中,CAN总线任务扫描缓冲区,并将缓冲区数据全部取出,以备处理。CAN总线一般传输8个字节固定长度的短帧,每帧数据附带一个ID号,根据不同的ID号来区分不同的数据帧。一般来说,ECU一次会发出数个不同ID号的数据帧。根据厂家的数据帧协议,可以从中获取车辆实时运行数据和故障报警数据,包括:水温、油温、油位、油压、发动机转速、车辆倾斜度、报警值等。同时发送消息给各节点。CAN总线中断收发任务流程图如图4所示。
图4 CAN总线中断收发流程
3.2 主程序任务
给车载终端上电后,便开始各模块的初始化以及开中断,GPS开始获取定位信息,单片机编程处理接收的数据并与CAN总线任务获取的车辆实时工作信息合并,组成一帧数据。系统一旦运行,GPRS通讯任务就开始通过AT指令登陆网络,并保持一直在线,然后准备接收其它任务的数据发送请求,并发送数据给远程服务器,由远程服务器按通讯协议解析后,送进数据库。远程用户通过网页形式可浏览数据库内容,进而对工程车辆进行监监测和调度管理。主程序流程图如图5所示。
图5 主程序流程图
4 结论
该系统硬件上采用模块化设计,使得硬件可靠性得到较大提高;软件上也采用模块化程序编写,使系统易于维护和升级。本系统运用GPS定位技术和GPRS无线网络通信技术,结合车辆CAN总线,能有效的在远程Internet终端上实时再现工程车辆位置和运行情况,保证了同步监测的有效性、及时性和安全性。经实际应用测试,运行效果良好,具有良好的推广价值和应用前景。