首页 > 范文大全 > 正文

嵌入式车载远程监控系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇嵌入式车载远程监控系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文针对一种新型智能化工程机械机群通讯与定位系统,以基于32位嵌入式ARM微处理器的智能监控器为核心,通过CAN现场总线将车载上的各个底层控制系统连接起来并通过扩展GPRS无线通讯模块的方式,构建硬件总体框架和搭建软件平台,具体说明其实现过程,达到了车载远程的实时监控的目的。

关键词:ARM;CAN总线;嵌入式系统

中图分类号:TN915.1文献标识号:A文章编号:1009-3044(2008)36-3015-03

Remote Monitoring System of Vehicle-mounted Based on Embedded Platform

TANG Yong-bo, FENG Juan

(Physical Science and Technology College, Yichun University, Yichun 336000, China)

Abstract: A new type of intelligent communication and positioning systems in construction machinery group is introduced in this paper, based on 32-bit ARM microprocessor with intelligent monitoring, through CAN fieldbus, the system is connected with other subsystems and communicates with long-distance monitoring center by the way of expanding GPRS wireless communication module, building overall framework of hardware structures and software platform, specifying the implementation process, arriving to remote real-time monitoring of vehicle-mounted.

Key words: ARM; CAN bus; embedded system

车载监控系统是一种现代通信技术的高科技系统,是工程机械监控系统的中心。欧美等生产工程机械的发达国家早已开展了监控和智能控制技术在工程机械中的应用研究。目前,我国传统的工程机械存在着控制能力弱、维护成本高、设备功能少等不足。本系统在监控技术上有所突破,实现了租赁机械远程实时监控,通过GPRS通信模块远程监测车载的状况,在租赁机械发生故障时实现远程指导和合理调度。

1 远程监控系统的功能要求和特点

远程监控系统可以实时地对异地设备状态进行监测,及时发出故障诊断及维修指导,做出合理调度。系统由数据采集,远程传输,故障诊断三个部分构成。数据采集通过前端单元控制模块实现。远程传输通过GPRS模块将所采集到的数据发送出去。远程GPRS无线控制终端主要完成对GPRS无线数据的收发,以对现场所采集到的数据做相应处理。远程故障诊断中心,对故障的诊断通过故障诊断模块和各专家合作完成。故障诊断模块是根据设备故障机理建立起来的一个数据库,当远程设备发出故障诊断请求时,根据远程终端提供的各种故障信息及采集过来的设备状态信息进行分析,给出相应的故障处理方式。

2 系统硬件结构

2.1 系统总体框图

基于嵌入式的车载远程监控系统主要由三个部分组成:负责数据采集的前端单元控制模块,具备GPRS终端的车载主控模块,具有故障诊断的远程监控模块。总体结构如图1所示。前端单元控制模块由各个底层单元控制系统组成,如安全监控系统、电液比例控制系统等小系统,它们彼此独立,分别对工程机械的车况,工矿数据通过传感器进行采集,又通过CAN总线彼此进行通信,互传数据,受上层车载主控模块的监测与控制。车载主控模块主要查看前端各个系统实时状态及故障,报警信息,同时对各种状态进行分析处理,并通过GPRS和远程技术支持中心实现通信。远程监控系统通过GPRS通信模块监测车载的状况,发生故障时实现远程故障诊断,对故障设备实现远程指导和合理调度。

2.2 前端单元控制模块

前端单元控制模块负责数据的采集,其结构如图2所示。传感器根据具体信号采用不同的传感器。将检测到的传感器信号,经前置程控放大器AD526完成了信号的探测和初步处理后,获取了机械设备各检测状态的电压信号,但是这时的检测信号中所含的噪声成分仍然很大,而且有用的测试信号电平很低,往往被大量的噪声覆盖。因此需要采用信号调理器对测试信号进行处理,本系统通过程控滤波器MAX263对测试信号进行处理,从而有效地提取有用信号,降低噪声对有用信号的影响。经过信号调理后的检测信号通过AVR 微处理器Tmega64控制模数转换器AD7865转化为数字量。

2.3 车载主控模块

本模块的ARM芯片S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。S3C2410处理器最高可运行在203MHz。

S3C2410处理器在车载主控模块中的工作过程如下:上电或复位后,从Flash加载程序,完成对芯片的初始化和硬件的配置等工作,之后便通过SPI口对系统中的CAN总线控制器MPC2510芯片进行控制,系统各通道采集到的模拟信号经过AD7865芯片转换为数字信号,经CAN总线送到S3C2410的SPI口。S3C2410 将接收到的数字信号进行相应的处理,通过S3C2410上的接口LCD将相关信息进行实时显示。本系统中S3C2410处理器外扩了GPRS模块接口,通过GPRS通信模块监测车载的状况并做出故障诊断,以便发生故障时实现远程指导并合理调度工程机械。

2.3.1 触摸屏

触摸屏作为显示输出设备,用来显示嵌入式系统的图形界面,通过合理的显示界面的设计,可以给用户提供比较友好的操作环境。S3C2410的触摸屏接口可以方便地将触摸屏相联在嵌入式系统中, 解决了人机界面一个重要的技术问题。本设计中,液晶屏选用640×480的夏普LQ080V3DG01带背光TFT-LCD,并使用S3C2410芯片提供的LCD控制器对其进行控制。在完成触摸屏的基本控制后,进行后续的软件滤波、野点处理及坐标变换等工作。硬件上利用双沟道MOS 管FDC6321C 实现了触摸屏与S3C2410 的接口, 电路简单可靠。

2.3.2 供电电路及电源监测电路

整个电路板采用+5 V电压供电,从外部引入。Samsung公司ARM920T内核的S3C2410芯片需要2个独立的电压:内核电压CVDD(+1.8 V)和I/O电压DVDD(+3.3 V),分别采用TI公司的TPS54314和TPS54316来实现。设计中选用了TI公司生产的TPS3823-33复位芯片,其固定复位信号时间长达200 ms,能满足系统中所有芯片的复位需求。电路能确保在系统的加电过程中,CVDD和DVDD达到要求的电平之前,S3C2410芯片始终处于复位状态。芯片带有一个看门狗电路,通过WDI引脚接收来自S3C2410芯片的定时信号,避免发生系统程序跑飞的情况。

3 嵌入式系统平台构建

3.1 嵌入式操作系统Linux 内核移植

嵌入式Linux操作系统可应用于多种硬件平台,源代码可以免费得到,内核可以随意地配置,并提供网络支持,所以得到了广泛的应用[1]。

将嵌入式Linux系统移植到特定的硬件平台上,大致需要完成以下几个部分的工作:建立交叉编译环境、BootLoader的移植、配置编译Linux内核、制作根文件系统、下载,调试内核。Linux2.6内核已经提供了S3C2410处理器上包括LCD、触摸屏以及NAND FLASH等设备的相关信息结构体描述。他们分别为s3c2410fb-mach_info、s3c2410fb_ts_mach_inf和3c2410fb-platform_info。结合所采用的硬件实际配置信息,对devs.c文件所定义的各设备结构的platform_data成员进行赋值。

3.2 SPI接口下的CAN总线驱动程序的开发

在Linux中,设备驱动程序是操作系统内核和机器硬件之间的接口。Linux2.6内核中Device_driver是各个设备驱动程序所要实现的一个结构。在驱动程序的起始函数中,Device_register函数完成各自的设备驱动向platform_bus_type总线注册。注册过程会遍历该总线上已经注册的设备,找到与设备驱动相匹配。接着调用该设备驱动的probe函数完成相关寄存器配置、中断请求等硬件初始化工作并将设备驱动和匹配设备绑定。

在本系统中,驱动程序的功能主要是配置与MPC2510实现无缝连接的SPI接口、CAN总线控制器MPC2510的设置以及CAN总线上的数据发送与接收。S3C2420扩展CAN总线接口程序流程图如图3所示。

int spi_s3c2410_init();//初始化S3C2420 SPI接口

void spi_rec_send (int nr, void *devid, struct pt_regs *regs) //CAN 通过S3C2420 SPI接口收发程序

{

u_int wr_ch,rd_ch;

ClearPending(SPI0);//清中断标志

if(tx_buf.len

{

wr_ch=0x00; //初始化发送缓存

}

else

{

wr_ch=tx_buf.buffer[tx_buf.head]; if(tx_buf.head>=BUF_MAX_SIZE-1)

// 判断发送数据帧的是否完整

{

tx_buf.head=0;//清发送缓存指针

}

else

{

tx_buf.head++;

}

tx_buf.len--;

}

while (!((SPSTA0) & SPSTA_READY));

SPI_READ(rd_ch);//接收数据

SPI_WRITE(wr_ch); //发送数据

if(old_char==0x7E && rd_ch==0x7E)

is_sync=TRUE;

if(is_sync)

{

if(rx_buf.len < BUF_MAX_SIZE-1)

{

rx_buf.buffer[rx_buf.tail]=rd_ch;

rx_buf.len++;if(rx_buf.tail>=BUF_MAX_SIZE-1)

{

rx_buf.tail=0;//判断接受数据帧是否完整

} //清接收缓存指针

else

{

rx_buf.tail++;

}

}

else {

disable_irq(SPI0); //退出中断

}

count_t=0;

}

}

4 系统监控功能的实现

4.1 A/D转换模块

系统中前端单元控制模块微处理器采用ATMLE公司的单片机Tmega64,和TI公司高速模数转换芯片AD7865。将EOC管脚与Tmega64的 int4中断管脚相连,当A/D采样结束时,EOC从低变为高,系统产生中断,A/D信号进入14位寄存器中,产生一个14位的A/D值。具有独立的4通道逐次逼近型(SAR)的模数转换器,转换处理和数据的精度是通过CONVST信号和一个内部晶振控制的。CONVST管脚允许4个通道同步采样。转换开始是通过单片机Tmega64控制CONVST信号开始的,在CONVST的上升沿,被选中的通道的跟踪保持电路会被置为保持模式,转换开始。在CONVST信号的上升沿后,BUSY信号会变化,这表示转换正在进行, 并且在所有通道选择转换完成之前一直保持高电平。转换时钟是由内部产生的, 当BUSY信号会变为低电平,表示转换结束。在BUSY信号的下降沿,跟踪保持电路将回到跟踪模式。此时,AD7865内部的4个寄存器中已经保存了转换的数据,然后通过控制片选CS和读RD信号依次顺序读出4个通道AD转换值。 读出AD转换值后,改变CONVST为低电平信号。数据通过并行14位数据线接口从输出寄存器中被读出。

4.2 CAN总线模块

本设计中采用了Microchip公司生产的一种独立的可编程CAN控制器芯片MPC2510。由于S3C2410具有SPI接口,选用这款芯片可以通过SPI接口实现和S3C2410的无缝连接。MCP2510通过SPI接口与S3C2410进行数据传输,最高数据传输速率可达5Mbps。该器件包含三个发送缓冲器和两个接收缓冲器,减少了S3C2410处理器的管理负担。为增强CAN总线节点的抗干扰能力,通过光耦6N713与82C250连接来实现电气隔离,提高了系统的稳定性和安全性。

这样,一方面,A/D转换模块对工程机械设备的运行数据进行采集、转换,控制器通过CAN总线将其传送到主监控中心;另一方面,主监控中心将操作命令,由CAN总线通过控制器对机械设备进行控制,实现了车载系统的远程实时监控。

5 系统远程通讯的实现

GPRS终端采用SIMCOM 有限公司的SIM300 GSM/GPRS模块可以支持4频网络模式,具有标准AT命令接口,可以提供GSM语音、短消息和GPRS上网等业务。它可以工作在GSM850/EGSM900/DCS1800/PCS1900多种网络模式下,并且支持GPRS多时隙class10等级。本身只有40mm×33mm×3mm,采用PCB单面板设计。主要功能接口包括:电源接口、串行通信接口、模拟音频接口、标准SIM卡接口、射频接口等。

在本系统中,远端控制中心采用PC+GPRS模块的硬件结构,各现场主控中心则采用ARM+GPRS模块的硬件结构。GPRS模块提供了标准的RS232串行通信接口,最大支持460800 bps速率。GPRS模块与控制器之间的通信协议是AT命令集, 所有协议均符合GSM 07.07、GSM07.05以及SIMCOM增强型 AT命令集。由于ARM9芯片自身提供了TTL电平标准的串行口UART,本项目采用MAX3232C时实现RS232的电平转换。GPRS模块UART0接口用于支持硬件流控,默认用于AT 命令控制。UART0接口具有DTR、CTS和DCD等握手信号,系统中通过载波检测DCD可以检测GPRS模块是处于数据传送状态还是处于AT命令传送状态,终端准备DTR信号用来通知GPRS模块传送工作已经结束。

系统中若现场主控中心要向远端控制中心发送数据,设置如下即可:

AT+IPR = 115200设置波特率为115200bps

AT+CIPCLOSE (注销当前UDP连接)

AT+CIPSTART=“UDP”,“B的IP地址”,“B的端口号”(注册新的UDP连接)

(成功后会返回CONNECT OK和OK)

AT+CIPSEND (发送数据)

6 结束语

本系统是基于嵌入式平台把CAN总线运用于大型机械设备中,满足了大型机械设备控制对数据传输和控制命令传输的实时性要求。设计方案借助GPRS网络通信技术,通过系统各个部分之间的远程通信,实现了主控中心对远程设备的实时监控。

参考文献:

[1] 潘巨龙.ARM9嵌入式Linux系统构建与应用[M].北京:北京航空航天大学出版社,2006.

[2] 孙天泽.嵌入式设计及Linux驱动开发指南[M].北京:电子工业出版社,2005.

[3] 沈标正.电动机故障诊断技术[M].北京:机械工业出版社,1997.

[4] 刘松强.数字信号处理系统及其应用[M].北京:清华大学出版社,1996.

注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”