Windows CE 視頻監(jiān)控系統(tǒng)的設計
摘要:本文主要是在S3C2410處理器上移植嵌入式WindowsCE操作系統(tǒng)、USB攝像頭驅(qū)動,在ARM9處理器上完成視頻采集,壓縮,通過以太網(wǎng)接口連入局域網(wǎng),隨時可供授權(quán)用戶在線訪問,當有物體闖入監(jiān)控范圍內(nèi)時,將抓拍下畫面并通過GPRS模塊發(fā)送短信至用戶手機。本文詳細介紹了硬件電路的設計和主要軟件的編程實現(xiàn)。
本文引用地址:http://www.ex-cimer.com/article/149196.htm1引言計算機智能視頻監(jiān)控是計算機視覺領(lǐng)域一個新興的應用方向和備受關(guān)注的前沿課題。伴隨網(wǎng)絡技術(shù)和數(shù)字視頻技術(shù)的飛速發(fā)展,監(jiān)控技術(shù)正向著智能化、網(wǎng)絡化方向不斷前進。監(jiān)控系統(tǒng)功能日益強大,但是依然需要工作人員不間斷地分析監(jiān)視場景內(nèi)的活動,日夜值守,工作量繁重。因此計算機視覺和應用研究學者適時提出新一代監(jiān)控視頻監(jiān)控的概念。視頻監(jiān)控在不需要人為干預情況下,利用計算機視覺和視頻分析的方法對攝像機拍錄的圖像序列進行自動分析,實現(xiàn)對動態(tài)場景中目標的定位、識別和跟蹤,并在此基礎上分析和判斷目標的行為,從而既能完成日常管理又能在異常情況發(fā)生時及時做出反應。計算機視頻監(jiān)控系統(tǒng)不僅符合信息產(chǎn)業(yè)的未來發(fā)展趨勢,而且代表了監(jiān)控行業(yè)的未來發(fā)展方向。
嵌入式系統(tǒng)是指以應用為中心,以計算機技術(shù)為基礎、軟硬件可裁剪、適應于特定應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng),由于嵌入式系統(tǒng)的實時性等特點,監(jiān)控計算機逐漸向嵌入式方向發(fā)展。但是目前大多數(shù)嵌入式系統(tǒng)還孤立于Internet之外,隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。本文所研究的基于WindowsCE的視頻系統(tǒng)結(jié)合了嵌入式、網(wǎng)絡、智能監(jiān)控等特點,用于遠程自動監(jiān)控場所。
2系統(tǒng)總體結(jié)構(gòu)在嵌入式處理器上移植嵌入式操作系統(tǒng),不僅提高了開發(fā)效率,還可以大大提升視頻監(jiān)控的靈活度和擴展性,使得視頻監(jiān)控系統(tǒng)的后續(xù)應用程序開發(fā)便于實現(xiàn)。本視頻監(jiān)控系統(tǒng)總體結(jié)構(gòu)如圖1所示。
前端USB攝像頭負責視頻采集;帶有嵌入式操作系統(tǒng)的ARM9控制模塊控制USB攝像頭的視頻采集和傳輸(通過以太網(wǎng)和中國移動無線網(wǎng)絡兩個途徑);Ethernet接口和GPRS模塊作為網(wǎng)絡傳輸模塊。
3系統(tǒng)硬件設計數(shù)字視頻監(jiān)控系統(tǒng)的硬件核心ARM微處理器S3C2410X是韓國的三星公司生產(chǎn)的32位RISC微處理器。含ARM920T內(nèi)核[1]、CPU主頻203MHz、板載64MBSDRAM、64MBFLASH。系統(tǒng)的核心硬件設計組成如圖2所示。主要包括USB攝像頭,采用CMOS35萬象素感光芯片,處理器通過USB接口讀取USB攝像頭的視頻圖像數(shù)據(jù);以太網(wǎng)卡采用了10M以太網(wǎng)卡芯片DM9000;GPRS模塊采用華為GTM900無線模塊,插入SIM手機卡后通過AT命令發(fā)送短信到用戶手機上。
4系統(tǒng)的軟件模塊設計軟件部分包括WindowsCE。NET開發(fā)板具備良好支持的板級支持包,可快速定制一個基于標準PC硬件結(jié)構(gòu)的嵌入式平臺,實現(xiàn)基于Windows平臺軟件的重用和移植,能較好地滿足嵌入式PC視頻監(jiān)控系統(tǒng)的開發(fā)和應用需求。
4。1嵌入式系統(tǒng)平臺設計NK。BIN是系統(tǒng)配置文件和定制的OS核心模塊合并后經(jīng)編譯形成的一個二進制文件,NK。BIN的構(gòu)建就是對構(gòu)成OS的模塊進行配置、鏈接、定址以生成可啟動OS鏡像的過程,在嵌入式平臺創(chuàng)建過程中完成。根據(jù)視頻監(jiān)控功能需求,主要是選擇BSP以及對OS各模塊特性進行定制。
(1)選擇BSP。針對本系統(tǒng)的ARM920T硬件平臺,我們選擇了硬件廠商附帶的BSP作為嵌入式平臺的底板支持。此BSP提供了對相關(guān)設備驅(qū)動(ARM920T芯片驅(qū)動、網(wǎng)卡、USB像頭等)的軟件實現(xiàn)和支持,以及WindowsCE。NETOS的核心特性的支持。
(2)應用程序和服務特性。選擇COM組件特性,以提供對DirectX基于COM對象的函數(shù)和方法的接口支持。
(3)通信和網(wǎng)絡特性。網(wǎng)絡設備/驅(qū)動器接口規(guī)范,TCP/IP協(xié)議棧及其它網(wǎng)絡API,包括WindowsNetworkingAPI、RTCClientAPI等網(wǎng)絡模塊,以實現(xiàn)向網(wǎng)絡服務器發(fā)送視頻數(shù)據(jù)的能力。
(4)文件系統(tǒng)和數(shù)據(jù)存儲特性。對內(nèi)置文件系統(tǒng)選取ROMRAMFileSystem模塊,用于OS鏡像的存放和運行。外圍存儲設備的文件系統(tǒng)由存儲管理器負責管理,選取StorageManager模塊,以實現(xiàn)對FAT文件系統(tǒng)的存儲管理。
(5)編譯、鏈接、裝配OS各定制模塊,生成NK。BIN文件。建造CE操作系統(tǒng)后,應創(chuàng)建為平臺上其他應用程序的開發(fā)提供支持的軟件開發(fā)工具包SDK(包括WindowsCE。NET操作系統(tǒng)組件,硬件驅(qū)動程序等)??梢岳肊mbeddedVisualC++4。0提供的工具來創(chuàng)建、測試和修改應用程序。利用Platform。Builder4。0創(chuàng)建SDK并導入到MicrosoftEmbeddedVisualC++4。0,然后從環(huán)境列表中選擇所定制的平臺,進行應用程序的開發(fā)、調(diào)試和運行。
4。2應用程序開發(fā)系統(tǒng)主要模塊包括:視頻采集模塊,視頻壓縮傳輸模塊,圖像動態(tài)檢測及GPRS報警模塊。
1,視頻采集本系統(tǒng)所用的是基于OV511芯片的網(wǎng)眼2000USB攝像頭。WindowsCE下的設備驅(qū)動程序分為兩類:本機驅(qū)動程序和流接口驅(qū)動程序。本機設備驅(qū)動程序,也稱為“內(nèi)置驅(qū)動程序”,這些設備驅(qū)動程序是一些硬件所必需的,是由原始設備制造商創(chuàng)建的,用以驅(qū)動如鍵盤、觸摸屏、音頻等設備,往往在設備售出后就不會再更換。流接口驅(qū)動程序是運行在用戶級別的動態(tài)鏈接庫,用來實現(xiàn)一組稱為流接口函數(shù)的固定函數(shù),這些流接口函數(shù)使得應用程序可以通過文件系統(tǒng)中的特殊文件與設備進行交互。
每個流接口驅(qū)動程序必須實現(xiàn)一組標準的函數(shù):XXX_Close,XXX_Deinit,XXX_Init,XXX_IOControl,XXX_Open,XXX_Powerdown,XXX_powerUp,XXX_read,XXX_Seek,XXX_Write用來完成標準的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給WindowsCE。NET操作系統(tǒng)的內(nèi)核使用。這些函數(shù)通常也叫做流接口驅(qū)動程序的DLL接口。
流接口USB驅(qū)動主要分為下面幾步:1)建立一個WCEDynamic-LinkLibrary;2)書寫一個Exportdef文件輸出各個驅(qū)動需要的函數(shù)符號;3)依據(jù)USB驅(qū)動加載的流程,添加完成USBInstallDriver,USBDeviceAttach,USBUnInstallDriver,CAM_Init,CAM_Deinit各個函數(shù),并進行測試;這些函數(shù)正確填寫之后,驅(qū)動程序就可以加載了。
評論