终端linux内核网络linux嵌入式操作系统嵌入式

随着经济的发展,城市公交事业有了迅猛的发展,主要表现在:车辆变靓,站点增加,营运时间延 长,线路增多,市民出行时已感到这种可喜的变化。但随着生活节奏的加快,对生活品质要求的提高,乘客们早已不能满足于现有的服务质量。乘客的服务要求不仅 体现在乘车过程中,还体现在乘车前后;不仅需要有车乘,而且需要乘好车、好乘车。这些多层次、多元化的需求都是传统运营模式、调度方式所无法做到的,只有 智能公交系统的实施才能够从根本上解决这些问题。智能公交系统的实施,不仅可以给乘客带来巨大的利益,提升城市形象,还以为公交企业节约大量经营成本,提 高科学管理水平。因此智能公交系统的建设着重大的社会效益和经济效益。

智能公交系统由以下几部分组成:

1)车载设备子系统,简称"车载终端";

2)车站智能电子站牌子系统;

3)公交管理系统。

文中主要以车载设备子系统--车载终端为研究对象展开论述。

1 系统整体方案设计

文中研究的是一种基于GPS和3G的智能公交终端,简而言之就是研究车体部分车载终端设备。本文的研究主要分3大部分:视频监控部分;GPS定位部分;通过现有3G网络传输部分。

视频监控部分,主要是在车厢外部设置2个摄像头,车厢内部设置4个摄像头。车厢外部在 车的前后各设置一个摄像头,用来监控车体的前后车况,为交通意外发生后的责任判定提供有力证据。车厢内部在司机处设置1个摄像头,用来监控司机是否有打电 话,闲聊等违规操作;在票箱处设置1个摄像头,用来监控偷票漏票现象;在车体中间设置1个摄像头,用来防止乘客碰瓷索赔,车内偷盗等,减少公交车上的犯罪 率。下客门设置1个摄像头,用来观看乘客下车情况,乘客是否全都下车,是否有乘客从后门上车等逃票现象。

GPS定位部分,实现完善的导航功能。通过GPS全球定位系统确定公交车所在位置信息,把公交车所在的位置,路况信息可以实时的传送到PC机监控端,这样对车辆的调度起到关键的作用。

3G网络传输部分,近年来我国的3G网络已经很成熟了,可以高效的传输视频信息,本系统就是通过3C网络将公交车上采集到的视频信息和CPS信息传输到控制端,实现公交车运行时的全程监控。系统整体设计方案如图1所示。

图1 系统总体设计框图

2 系统硬件设计

硬件设计上,本系统采用ARM微处理器S3C2440芯片作为主控芯片,系统为存储扩 展了128MB的NANDFLASH和64MB的SDBAM,这样可以更好的储存视频信息。系统的外围扩展模块包括通用USB摄像头、GPS模块、3G模 块和LCD显示屏。系统的硬件框图如图2所示。

图2 硬件系统设计框图

2.1 主控芯片的选择

本系统设计的监控终端要求多路传输,实时性强,低功耗等特点。因此本系统的主控芯片选 择了内核为ARM920T的ARM9处理器。由于S3C2440芯片应用比较广泛,片内资源丰富,资料齐全,价格适中,所以选择它作为系统的微处理器。该 处理器是一款基于RISC的32位微处理器,工作频率为400 MHz,最高可达533 MHz,满足了举系统对处理速度的要求,同时该处理器还集成了丰 富的通信接口和控制器,有效地降低了系统的复杂度,为系统开发提供了良好的硬件平台。

2.2 摄像头模块的选型与连接

文中采用的是动态视频形式的监控方式。选用的是网眼V2000摄像头,其图像传感器和 数字信号处理芯片为Omnivision公司的OV7620和OV511它的成像速度快、图片质量高、成本低,具有良好的通用性。其采用USB接口,不需 要视频卡,可即插即用,使用方使,图像精晰连贯,马赛克比率低。为视频的良好录制提供了可靠的硬件基础。网眼V2000摄像头通过其USB接口直接与 CPU上集成的USBHost接口相连。

OV7620是一款高集成度、高分辨率的彩色图像传感器。其分辨率为640x480, 传输速率可达30帧/秒。OV7620的控制采用SCCB(Serial Camera Control Bus)协议,可利用其 SCCB(Serial Camera Control Bus)接口完成对它的有关设置和读取图像数据。

ov511是摄像头的主控芯片,其片内的高性能压缩引擎可使图像的压缩比达到7:1,保证了从图像传感器到主控制器的快速图像传输。

2.3 GPS模块的选型与连接

本系统的GPS模块采用的是HOLUX的GB-87模块。该模块支持NMEA0183 协议,支持V3.3-V5.5电压输入,TTL接口电平,波特率可置。在本系统中,GR-87模块通过6PIN排线与主板相连,1脚为电源输入脚,接 5 V电源,2、3脚为GPS模块的数据接收和发送,5脚接地。工作时,GPS模块串口2与主控制器S3C2440进行通信,通过设置模块定时输出GPS 定位数据,由主控制器对GPS数据进行处理,提取出经纬度,时间等有用信息,为自动报站及正点考核提供可靠数据,保证报站及正点考核功能的实现。

2.4 3G模块的选型与连接

根据无线接口技术的不同,现有3G技术可以分为联通的WCDMA技术,电信的 CDMA2000技术和移动的TD-SCDMA技术。考虑到传输带宽、网络稳定性、实用性等因素,本系统采用电信CDMA2000作为无线网络传输,采用 中兴公司的MC8630模块作为视频数据传输模块。MC8630模块具有语音、短信、数据业务和GPS等功能,工作频段为800MHz,通过双天线接收分 集技术和均衡技术,上行速率最高可达3.1 Mbit/s下行速率最高可达3.1 Mbit/s.可以通过USB接口将MC8630模块连接到 MIN2440(S3C2440为主芯片的开发板)处理器上,实现封装后的视频数据传输。

3 系统软件设计

目前常见的嵌入式操作系统主要有WinCE、Linux、Vxworks等几种。其中 Linux操作系统的源码完全开放。由于其自身具有高效稳定、网络资源丰富、内核小、执行速度快,可移植性好等优点,被广泛应用于嵌入式系统领域。所以, 选择嵌入式Linux操作系统作为本系统的软件开发平台。

在软件设计方面,首先需要在单片机和PC机之间建立交叉编译环境,用来编译引导程序和 Linux内核。然后完成引导程序Bootloa der的移植;配置和编译Linux内核;制作根文件系统以及底层驱动程序。最后,通过编写上层应用程 序完成图像采集、GPS信息采集、3G传输等功能。下面几节详细的介绍了几个主要程序的设计思想。

3.1 图像采集程序

在视频采集方面,本文采用的摄像头是网眼V2000,它是一款是以ov511为主控芯片的摄像头。选用它的原因是由于Linux内核自带ov511驱动,所以不用再自己编写摄像头的驱动程序,只需在定制内核的时候选中即可。为开发节省了时间。

当Linux系统正常启动后,插上V2000摄像头,如果成功加载驱动,将为摄像头在 /dev/v41/目录下创建设备文件device0,上层应用程序即可通过此设备文件访问摄像头,实现拍摄图像的功能。嵌入式系统平台已搭建成功,要实 现实时地获取图像,就需要利用V4L(Vidio For Linux)编程接口实现图像采集程序了。考虑到摄像头采集的640x480的RGB图像数据 量较大,这里用图像压缩函数put_image_jpeg将图像转化为JPEG格式,这样存储时就减少了占用的NandFlash空间,同时通过3G网络 回传监控中心时,也减少了传输费用和确保传送成功。

3.2 GPS解析程序

GPS接收机HOLUX的GR-87模块输出数据格式符合NMEA.183标准。 NMEA.0183协议是由美国国家海洋电子协会制定的一种串行通信的数据协议,所有输入输出信息均为一行ASCII字符。它的一条消息称为语句 (Sentence),每条语句都以"$"开始,以回车换行符(<CR><LF>)结束,中间是用逗号分隔的若干个域。

由于此GPS模块设置信息掉电丢失,在每次系统启动时均要对该GPS模块进行初始化。 将模块设置成每秒钟输出一次GPS信息。系统启动后,模块接收GPS信息,然后解析出GPS信息,根据解析出来的经纬度信息与数据区中存储的站点信息比 较,计算出实际距离。如果距离到达阀值时,启动GPS报站中断。该GPS模块接收模块遵循NMEA.0183协议,可以输出多种格式的数据帧,均 以"MYM"开头。输出数据采用的是ASCII码字符,内容包含了纬度、经度、速度、日期、航向及卫星状况等信息。该系统所使用的仅限于$GPRMC定位 数据帧格式。系统启动后,通过串口对GPS模块进行设置,由于系统对实时性要求不高,将GPS设置为每秒钟输出一次RMC数据。提取GPRMC语句的思路 是设置一个数据缓冲区,把接收到的GPS数据都放入这个缓冲区,当缓冲区满了的时侯就在缓冲区中查找是否接受到GPRMC定位语句,如果没有接收到则重新 接GPS数据。如果找到GPRMC定位语句则还要判断该语句在缓冲区中的位置离缓冲区的最大字节数是否大于62个字节(因为本程序中需要的GPRMC定位 语句所包含的字节数为62),然后通过多程序提取相关经纬度、时间和速度等信息并通过数据处理线程进行相关处理。运行过程如图3所示。

图3 GPS模块运行过程

3.3 3G模块解析程序

MC8630模块驱动可以通过驱动源码交叉编译生成。MC8630模块的加载和拨号连接的过MC8630模块驱动可以通过驱动源码交叉编译生成。MC8630模块的加载和拨号连接的过程如下:

1)在编译前首先要确认编译驱动和编译内核的编译环境相同,也就是需要相同版本号的交叉编译工具(本系统Linux版本号为2.6);

2)修改驱动源码Makefde文件,包括添加内核源码目录和编译工具;

3)Make编译之后,生成ztemt.ko;

4)insmod ztemt.ko,生成4个设备节点/dev/ttyUSB0-ttyUSB3;

5)mknod/dev/ttyUSB0 c 188 0,创建设备节点;

6)编写Linux下拨号脚本、chat配置文件和账号密码配置文件;

7)添加内核选项,编译支持PPP协议的内核;

8)pppd call evdo拨号连接,ifconfig查询网络是否连接;

9)ppp-off中断连接。

4 结束语

本系统设计的智能公交终端采用先进的3G/GPS技术,通过对公交车辆运行时的信息的采集、传输和处理,实现了对公交运营车辆的实时监控和调度,迅速调整公交车辆的运行状况,提高车辆工作的效率,使公交资源实现最佳利用和分配,达到公交的智能化。