技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應用方案 > 基于S3C44B0的嵌入式系統(tǒng)在電子警察中設(shè)計與應用

基于S3C44B0的嵌入式系統(tǒng)在電子警察中設(shè)計與應用

時間:2008-04-17 14:53:00來源:zhangting

導語:?電子警察系統(tǒng)在實現(xiàn)警務工作網(wǎng)絡化、現(xiàn)代化、智能化進程中有著重要作用。
引 言 隨著城市交通的迅速發(fā)展,機動車流量急劇增加,使得交通管理面臨著新的挑戰(zhàn),由于某些駕駛員交通法律意識淡薄,為達目的闖紅燈行駛,特別是在無交警值守的區(qū)域,問題更為嚴重。電子警察系統(tǒng),就是將在交通路口抓拍到的違章照片傳回控制中心,進行分析處理和保存,并作為違章證據(jù)處罰違規(guī)的司機。電子警察系統(tǒng)在實現(xiàn)警務工作網(wǎng)絡化、現(xiàn)代化、智能化進程中有著重要作用。電子警察一般由三大部分組成,一是照片拍攝部分;在紅燈信號期間,控制器控制數(shù)碼相機拍攝違章車輛照片,并存儲到相機存儲卡上。二是照片傳輸部分;將數(shù)碼相機存儲卡中的相片傳送回監(jiān)控中心。三是照片處理部分;在控制中心,工作人員將照片進行統(tǒng)計處理。照片傳輸部分常用的方法有人工取圖、基于PC的工控機傳送兩種。人工取圖方式耗費大量人力,無法及時獲取照片,無法實現(xiàn)自動化操作;基于PC的工控機傳送方式,成本高,體積大,安裝不方便?;贏RM的嵌入式系統(tǒng)的出現(xiàn)解決了以上兩種傳送方式中的存在的缺點。 本文主要研究介紹:(1)嵌入式系統(tǒng)的結(jié)構(gòu);(2)如何利用嵌入式操作系統(tǒng)和ARM處理器構(gòu)建電子警察照片傳輸設(shè)備;(3)介紹此設(shè)備的實際應用。 嵌入式系統(tǒng)的結(jié)構(gòu) 嵌入式系統(tǒng)是一個硬件和軟件的集合體,由嵌入式微處理器、嵌入式操作系統(tǒng)以及承載操作系統(tǒng)的硬件平臺組成。嵌入式系統(tǒng)軟硬兼施,互利互惠,融為一體。 嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的控制中心,主要用于對系統(tǒng)軟硬件調(diào)度管理和人機界面加以控制。 嵌入式系統(tǒng)的引導程序 嵌入式系統(tǒng)中引導程序(Bootloader)的作用與PC的BIOS(Basic Input Output System)相似,通過引導程序可以完成對ARM板上的主要部件CPU、SDRAM、Flash、串口等進行初始化操作,并能完成下載文件,F(xiàn)lash擦寫等操作。一個功能完善的引導程序相當于一個微型的操作系統(tǒng)。 操作系統(tǒng)內(nèi)核運行之前,引導程序完成加載內(nèi)核和一些輔助性的工作,然后跳轉(zhuǎn)到內(nèi)核代碼的起始地址并執(zhí)行。引導程序可以初始化硬件、建立內(nèi)存空間映射,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便最終調(diào)用系統(tǒng)內(nèi)核。簡言之,Bootloader為操作系統(tǒng)提供硬件資源信息,并進一步加載、引導操作系統(tǒng)。 引導程序通常固化在FLASH或ROM中,基于ARM內(nèi)核的CPU在復位時通常從地址0x00000000取第一條指令。因此,基于ARM的嵌入式系統(tǒng)通常都有某種類型的固態(tài)存儲設(shè)備被映射到這個地址上。系統(tǒng)上電后首先執(zhí)行Bootloader程序。如圖1所示是一個裝有Bootloader、內(nèi)核參數(shù)、內(nèi)核映像和根文件系統(tǒng)映像的固態(tài)存儲設(shè)備空間分配結(jié)構(gòu)圖。
嵌入式系統(tǒng)的硬件系統(tǒng) 與PC硬件相比,嵌入式系統(tǒng)的硬件系統(tǒng)具有如下特點: (1) 體積小,成本低,集成度高。嵌入式系統(tǒng)去除冗余,力爭用最少的硬件資源完成目標功能。 (2) 功耗低,電磁兼容性好,能在惡劣的條件下工作,死機后能夠快速重啟。 (3) 面向特定的應用。 嵌入式系統(tǒng)的硬件平臺在價格、功能、體積、能耗等方面都有嚴格限制。 通常,嵌入式系統(tǒng)硬件平臺主要分為2大部分:一部分為系統(tǒng)主板,為基于ARM的最小系統(tǒng),包括CPU、Flash、SDRAM、串口等最基本部分;另一部分為系統(tǒng)擴展,提供用于完成各種不同功能的硬件模塊。如存儲設(shè)備,閃存(Flash Memory);通信設(shè)備以太網(wǎng)卡,USB控制器等。 嵌入式系統(tǒng)中的軟件   嵌入式系統(tǒng)軟件包括與硬件相關(guān)的底層軟件、操作系統(tǒng)、圖形界面、通信協(xié)議、數(shù)據(jù)庫系統(tǒng)和應用軟件等。嵌入式系統(tǒng)的軟件部分具有以下特點: (1) 軟件代碼要求高質(zhì)量、高效率和高可靠性。在嵌入式系統(tǒng)中,軟件的運行空間有限,內(nèi)存空間十分寶貴,在程序設(shè)計時需要時刻考慮軟件的運行效率。由于嵌入式設(shè)備的工作環(huán)境多變,因此嵌入式軟件設(shè)計需要有質(zhì)量高、可靠性高的代碼作為保障。 (2) 嵌入式軟件開發(fā)與硬件緊密聯(lián)系。嵌入式軟件的開發(fā)是針對特定的硬件平臺進行的,它牽扯到硬件驅(qū)動方面的一些軟硬件結(jié)合部分。 (3) 軟件要求固化。為了提高執(zhí)行速度和系統(tǒng)的可靠性,大多數(shù)嵌入式系統(tǒng)軟件需要固化到系統(tǒng)板的Flash或ROM中。 此外,嵌入式系統(tǒng)軟件還需要具有異常處理,快速復位的特點。在實時系統(tǒng)中,軟性必須具有對實時多任務很強的支持能力,快速響應并將執(zhí)行時間減少到最低限度。 系統(tǒng)功能與設(shè)計 系統(tǒng)功能 本著既能滿足電子警察照片采集傳輸?shù)膶嶋H需要,又盡量節(jié)約資源的原則,本系統(tǒng)提供如下功能: (1) 上位機服務器。向終端發(fā)出數(shù)據(jù)和命令;接收終端上傳的照片并進行保存處理??蓪崿F(xiàn)人工操作、自動定時操作、單終端控制、所有終端控制功能。 (2) 采集照片。終端設(shè)備從數(shù)碼相機中將照片采集到本地存儲器中,以保證在照片傳輸過程中不影響數(shù)碼相機正常工作。 (3) 照片傳送。通過網(wǎng)絡將照片傳送至上位機服務器,實現(xiàn)傳輸智能化。 (4) 網(wǎng)絡檢測。終端設(shè)備能夠檢測網(wǎng)絡通斷,保證數(shù)據(jù)傳輸正確。 (5) 在線更新。通過上位機可以對終端設(shè)備進行參數(shù)修改,軟件升級。   系統(tǒng)設(shè)計 此系統(tǒng)設(shè)計主要是為了滿足數(shù)碼相機中的照片能夠安全、及時的傳送到控制中心。因此系統(tǒng)采用C/S(客戶端/服務器)模式設(shè)計,由控制中心的服務器發(fā)送命令控制終端設(shè)備進行取圖傳圖操作。系統(tǒng)設(shè)計框圖如圖2所示。
終端設(shè)備CPU選用Samsung公司的基于ARM7TDMI核的16/32bit、低功耗、高性價比RISC控制器S3C44B0;操作系統(tǒng)選用網(wǎng)絡功能強大、可靠性好、便于移植裁剪、針對無MMU(內(nèi)存管理單元)控制器的開源操作系統(tǒng)uClinux。 終端設(shè)備硬件設(shè)計 終端設(shè)備硬件設(shè)計本著接口標準化、功能模塊化、擴展性好、可靠性高的原則,劃分為CPU模塊和外設(shè)模塊。 (1) CPU模塊:包括S3C44B0、SDRAM、NOR Flash等系統(tǒng)運行的基本要素,組成嵌入式系統(tǒng)的最小系統(tǒng)。 (2) 外設(shè)模塊:網(wǎng)絡接口、USB HOST接口、RS232通訊接口、NAND Flash。 S3C44B0芯片本身集成了一些通用的外圍器件,如UART則直接利用控制器的資源。片內(nèi)2個UART分別作為操作系統(tǒng)控制臺及與相機控制板的通訊接口。將海量存儲器NAND Flash、USB控制器SL811、網(wǎng)絡芯片RTL8019分別映射于處理器的Bank1、Bank2、Bank4地址空間上,實現(xiàn)外部模塊與CPU模塊的無縫連接。其中NANDS3C44B0芯片本身集成了一些通用的外圍器件,如UART則直接利用控制器的資源。片內(nèi)2個UART分別作為操作系統(tǒng)控制臺及與相機控制板的通訊接口。將海量存儲器NAND Flash、USB控制器SL811、網(wǎng)絡芯片RTL8019分別映射于處理器的Bank1、Bank2、Bank4地址空間上,實現(xiàn)外部模塊與CPU模塊的無縫連接。其中NAND Flash使用復雜的I/O口來串行地存取數(shù)據(jù),8個引腳用來傳送控制、地址和數(shù)據(jù)信息。各個廠商的方法可能不一樣。因此在0x00200000-0x00400000空間中完全可以使用64M×8Bit的NAND Flash存儲器。終端設(shè)備的硬件框圖如圖3所示。
終端設(shè)備的核心板尺寸為:120mm×80mm,體積小巧,接口標準且安裝方便。既可以獨立使用,又可以作為模塊嵌入到其他系統(tǒng)中。 終端設(shè)備軟件設(shè)計 終端設(shè)備軟件設(shè)計遵循的原則是:軟件結(jié)構(gòu)化、系統(tǒng)可裁剪定制、驅(qū)動標準化、應用程序模塊化。軟件設(shè)計的主要工作是引導程序Uboot移植,操作系統(tǒng)uClinux移植,驅(qū)動程序設(shè)計,常用API函數(shù)封裝,多任務多進程的分解與設(shè)計,基于Socket的網(wǎng)絡編程等。圖4 所示為終端設(shè)備的軟件結(jié)構(gòu)化設(shè)計。 在驅(qū)動層比較關(guān)鍵的是NOR Flash存儲器驅(qū)動設(shè)計與Kodak Dx6340數(shù)碼相機USB驅(qū)動程序的設(shè)計。NOR Flash驅(qū)動為實現(xiàn)在線更新功能實現(xiàn)最底層的支持,保證Bootloader、Kernel、Root filesystem在存儲器中準確存放。值得注意是NOR Flash的擦寫有嚴格的時序,根據(jù)CPU主頻不同在擦寫過程中加入適當?shù)难訒r函數(shù)能保證Flash正常工作。由于柯達相機的存儲卡在Linux下不能當作大容量存儲設(shè)備(Mass Storage Device)進行操作,換言之不能當作移動存儲在uClinux系統(tǒng)下掛載,因此在進行設(shè)備驅(qū)動程序設(shè)計時應選擇USB設(shè)備類驅(qū)動,通過廠商標識(Manufacture ID)及產(chǎn)品標識(Product ID)在系統(tǒng)中注冊匹配,進而完成驅(qū)動功能,數(shù)據(jù)傳輸過程中采用批量傳輸方式。 在應用層,基于Socket的網(wǎng)絡編程支持TCP/IP協(xié)議有較好的通用性,能應用于RJ45接口的各種網(wǎng)絡環(huán)境。照片數(shù)據(jù)傳輸遵守PTP協(xié)議(PIMA 15740:2000),便于移植。由于應用程序采用模塊化設(shè)計,終端與服務器通信采用一個進程,終端獲取圖片使用一個進程因此進程間通信顯的尤為重要。首先,采用信號作為主要的通信手段;其次,采用共享內(nèi)存方式。由于在uClinux內(nèi)存采用實地址操作,沒有內(nèi)存管理機制,因此在軟件設(shè)計時筆者采用共享內(nèi)存的思想在系統(tǒng)未用的內(nèi)存區(qū)域開辟出一塊空間作為共享內(nèi)存,從而完成進程間通信。
表1 批量傳送圖片測試
下面簡要介紹Kodak DX6340數(shù)碼相機USB驅(qū)動程序設(shè)計: (1) 驅(qū)動程序的注冊: 本程序中數(shù)碼相機驅(qū)動以USB字符型設(shè)備來實現(xiàn),USB設(shè)備驅(qū)動第一步要做的是通過usb_driver結(jié)構(gòu)向uClinux內(nèi)核注冊自己,告訴系統(tǒng)它所支持的設(shè)備類型及操作類型。   static struct usb_driver dx6340_driver = {    name: "dx6340", // 驅(qū)動程序名稱    id_table: dx6340_table, // 此結(jié)構(gòu)用于保存設(shè)備的廠商ID和產(chǎn)品ID    probe: dx6340_probe, // 用于USB設(shè)備探測枚舉例程    disconnect: dx6340_disconnect, // 用于設(shè)備的卸載   fops: &dx6340_fops, // 驅(qū)動程序的操作類型 minor: USB_DX6340_MINOR, // 設(shè)備的次設(shè)備號  ?。? 結(jié)構(gòu)成員fops指向一個file_operations結(jié)構(gòu)。這個結(jié)構(gòu)提供基本的I/O操作接口函數(shù)open、close、read、write的實現(xiàn),對中斷的處理、內(nèi)存映射及對I/O通道的控制函數(shù)ioctl的實現(xiàn)。通過這個結(jié)構(gòu),實現(xiàn)了系統(tǒng)調(diào)用和驅(qū)動程序的關(guān)聯(lián)。在應用程序中發(fā)出文件操作的相關(guān)命令時,內(nèi)核根據(jù)這些指針調(diào)用相應的函數(shù),從而完成驅(qū)動與內(nèi)核間的通信。   static struct file_operations dx6340_fops = {    owner: THIS_MODULE, // fops所屬范圍    read: dx6340_read, // 相機的讀操作    write: dx6340_write, // 相機的寫操作    open: dx6340_open, // 打開相機設(shè)備    release: dx6340_release, // 關(guān)閉相機設(shè)備  ?。? 在數(shù)據(jù)讀寫read、write函數(shù)中使用批量傳輸方式,調(diào)用函數(shù)usb_bulk_msg (struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int *actual_length, int timeout)。 (2) 驅(qū)動程序的在系統(tǒng)中的調(diào)用 接下來的工作是將設(shè)備驅(qū)動程序嵌入內(nèi)核。通常有兩種方式,一種是靜態(tài)編譯進內(nèi)核,另一種是編譯成模塊。后者能夠動態(tài)進行加載,利于調(diào)試。當系統(tǒng)使用該設(shè)備驅(qū)動時,調(diào)用驅(qū)動初始化函數(shù)int __init dx6340_init(void){ if (usb_register (&dx6340_driver) < 0) return -1; info(DRIVER_VERSION ":" DRIVER_DESC); return 0;   }   與之對應,當系統(tǒng)注銷該設(shè)備驅(qū)動時,則調(diào)用驅(qū)動注銷函數(shù)void __exit dx6340_cleanup(void){ usb_deregister (&dx6340_driver);  ?。? 實驗研究 為了測試該終端設(shè)備的工作性能,設(shè)計場景進行了現(xiàn)場實驗: (1) 批量傳送測試 (2) 網(wǎng)絡斷開測試 當終端設(shè)備連接到服務器后,將終端設(shè)備網(wǎng)線拔掉,模擬網(wǎng)絡故障。在網(wǎng)絡斷開后30秒,終端設(shè)備檢測到網(wǎng)絡故障,進入重連程序,接好網(wǎng)線后,終端順利連接到服務器,并正常工作。 (3) 異常測試 a.模擬串口通信異常實驗。將設(shè)備與相機控制板連線斷開,設(shè)備終端向控制板發(fā)送命令嘗試3次,若無響應則發(fā)送信息至服務器,需要人工查看控制板/相機狀況。 b.續(xù)傳測試。在設(shè)備終端向服務器發(fā)送圖片過程中,將服務器關(guān)閉。這時終端設(shè)備進入重連程序,等待與服務器重新連接后,從發(fā)生中斷時那張照片開始繼續(xù)向服務器發(fā)送圖片。 (4) 定時取圖測試 上位機定時操作,實現(xiàn)無人職守自動取圖。 通過實驗表明,該設(shè)備具有良好的穩(wěn)定性,能夠適應不同的網(wǎng)絡環(huán)境,可以應付不同的異常情況,有較好的通用性。   結(jié) 語 本文中設(shè)計的電子警察終端設(shè)備滿足用戶設(shè)計要求,經(jīng)現(xiàn)場實際運行,證明了所設(shè)計的系統(tǒng)可靠、穩(wěn)定。所提出的照片采集傳輸方案已用于電子警察實際系統(tǒng)中,并實現(xiàn)無人職守自動定時取圖,服務器獲取照片信息準確無誤。對于停電或網(wǎng)絡問題造成的異常,設(shè)備可以及時進行處理,很好的驗證了本方案的可行性和實用性。 參考文獻: 1. 杜春雷. ARM體系結(jié)構(gòu)與編程,清華大學出版,2003-8 2. 詹榮開. 嵌入式系統(tǒng)Bootloader技術(shù)內(nèi)幕[EB/OL].2003-12 3. Robert Love.陳莉君,康華,張波 譯. Linux內(nèi)核設(shè)計與實現(xiàn) 機械工業(yè)出版社 2006-1 4. 張綺文,謝建雄,謝勁心.嵌入式常用模塊與綜合系統(tǒng)設(shè)計實例精講 電子工業(yè)出版社 2007-1 5. Daniel P.Bovet, Marco Cesati. Understanding the Linux Kernel, 2nd Edition, O‘Reilly,2002-10 6. Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini. Linux Device Drivers, 3rd Edition ,O‘Reilly,2005-2

標簽:

點贊

分享到:

上一篇:PCC控制技術(shù)在煉油廠污水處理...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

相關(guān)資訊

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號