Windows CE 視頻監控系統的設計
摘要:本文主要是在S3C2410處理器上移植嵌入式WindowsCE操作系統、USB攝像頭驅動,在ARM9處理器上完成視頻采集,壓縮,通過以太網接口連入局域網,隨時可供授權用戶在線訪問,當有物體闖入監控范圍內時,將抓拍下畫面并通過GPRS模塊發送短信至用戶手機。本文詳細介紹了硬件電路的設計和主要軟件的編程實現。
本文引用地址:http://www.104case.com/article/149196.htm1引言計算機智能視頻監控是計算機視覺領域一個新興的應用方向和備受關注的前沿課題。伴隨網絡技術和數字視頻技術的飛速發展,監控技術正向著智能化、網絡化方向不斷前進。監控系統功能日益強大,但是依然需要工作人員不間斷地分析監視場景內的活動,日夜值守,工作量繁重。因此計算機視覺和應用研究學者適時提出新一代監控視頻監控的概念。視頻監控在不需要人為干預情況下,利用計算機視覺和視頻分析的方法對攝像機拍錄的圖像序列進行自動分析,實現對動態場景中目標的定位、識別和跟蹤,并在此基礎上分析和判斷目標的行為,從而既能完成日常管理又能在異常情況發生時及時做出反應。計算機視頻監控系統不僅符合信息產業的未來發展趨勢,而且代表了監控行業的未來發展方向。
嵌入式系統是指以應用為中心,以計算機技術為基礎、軟硬件可裁剪、適應于特定應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統,由于嵌入式系統的實時性等特點,監控計算機逐漸向嵌入式方向發展。但是目前大多數嵌入式系統還孤立于Internet之外,隨著Internet的發展以及Internet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Internet的結合將代表著嵌入式技術的真正未來。本文所研究的基于WindowsCE的視頻系統結合了嵌入式、網絡、智能監控等特點,用于遠程自動監控場所。
2系統總體結構在嵌入式處理器上移植嵌入式操作系統,不僅提高了開發效率,還可以大大提升視頻監控的靈活度和擴展性,使得視頻監控系統的后續應用程序開發便于實現。本視頻監控系統總體結構如圖1所示。

前端USB攝像頭負責視頻采集;帶有嵌入式操作系統的ARM9控制模塊控制USB攝像頭的視頻采集和傳輸(通過以太網和中國移動無線網絡兩個途徑);Ethernet接口和GPRS模塊作為網絡傳輸模塊。
3系統硬件設計數字視頻監控系統的硬件核心ARM微處理器S3C2410X是韓國的三星公司生產的32位RISC微處理器。含ARM920T內核[1]、CPU主頻203MHz、板載64MBSDRAM、64MBFLASH。系統的核心硬件設計組成如圖2所示。主要包括USB攝像頭,采用CMOS35萬象素感光芯片,處理器通過USB接口讀取USB攝像頭的視頻圖像數據;以太網卡采用了10M以太網卡芯片DM9000;GPRS模塊采用華為GTM900無線模塊,插入SIM手機卡后通過AT命令發送短信到用戶手機上。

4系統的軟件模塊設計軟件部分包括WindowsCE。NET開發板具備良好支持的板級支持包,可快速定制一個基于標準PC硬件結構的嵌入式平臺,實現基于Windows平臺軟件的重用和移植,能較好地滿足嵌入式PC視頻監控系統的開發和應用需求。
4。1嵌入式系統平臺設計NK。BIN是系統配置文件和定制的OS核心模塊合并后經編譯形成的一個二進制文件,NK。BIN的構建就是對構成OS的模塊進行配置、鏈接、定址以生成可啟動OS鏡像的過程,在嵌入式平臺創建過程中完成。根據視頻監控功能需求,主要是選擇BSP以及對OS各模塊特性進行定制。
(1)選擇BSP。針對本系統的ARM920T硬件平臺,我們選擇了硬件廠商附帶的BSP作為嵌入式平臺的底板支持。此BSP提供了對相關設備驅動(ARM920T芯片驅動、網卡、USB像頭等)的軟件實現和支持,以及WindowsCE。NETOS的核心特性的支持。
(2)應用程序和服務特性。選擇COM組件特性,以提供對DirectX基于COM對象的函數和方法的接口支持。
(3)通信和網絡特性。網絡設備/驅動器接口規范,TCP/IP協議棧及其它網絡API,包括WindowsNetworkingAPI、RTCClientAPI等網絡模塊,以實現向網絡服務器發送視頻數據的能力。
(4)文件系統和數據存儲特性。對內置文件系統選取ROMRAMFileSystem模塊,用于OS鏡像的存放和運行。外圍存儲設備的文件系統由存儲管理器負責管理,選取StorageManager模塊,以實現對FAT文件系統的存儲管理。
(5)編譯、鏈接、裝配OS各定制模塊,生成NK。BIN文件。建造CE操作系統后,應創建為平臺上其他應用程序的開發提供支持的軟件開發工具包SDK(包括WindowsCE。NET操作系統組件,硬件驅動程序等)。可以利用EmbeddedVisualC++4。0提供的工具來創建、測試和修改應用程序。利用Platform。Builder4。0創建SDK并導入到MicrosoftEmbeddedVisualC++4。0,然后從環境列表中選擇所定制的平臺,進行應用程序的開發、調試和運行。
4。2應用程序開發系統主要模塊包括:視頻采集模塊,視頻壓縮傳輸模塊,圖像動態檢測及GPRS報警模塊。
1,視頻采集本系統所用的是基于OV511芯片的網眼2000USB攝像頭。WindowsCE下的設備驅動程序分為兩類:本機驅動程序和流接口驅動程序。本機設備驅動程序,也稱為“內置驅動程序”,這些設備驅動程序是一些硬件所必需的,是由原始設備制造商創建的,用以驅動如鍵盤、觸摸屏、音頻等設備,往往在設備售出后就不會再更換。流接口驅動程序是運行在用戶級別的動態鏈接庫,用來實現一組稱為流接口函數的固定函數,這些流接口函數使得應用程序可以通過文件系統中的特殊文件與設備進行交互。
每個流接口驅動程序必須實現一組標準的函數:XXX_Close,XXX_Deinit,XXX_Init,XXX_IOControl,XXX_Open,XXX_Powerdown,XXX_powerUp,XXX_read,XXX_Seek,XXX_Write用來完成標準的文件I/O函數和電源管理函數,這些函數提供給WindowsCE。NET操作系統的內核使用。這些函數通常也叫做流接口驅動程序的DLL接口。
流接口USB驅動主要分為下面幾步:1)建立一個WCEDynamic-LinkLibrary;2)書寫一個Exportdef文件輸出各個驅動需要的函數符號;3)依據USB驅動加載的流程,添加完成USBInstallDriver,USBDeviceAttach,USBUnInstallDriver,CAM_Init,CAM_Deinit各個函數,并進行測試;這些函數正確填寫之后,驅動程序就可以加載了。
評論