基于Linux的ARM 9远程客车监控系统
2012-06-09樊迎迎
张 雪,李 欣,樊迎迎
(哈尔滨理工大学 通信工程系,黑龙江 哈尔滨 150080)
随着我国汽车数量的增加和国家公路网的建设,城市间的往来日益频繁,受经济利益的驱使,长途客运市场普遍存在超员等问题,由此造成的重特大交通事故逐年增加,已严重威胁了人民群众的生命和财产安全。目前,客运交通监管部门主要采用设立检查站和路上巡检的传统方法检测客车是否超员,这些方法耗费人力物力,自动化程度不高,管理落后而且检测精度很低。在国内,只有少数地区对当地的部分运营车辆安装了智能检测设备。本文设计的监控终端以GPS定位信息和车内的图像数据为基础,利用GPRS无线通信技术,通过Internet建立与交通监管中心的通信,对长途客车的超员、超速、以及车辆运行状况、突发事件等进行实时监控,为交通监管、车辆调度、事故处理提供了必要的依据和证据。
1 系统整体设计方案
本文针对长途客车监控终端的功能要求,以GPS空间定位技术作为定位手段,获得客车当前的定位信息。同时提出通过摄像头模块采集车内图像的超员检测方案,即当长途客车在出站和运输途中,发生开关门动作并重新运动时,车内的摄像头会自动拍摄图片,同时将GPS接收信息中的定位信息和车内图像信息以约定的数据帧格式通过GPRS数据通道上传至监控中心,方便监控载客数量,避免超员,有效防止了由于司乘人员私自带客给公司带来的经济损失。同时监控人员也可以发送指令,随时进行图片拍摄和回传。此外,当车内发生抢劫、盗窃或意外事故时也可以人为启动摄像头进行拍照。这种设计可以在出现超员等情况下使得监控中心第一时间获取到目标客车的图像和定位信息,为监控中心实现全方位客车管理提供有力的帮助。系统的整体设计方案如图1所示。
图1 系统原理图Fig.1 System theory diagram
2 系统硬件设计
在硬件设计上,基于系统多任务并发执行的需要,主控电路采用ARM微处理器S3C2440芯片;系统的存储单元分别采用了SDRAM和NAND Flash;其外围接口设备包括GPS接收机、GPRS通信模块、摄像头等。系统的硬件连接框图如图2所示。
图2 硬件连接框图Fig.2 Hardware connection diagram
以下就图中主要电路展开说明。
2.1 微处理器的选择
文中设计的监控终端要求具有性能高、运行可靠、功耗低等特点。鉴于此,嵌入式微处理器选择了内核为ARM920T的ARM9处理器。综合考虑成本、集成度、处理速度、开发难度等诸多因素,本系统决定选择SAMSUNG公司生产的S3C2440芯片作为系统的微处理器。该处理器是一款基于RISC的32位微处理器,工作频率为 400 MHz,最高可达533 MHz,满足了本系统对处理速度的要求,同时该处理器还集成了丰富的通信接口和控制器,有效地降低了系统的复杂度,为系统开发提供了良好的硬件平台。
2.2 GPS模块的选型与连接
GPS全球定位系统是最新一代的卫星导航定位系统,可为用户提供全天候、全球性和高精度的实时定位导航服务。GPS系统包括3个部分:空间部分—GPS卫星星座;地面控制部分—地面监控系统;用户设备部分—GPS接收机[1]。GPS的空间部分和地面监控部分,是用户应用该系统进行定位的基础,而用户只有通过用户设备,才能实现应用GPS定位的目的。GPS接收机负责接收GPS卫星发送的定位信号,并计算出车载终端当前所处位置、速度、方向等信息。在嵌入式车载监控终端系统中,从价格、功耗、体积、抗干扰能力等方面比较,本课题选择了GARMIN GPS15L。最简单的系统,除GPS外还要包括外部电源和GPS天线。与GPS系统的通信可以通过RS232或CMOS电平的串行口来实现。
2.3 GPRS模块的选型与连接
GPRS技术具有实时在线、覆盖范围广、数据传输速率高等优点,目前被广泛应用于远程监控系统中,主要完成被监测数据的远程无线传输。采用GPRS无线通信技术进行远程数据传输为该系统的实时监控管理提供了良好的解决方案。GPRS通信模块主要完成无线上网的功能,通过GPRS传输手段连接到Internet网络,并主动与监控中心建立双向数据通信链路。文中选用SIMCOM公司的SIM300模块,它可自动掉线重连,支持GSM/GPRS通信,内嵌了强大的TCP/IP协议栈,AT指令功能完善,具有SIM卡连接、天线、RS232串口等接口。S3C2440提供标准的RS232串口,可以通过串口和各种外设进行通信。SIM300与S3C2440之间的通信就是通过串口来实现的。
2.4 摄像头模块的选型与连接
考虑到无线网络的带宽限制和本系统的应用背景,文中采用了静态图像监控方式。选用的是网眼V2000摄像头,它的成本低、成像速度快、图片质量高,具有良好的通用性。其采用USB接口,不需要视频卡,可即插即用,使用方便,图像清晰连贯。其图像传感器和数字信号处理芯片为Omnivision公司的OV7620和OV511。
OV7620是一款高集成度、高分辨率的彩色图像传感器。其分辨率为640×480(30万像素),传输速率可达30帧/秒。OV7620的控制采用 SCCB(Serial Camera Control Bus)协议,可利用其SCCB(Serial Camera Control Bus)接口完成对它的有关设置和读取图像数据。OV511是摄像头的主控芯片,其片内的高性能压缩引擎可使图像的压缩比达到7:1,保证了从图像传感器到主控制器的快速图像传输。
网眼V2000摄像头通过其USB接口直接与CPU上集成的USB Host接口相连。
3 系统软件设计
常见的嵌入式操作系统有 Linux、WinCE、Vxworks等。Linux操作系统的源码完全开放,由于其具有高效稳定、内核小、执行速度快,网络资源丰富,可移植性好等优点,广泛应用于嵌入式系统领域[2]。因此,选择嵌入式Linux操作系统作为本系统的软件开发平台。
在软件设计上,首先需建立交叉编译环境,用来编译引导程序和Linux内核。然后完成引导程序Bootloader的移植;配置和编译Linux内核;制作根文件系统以及编写各外设与CPU间的接口驱动程序。最后,通过编写上层应用程序完成GPS信息采集、图像采集、GPRS传输等功能[3]。下面具体介绍了几个主要程序的设计思路。
3.1 图像采集程序
在车载监控系统中,摄像头网眼V2000是以ov511为主控芯片的摄像头,它的驱动主要是要实现结构体相应函数功能。由于Linux内核自带ov511驱动,所以不用再自己编写摄像头的驱动程序,只需在定制内核的时候选中即可[4]。
当Linux系统正常启动后,插上V2000摄像头,如果成功加载驱动,将为摄像头在/dev/v4l/目录下创建设备文件device0,上层应用程序即可通过此设备文件访问摄像头,实现拍摄图像的功能。嵌入式系统平台已搭建成功,要实现实时地获取图像,就需要利用V4L(Vidio For Linux)编程接口实现图像采集程序了。考虑到摄像头采集的640×480的RGB图像数据量较大,这里用图像压缩函数put_image_jpeg将图像转化为JPEG格式,这样存储时就减少了占用的Nand Flash空间,同时通过GPRS网络回传监控中心时,也减少了传输费用和确保传送成功[5]。
3.2 GPS解析程序
GPS接收机GPS15L输出数据格式符合NMEA-0183标准。NMEA-0183协议是由美国国家海洋电子协会制定的一种串行通信的数据协议,所有输入输出信息均为一行ASCII字符。它的一条消息称为语句(Sentence),每条语句都以‘$’开始,以回车换行符(
起始符,固定字符‘$’,表示语句开始;
标识符域,表示一条语句的全部数据域的特定格式,长度可变;
数据域,包含各种类型的数据,各数据之间用逗号分隔,数据域可以为空,但用来分隔数据的逗号不可省略;
校验和,以‘*’开始,由2个字符的十六进制数组成;
结束符,固定字符
NMEA-0l83语句中最常见的几种格式有GPGGA、GPRMC、GPGSV、GPVTG等,它们包含的信息不尽相同。本设计中采用的是 GPGGA(Global Positioning System Fix Data)输出语句,它包含了主要的GPS定位数据。
GPS信息解析程序流程图如图3所示。
图3 GPS信息解析程序流程图Fig.3 GPS information analysis program flow chart
3.3 GPRS数据传输程序
GPRS数据传输任务分为GPRS初始化、建立连接、传输数据和断开连接这4个步骤[6]。
GPRS初始化主要是完成波特率等通信参数的设置。初始化完成后,就可以通过AT命令建立和GPRS网络的物理层连接,然后实现GPRS网络的附着、PDP激活、传输环境配置,进而建立PPP数据链路,最后实现Internet的接入,进入数据传输阶段。本设计中,采用的中国移动的GPRS网络。当拨号上网成功后,就通过中国移动网关连接到了Internet,因此就可以利用TCP/IP协议与Internet上的交通监管中心的IP地址进行通信了。由于Linux操作系统已内置TCP/IP协议栈,因此可以直接使用套接字编程实现数据传输。套接字的基本模式是C/S(客户/服务器),监控终端是客户模式,而远程监控中心是服务器模式。GPRS数据传输程序的流程图如图4所示。
4 结束语
图4 GPRS程序流程图Fig.4 GPRS program flow chart
针对长途客车监控手段相对落后以及事故频发的现状,提出了一种基于GPRS/GPS的监控系统。经实验测试,该系统在灵敏度和精度上均能满足实际的需求,解决了传统的巡检方式造成的人员浪费和检测精度低的问题,有效防止了客车超员现象的发生,为长途客运的安全提供了保障,同时也使得交通监管部门的工作更科学化、系统化和自动化。此外,本系统还可以进一步扩充,如可以增加免提车载电话、语音提示、报警开关等,使监控系统的功能更加完善和智能。
[1]刘基余.卫星导航定位原理与方法[M].北京:科学出版社.2008.
[2]田日才,黄佳.GPS/GPRS车载监控终端的设计与实现[J].现代电子技术,2008,31(15):186-188.TIAN Ri-cai,HUANG Jia.Design and implementation of car monitor terminal based on GPS/GPRS[J].The Modern Electronic Technology,2008,31(15):186-188.
[3]吴军,周转运.嵌入式Linux系统应用起初与开发范例[M].北京:人民邮电出版社,2007.
[4]徐大诚,邵雷,李培光.基于USB2.0的数字图像视频流的实时捕捉与显示系统的设计与实现[J].计算机应用与软件,2008(9):133-135.XU Da-cheng,SHAO Lei,LI Pei-guang.Design and implementation of real-time capture and display system of the digital images the video streaming based on USB2.0[J].Computer Application and Software,2008(9):133-135.
[5]刘秀英,赵刚.基于ARM的视频图像采集及无线传输系统[J].计算机时代,2008(11):20-21.LIU Xiu-ying,ZHAO Gang.The video image acquisition and wireless transmission system based on ARM[J].The Computer Age,2008(11):20-21.
[6]张艳红.基于嵌入式Linux系统PPP协议的实现 [J].信息与通信,2006(17):43-46.ZHANG Yan-hong.The implementation of PPP protocol based on embedded Linuxsystem[J].Information and Communication,2006(17):43-46.