《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于PXA255的PDA交通管理系統(tǒng)在Linux環(huán)境下的實現(xiàn)

基于PXA255的PDA交通管理系統(tǒng)在Linux環(huán)境下的實現(xiàn)

2008-09-08
作者:寧志剛 汪仁煌

??? 摘 要: 介紹一種PDA交通管理系統(tǒng)" title="管理系統(tǒng)">管理系統(tǒng),。該系統(tǒng)具有數(shù)據(jù)傳輸速度快" title="速度快">速度快,、建造容易和造價低的特征。PDA采用PXA255處理器,具有節(jié)能、運行速度快和體積小的優(yōu)點,。PDA采用嵌入式Linux操作系統(tǒng),能根據(jù)需要修改內(nèi)核,。
??? 關鍵詞: PDA? 嵌入式Linux? 內(nèi)核

?

??? 隨著城鄉(xiāng)經(jīng)濟建設發(fā)展,城市交通也得到很大發(fā)展,但迅速增長的機動車輛與發(fā)展相對滯后的城市道路之間不配套矛盾日益突出,。利用計算機控制和處理的電子警察系統(tǒng),通過對違章車輛自動監(jiān)督,可以極大改善交通路口混亂情況,減少交通違章造成的人為塞車和事故,提高交通執(zhí)法準確性和效率,。但是,這種系統(tǒng)在實用中尚存在一些問題:
??? (1)電子警察系統(tǒng)與交通管理系統(tǒng)需要專用光纖聯(lián)結(jié),造價高,施工難度大。
??? (2)圖像數(shù)據(jù)" title="圖像數(shù)據(jù)">圖像數(shù)據(jù)大,在網(wǎng)絡中傳輸速度慢,。
??? 基于以上缺點,本文提出一種PDA無線交通管理系統(tǒng),。在電子警察系統(tǒng)中,攝像機拍攝違章車輛的圖像,車輛圖像數(shù)字化后送給PDA處理。具有高速處理器芯片PXA255的PDA對車牌字符進行識別,對車輛顏色進行提取和識別,對車輛類型進行識別,。然后,PDA把違章車輛的車牌號碼,、顏色和車型、違章車輛速度和闖紅燈時間等數(shù)據(jù)通過GPRS通信,送給無線接入" title="無線接入">無線接入裝置。無線接入裝置把這些數(shù)據(jù)傳給Internet,Internet再把這些數(shù)據(jù)傳給交通管理系統(tǒng)數(shù)據(jù)中心,。
??? 近年來,個人數(shù)字助理PDA(Personal Digital Assistant)是繼筆記本式計算機,、小型掌上計算機之后電腦微型化的又一重大突破。PDA具有輕巧,、便于攜帶,、操作方便、液晶屏幕顯示效果較好,、可以無線通信等諸多優(yōu)點,。在發(fā)達國家,PDA早已成為便利的移動信息產(chǎn)品,。最新的PDA手機集移動電話,、PDA、電子辭典和網(wǎng)絡等功能于一身,特別是具有傳真,、收發(fā)電子郵件,、上網(wǎng)瀏覽等功能。PDA具有超大高畫質(zhì)顯示屏,、體積小,、重量輕等優(yōu)點,可以以無線方式接入局域網(wǎng)或者Internet,輕松地訪問網(wǎng)絡數(shù)據(jù)庫,也可以以有線方式直接上網(wǎng)。所以,PDA必將在交通管理系統(tǒng)中得到廣泛應用,。
??? Linux具有高效性,、開放性、安全性,。選用Linux作為操作系統(tǒng),。
??? 在PDA交通管理系統(tǒng)中,可以把違反交通規(guī)則車輛號碼、顏色等資料經(jīng)過PDA處理后,以數(shù)字數(shù)據(jù)形式上傳給交通數(shù)據(jù)管理中心,。PDA上傳的數(shù)字數(shù)據(jù),與原電子警察系統(tǒng)上傳的圖像數(shù)據(jù)相比,具有傳輸速度快的優(yōu)點,。交通管理系統(tǒng)可以及時得到違章車輛信息,從而更好地對交通系統(tǒng)進行管理,更好地保證交通管理系統(tǒng)正常運作。在該系統(tǒng)中,采用PDA和無線接入裝置,把違章車輛的數(shù)據(jù)直接送給Internet,。這樣可以充分利用目前無處不在的Internet,降低建造系統(tǒng)的施工難度,減少建造經(jīng)費,。
1 電子警察與PDA系統(tǒng)
??? 電子警察與PDA系統(tǒng)如圖1所示。

?


??? 在該系統(tǒng)中,當車輛闖紅燈時,地感線圈感應到車輛信號,檢測器被觸發(fā),并通過I/O 接口板向控制主機發(fā)出1個開關信號,由信號燈控制器發(fā)出的“紅燈”信號也通過I/O接口板向計算機發(fā)出1個開關信號,兩者同時具備時,控制主機給攝像機發(fā)出1個控制信號,。攝像機動作,拍攝違章車輛圖像,。車輛經(jīng)過檢測線圈時,控制主機檢測車速,同時記錄闖紅燈時間。由于PXA255處理器運行速度高,它能滿足高速處理圖像數(shù)據(jù)的要求,。具有PXA255處理芯片的PDA可以根據(jù)數(shù)字化后的車輛灰度圖像,對車輛顏色進行提取和識別,對車牌類型進行分類,對車輛字符進行識別,。車輛字符識別系統(tǒng)包括圖像二值轉(zhuǎn)換,圖像差分、濾波與平滑,車牌定位與旋轉(zhuǎn),字符切割,字符識別,車牌顏色提取與識別和車牌分類等功能模塊,。違章車輛速度和顏色,、闖紅燈時間、違章車輛類型和經(jīng)過識別的車牌字符等信息,由PDA以數(shù)據(jù)信號形式發(fā)送給無線接入裝置。
2 PDA交通管理網(wǎng)絡系統(tǒng)
??? 該系統(tǒng)的結(jié)構(gòu)如圖2所示,。

?


??? 無線接入裝置接入的PDA信息,通過Internet網(wǎng)送給交通數(shù)據(jù)管理中心,。該體系結(jié)構(gòu)主要功能是:
??? (1)支持PDA接入,把PDA的數(shù)據(jù)以無線通信方式接收到無線接入裝置中;
??? (2)保證數(shù)據(jù)經(jīng)過公共GPRS網(wǎng)絡和Internet時的安全,根據(jù)無線終端設備特點(如屏幕大小、所使用的瀏覽器等)進行數(shù)據(jù)格式自動轉(zhuǎn)換,以得到最優(yōu)化數(shù)據(jù)的顯示;
??? (3)與后臺交通管理數(shù)據(jù)庫應用集成,。該體系結(jié)構(gòu)基于數(shù)據(jù)庫和無線通信,配合相關服務器和第三方產(chǎn)品(如路由器和防火墻等),組成一個端到端的安全解決方案,。
3 PXA255及其應用
??? Intel PXA255處理器符合工業(yè)產(chǎn)品應用標準,符合工業(yè)上倡導的MIPS/mV性能設計要求。這個處理器將一個復雜集成電路合成在一塊芯片上,采用Intel XscaleTM微結(jié)構(gòu)體系框架,具有許多外圍接口,功能強大,。PXA255具有嵌入式處理器的優(yōu)點,可廣泛應用于便攜式裝置,、網(wǎng)絡設備中。其信號流程圖如圖3所示,。

?


??? 圖3中RTC為實時控制,OS Timer為振蕩器的定時器,PWM為脈寬調(diào)節(jié)器,。I2C(Inter-Integrated-Circuit)總線單元提供一個兩腳串行通信口,其中SDA數(shù)據(jù)腳提供給數(shù)據(jù)線和地址線,SCL時鐘腳控制時鐘。I2S(Inter-Integrated-Circuit Sound Controller)為立體聲頻串行接口控制器,AC97(AC’97 Controller Unit)為聲頻控制單元,。I2S和AC97不能同時應用,。UART(Universal asynchronous Receiver/Transmitter Serial Ports)異步接收/發(fā)送端口支持三種異步接收/發(fā)送UART模式。NSSP(Network Synchronous Serial Protocol)為網(wǎng)絡同步串行端口,SSP為同步串行端口,。SlowIrDA(Slow Infrared Data Association)為慢速紅外線通信端口,FastIrDA為快速紅外線通信端口,。USB Client(Universal Serial Bus Client)為通用串行總線單元。MMC(Multimemedia Card Controller)為多媒體控制器,。
??? PXA255的具體特征為:
??? (1)PXA255是一個32位處理器;
??? (2)Intel XscaleTM內(nèi)核采用ARM*Version 5TE型指令結(jié)構(gòu),其中T指Thumb指令集,E(DSP-Enhance)指加強的DSP指令集,能進行整數(shù)和浮點數(shù)處理,。
??? (3)PXA255工作電壓是1.3V,而PXA250工作電壓是1.5V,PXA255功耗更小,節(jié)約了電能。采用0.18μm制造工藝,是一塊面積為17mm×17mm,、256腳的芯片,。
??? PXA255是一個高性能、低價格,、低能耗的RISC處理器,。采用該芯片的PDA,體積更小,電池用得更久,上網(wǎng)速度更快。
4 嵌入式 Linux的應用
4.1 嵌入式Linux
??? 高端嵌入式系統(tǒng)要求許多高級的功能,如圖形用戶界面和網(wǎng)絡支持,。很多高端RTOS供應商已經(jīng)提供了這些功能,但其價格較高,。微軟的Windows CE有此類功能,但不具備大多數(shù)嵌入式系統(tǒng)要求的實時性能,而且難以移植。以DOS為基礎用單獨的第三方工具拼湊成一個操作系統(tǒng),同樣不能滿足嵌入式系統(tǒng)的要求,。嵌入式Linux操作系統(tǒng)以價格低廉,、功能強大又易于移植而被廣泛采用,成為新興的操作系統(tǒng)。Linux嵌入式操作系統(tǒng)是一種實時的,、支持嵌入式系統(tǒng)應用的操作系統(tǒng)軟件,是嵌入式系統(tǒng)極為重要的組成部分,通常包括與硬件相關的底層驅(qū)動軟件,、系統(tǒng)內(nèi)核、設備驅(qū)動接口,、通信協(xié)議,、圖形界面,、標準化瀏覽器等。嵌入式操作系統(tǒng)在系統(tǒng)實時高效性,、硬件的相關依靠性,、軟件固態(tài)化及應用的專用性等方面具有較為突出的特點。
??? Linux是與Unix相似,、以核心為基礎,、完全內(nèi)存保護、多任務多進程的操作系統(tǒng),為嵌入操作系統(tǒng)提供了一個極有吸引力的選擇,。PDA選擇嵌入式Linux作為操作系統(tǒng),主要原因如下:
??? (1)系統(tǒng)處理實時性好,性能穩(wěn)定,。
??? (2)文件管理系統(tǒng)更適合于大量的圖像數(shù)據(jù)。
??? (3)內(nèi)核小巧和高效,作為專用系統(tǒng),具有系統(tǒng)小,、指令精簡,、處理速度快等特點。
??? (4)系統(tǒng)數(shù)據(jù)置于ROM/FLASH MEMORY,調(diào)用速度快,不會被改變,穩(wěn)定性好,。
??? (5)本身內(nèi)置網(wǎng)絡支持,。
4.2? PAD中嵌入式 Linux內(nèi)核實現(xiàn)方法
??? Linux系統(tǒng)分為三個層次:用戶,、核心和硬件,。Linux 內(nèi)核可直接從Internet下載,也可從一發(fā)行版本如Red Hat Linux、Turbo Linux得到,。Linux核心源代碼執(zhí)行GPL 版權(quán)協(xié)議,任何人都可在遵循GPL版權(quán)協(xié)議條件下對Linux核心進行修改和補充,并可根據(jù)自身應用系統(tǒng)的需求,進行裁減定制,形成針對應用的嵌入式Linux內(nèi)核,。本方案采用Red hat Linux 6.0,內(nèi)核版本2.2.5,在保留TCP/IP 網(wǎng)絡支持、STAR902以太網(wǎng)卡驅(qū)動的情況下,定制后的內(nèi)核大小為360KB,足以滿足本系統(tǒng)中嵌入式硬件及軟件的需求,。
??? Linux核心源程序通常都安裝在/usr/src/linux下,核心源程序文件按樹形結(jié)構(gòu)進行組織,。在這里,對Linux內(nèi)核進行分析:
??? (1)系統(tǒng)的引導和初始化:Linux系統(tǒng)的引導有Lilo、 Loadin引導和Linux的自舉引導三種,。而Linux的自舉引導所對應源程序為arch/i386/boot/bootsect.S,它為實模式匯編程序,。無論哪種引導方式,最后都要跳轉(zhuǎn)到 arch/i386/Kernel/setup.S。setup.S主要進行實模式下的初始化,為系統(tǒng)進入保護模式做準備,。此后,系統(tǒng)執(zhí)行 arch/i386/kernel/head.S,。head.S 中定義的一段匯編程序setup_idt,負責建立一張256項idt表,此表保存著所有自陷和中斷的入口地址,其中包括系統(tǒng)調(diào)用總控程序system_call 入口地址。除此之外,head.S還要做一些其他初始化工作,。
??? (2)系統(tǒng)初始化后,運行第一個內(nèi)核程序asmlinkage void__init start_kernel(void),它定義在/usr/src/linux/init/main.c中,。它通過調(diào)用usr/src/linux/arch/i386/kernel/traps.c中的函數(shù)void__init trap_init(void),把各個自陷和中斷服務程序的入口地址設置到idt表中。其中系統(tǒng)調(diào)用的總控程序system_call就是中斷服務程序之一,。void__init trap_init(void)函數(shù)則通過調(diào)用一個宏 set_system_gate,把系統(tǒng)調(diào)用的總控程序入口掛在中斷0x80上,。其中SYSCALL_VECTOR是定義在/usr/src/linux/arch/i386/kernel/irq.h中的一個常量0x80,而 system_call 為中斷總控程序的入口地址。中斷總控程序是用匯編語言在/usr/src/linux/arch/i386/kernel/entry.S中定義,。
??? (3)中斷總控程序主要負責保存處理機執(zhí)行系統(tǒng)調(diào)用前的狀態(tài),檢驗當前調(diào)用是否合法,并根據(jù)系統(tǒng)調(diào)用向量,使處理機跳轉(zhuǎn)到保存在sys_call_table 表中的相應系統(tǒng)服務例程" title="例程">例程的入口,。從系統(tǒng)服務例程返回后退回用戶程序狀態(tài),而系統(tǒng)調(diào)用向量則在/usr/src/linux/include/asm-386/unistd.h中定義,sys_call_table 表是在/usr/src/linux/arch/i386/kernel/entry.S中定義,系統(tǒng)調(diào)用的用戶編程接口在 /usr/src/linux/include/asm-386/unistd.h 中定義。
??? (4)由此可見,Linux的系統(tǒng)調(diào)用也象DOS系統(tǒng)的 int 21h中斷服務,把0x80中斷作為總的入口,然后轉(zhuǎn)到保存在sys_call_table表中的各種中斷服務例程的入口地址,形成各種不同的中斷服務。由以上源代碼分析可知?熏要增加一個系統(tǒng)調(diào)用就必須在sys_call_table表中增加一項,并在其中保存好系統(tǒng)服務例程的入口地址,然后重新編譯內(nèi)核,。當然,系統(tǒng)服務例程是必不可少的,。
5 GPRS通信
??? 該系統(tǒng)采用GPRS通信方法。GPRS(通用分組無線業(yè)務)是GSM標準化組織制定的一套標準,以實現(xiàn)移動分組數(shù)據(jù)業(yè)務,。GPRS網(wǎng)是一個傳輸承載平臺,提供端到端分組傳輸模式下數(shù)據(jù)發(fā)送和接收,。GPRS具有五大特點:傳輸速率快;可靈活支持多種數(shù)據(jù)應用;網(wǎng)絡接入速度快;可長時間在線連接;計費更加合理。所以,采用GPRS通信可實現(xiàn)遠距離,、傳輸速度高的通信,。
??? PDA中應用PXA255處理器,運行速度快,系統(tǒng)性能得到極大提高。嵌入式Linux作為PDA操作系統(tǒng),可根據(jù)需要定制內(nèi)核大小,簡單方便,。Linux源代碼公開,可充分利用已有資源,節(jié)約開發(fā)人員工作量,。Linux不存在“黑箱”,操作系統(tǒng)安全性得到了保障。采用該系統(tǒng),提高了交通管理質(zhì)量,。該系統(tǒng)提高了數(shù)據(jù)傳輸速度,減少了系統(tǒng)建造的費用,降低了施工難度,。
參考文獻
1 Intel RXA255 Processor Design Guide.Intel Corp.2003.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。