随着城乡经济建设发展,城市交通也得到很大发展,但迅速增长的机动车辆与发展相对滞后的城市道路之间不配套矛盾日益突出。利用计算机控制和处理的电子警察系统,通过对违章车辆自动监督,可以极大改善交通路口混乱情况,减少交通违章造成的人为塞车和事故,提高交通执法准确性和效率。但是,这种系统在实用中尚存在一些问题:
(1)电子警察系统与交通管理系统需要专用光纤联结,造价高,施工难度大。
(2)图像数据大,在网络中传输速度慢。
基于以上缺点,本文提出一种PDA无线交通管理系统。在电子警察系统中,摄像机拍摄违章车辆的图像,车辆图像数字化后送给PDA处理。具有高速处理器芯片PXA255的PDA对车牌字符进行识别,对车辆颜色进行提取和识别,对车辆类型进行识别。然后,PDA把违章车辆的车牌号码、颜色和车型、违章车辆速度和闯红灯时间等数据通过GPRS通信,送给无线接入装置。无线接入装置把这些数据传给Internet,Internet再把这些数据传给交通管理系统数据中心。
近年来,个人数字助理PDA(Personal Digital Assistant)是继笔记本式计算机、小型掌上计算机之后电脑微型化的又一重大突破。PDA具有轻巧、便于携带、操作方便、液晶屏幕显示效果较好、可以无线通信等诸多优点。在发达国家,PDA早已成为便利的移动信息产品。最新的PDA手机集移动电话、PDA、电子辞典和网络等功能于一身,特别是具有传真、收发电子邮件、上网浏览等功能。PDA具有超大高画质显示屏、体积小、重量轻等优点,可以以无线方式接入局域网或者Internet,轻松地访问网络数据库,也可以以有线方式直接上网。所以,PDA必将在交通管理系统中得到广泛应用。
Linux具有高效性、开放性、安全性。选用Linux作为操作系统。
在PDA交通管理系统中,可以把违反交通规则车辆号码、颜色等资料经过PDA处理后,以数字数据形式上传给交通数据管理中心。PDA上传的数字数据,与原电子警察系统上传的图像数据相比,具有传输速度快的优点。交通管理系统可以及时得到违章车辆信息,从而更好地对交通系统进行管理,更好地保证交通管理系统正常运作。在该系统中,采用PDA和无线接入装置,把违章车辆的数据直接送给Internet。这样可以充分利用目前无处不在的Internet,降低建造系统的施工难度,减少建造经费。
1 电子警察与PDA系统
电子警察与PDA系统如图1所示。
在该系统中,当车辆闯红灯时,地感线圈感应到车辆信号,检测器被触发,并通过I/O 接口板向控制主机发出1个开关信号,由信号灯控制器发出的“红灯”信号也通过I/O接口板向计算机发出1个开关信号,两者同时具备时,控制主机给摄像机发出1个控制信号。摄像机动作,拍摄违章车辆图像。车辆经过检测线圈时,控制主机检测车速,同时记录闯红灯时间。由于PXA255处理器运行速度高,它能满足高速处理图像数据的要求。具有PXA255处理芯片的PDA可以根据数字化后的车辆灰度图像,对车辆颜色进行提取和识别,对车牌类型进行分类,对车辆字符进行识别。车辆字符识别系统包括图像二值转换,图像差分、滤波与平滑,车牌定位与旋转,字符切割,字符识别,车牌颜色提取与识别和车牌分类等功能模块。违章车辆速度和颜色、闯红灯时间、违章车辆类型和经过识别的车牌字符等信息,由PDA以数据信号形式发送给无线接入装置。
2 PDA交通管理网络系统
该系统的结构如图2所示。
无线接入装置接入的PDA信息,通过Internet网送给交通数据管理中心。该体系结构主要功能是:
(1)支持PDA接入,把PDA的数据以无线通信方式接收到无线接入装置中;
(2)保证数据经过公共GPRS网络和Internet时的安全,根据无线终端设备特点(如屏幕大小、所使用的浏览器等)进行数据格式自动转换,以得到最优化数据的显示;
(3)与后台交通管理数据库应用集成。该体系结构基于数据库和无线通信,配合相关服务器和第三方产品(如路由器和防火墙等),组成一个端到端的安全解决方案。
3 PXA255及其应用
Intel PXA255处理器符合工业产品应用标准,符合工业上倡导的MIPS/mV性能设计要求。这个处理器将一个复杂集成电路合成在一块芯片上,采用Intel XscaleTM微结构体系框架,具有许多外围接口,功能强大。PXA255具有嵌入式处理器的优点,可广泛应用于便携式装置、网络设备中。其信号流程图如图3所示。
图3中RTC为实时控制,OS Timer为振荡器的定时器,PWM为脉宽调节器。I2C(Inter-Integrated-Circuit)总线单元提供一个两脚串行通信口,其中SDA数据脚提供给数据线和地址线,SCL时钟脚控制时钟。I2S(Inter-Integrated-Circuit Sound Controller)为立体声频串行接口控制器,AC97(AC’97 Controller Unit)为声频控制单元。I2S和AC97不能同时应用。UART(Universal asynchronous Receiver/Transmitter Serial Ports)异步接收/发送端口支持三种异步接收/发送UART模式。NSSP(Network Synchronous Serial Protocol)为网络同步串行端口,SSP为同步串行端口。SlowIrDA(Slow Infrared Data Association)为慢速红外线通信端口,FastIrDA为快速红外线通信端口。USB Client(Universal Serial Bus Client)为通用串行总线单元。MMC(Multimemedia Card Controller)为多媒体控制器。
PXA255的具体特征为:
(1)PXA255是一个32位处理器;
(2)Intel XscaleTM内核采用ARM*Version 5TE型指令结构,其中T指Thumb指令集,E(DSP-Enhance)指加强的DSP指令集,能进行整数和浮点数处理。
(3)PXA255工作电压是1.3V,而PXA250工作电压是1.5V,PXA255功耗更小,节约了电能。采用0.18μm制造工艺,是一块面积为17mm×17mm、256脚的芯片。
PXA255是一个高性能、低价格、低能耗的RISC处理器。采用该芯片的PDA,体积更小,电池用得更久,上网速度更快。
4嵌入式Linux的应用
4.1嵌入式Linux
高端嵌入式系统要求许多高级的功能,如图形用户界面和网络支持。很多高端RTOS供应商已经提供了这些功能,但其价格较高。微软的Windows CE有此类功能,但不具备大多数嵌入式系统要求的实时性能,而且难以移植。以DOS为基础用单独的第三方工具拼凑成一个操作系统,同样不能满足嵌入式系统的要求。嵌入式Linux操作系统以价格低廉、功能强大又易于移植而被广泛采用,成为新兴的操作系统。Linux嵌入式操作系统是一种实时的、支持嵌入式系统应用的操作系统软件,是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统在系统实时高效性、硬件的相关依靠性、软件固态化及应用的专用性等方面具有较为突出的特点。
Linux是与Unix相似、以核心为基础、完全内存保护、多任务多进程的操作系统,为嵌入操作系统提供了一个极有吸引力的选择。PDA选择嵌入式Linux作为操作系统,主要原因如下:
(1)系统处理实时性好,性能稳定。
(2)文件管理系统更适合于大量的图像数据。
(3)内核小巧和高效,作为专用系统,具有系统小、指令精简、处理速度快等特点。
(4)系统数据置于ROM/FLASH MEMORY,调用速度快,不会被改变,稳定性好。
(5)本身内置网络支持。
4.2 PAD中嵌入式Linux内核实现方法
Linux系统分为三个层次:用户、核心和硬件。Linux 内核可直接从Internet下载,也可从一发行版本如Red Hat Linux、Turbo Linux得到。Linux核心源代码执行GPL 版权协议,任何人都可在遵循GPL版权协议条件下对Linux核心进行修改和补充,并可根据自身应用系统的需求,进行裁减定制,形成针对应用的嵌入式Linux内核。本方案采用Red hat Linux 6.0,内核版本2.2.5,在保留TCP/IP 网络支持、STAR902以太网卡驱动的情况下,定制后的内核大小为360KB,足以满足本系统中嵌入式硬件及软件的需求。
Linux核心源程序通常都安装在/usr/src/linux下,核心源程序文件按树形结构进行组织。在这里,对Linux内核进行分析:
(1)系统的引导和初始化:Linux系统的引导有Lilo、 Loadin引导和Linux的自举引导三种。而Linux的自举引导所对应源程序为arch/i386/boot/bootsect.S,它为实模式汇编程序。无论哪种引导方式,最后都要跳转到 arch/i386/Kernel/setup.S。setup.S主要进行实模式下的初始化,为系统进入保护模式做准备。此后,系统执行 arch/i386/kernel/head.S。head.S 中定义的一段汇编程序setup_idt,负责建立一张256项idt表,此表保存着所有自陷和中断的入口地址,其中包括系统调用总控程序system_call 入口地址。除此之外,head.S还要做一些其他初始化工作。
(2)系统初始化后,运行第一个内核程序asmlinkage void__init start_kernel(void),它定义在/usr/src/linux/init/main.c中。它通过调用usr/src/linux/arch/i386/kernel/traps.c中的函数void__init trap_init(void),把各个自陷和中断服务程序的入口地址设置到idt表中。其中系统调用的总控程序system_call就是中断服务程序之一。void__init trap_init(void)函数则通过调用一个宏 set_system_gate,把系统调用的总控程序入口挂在中断0x80上。其中SYSCALL_VECTOR是定义在/usr/src/linux/arch/i386/kernel/irq.h中的一个常量0x80,而 system_call 为中断总控程序的入口地址。中断总控程序是用汇编语言在/usr/src/linux/arch/i386/kernel/entry.S中定义。
(3)中断总控程序主要负责保存处理机执行系统调用前的状态,检验当前调用是否合法,并根据系统调用向量,使处理机跳转到保存在sys_call_table 表中的相应系统服务例程的入口。从系统服务例程返回后退回用户程序状态,而系统调用向量则在/usr/src/linux/include/asm-386/unistd.h中定义,sys_call_table 表是在/usr/src/linux/arch/i386/kernel/entry.S中定义,系统调用的用户编程接口在 /usr/src/linux/include/asm-386/unistd.h 中定义。
(4)由此可见,Linux的系统调用也象DOS系统的 int 21h中断服务,把0x80中断作为总的入口,然后转到保存在sys_call_table表中的各种中断服务例程的入口地址,形成各种不同的中断服务。由以上源代码分析可知?熏要增加一个系统调用就必须在sys_call_table表中增加一项,并在其中保存好系统服务例程的入口地址,然后重新编译内核。当然,系统服务例程是必不可少的。
5 GPRS通信
该系统采用GPRS通信方法。GPRS(通用分组无线业务)是GSM标准化组织制定的一套标准,以实现移动分组数据业务。GPRS网是一个传输承载平台,提供端到端分组传输模式下数据发送和接收。GPRS具有五大特点:传输速率快;可灵活支持多种数据应用;网络接入速度快;可长时间在线连接;计费更加合理。所以,采用GPRS通信可实现远距离、传输速度高的通信。
PDA中应用PXA255处理器,运行速度快,系统性能得到极大提高。嵌入式Linux作为PDA操作系统,可根据需要定制内核大小,简单方便。Linux源代码公开,可充分利用已有资源,节约开发人员工作量。Linux不存在“黑箱”,操作系统安全性得到了保障。采用该系统,提高了交通管理质量。该系统提高了数据传输速度,减少了系统建造的费用,降低了施工难度。