基于S3C2410嵌入式視頻監控系統的研究
1 系統硬件結構
本系統采用模塊化的結構設計思想,將設備分為主控模塊和各個(gè)功能模塊。主控模塊和各功能模塊之間有統一的或者特定的接口形式,用戶(hù)可根據不同的需要選用不同的功能模塊,各種類(lèi)型的數據可以同時(shí)傳輸而不相互干擾,同時(shí)也可根據市場(chǎng)的需求繼續擴展其它功能模塊。遠程無(wú)線(xiàn)視頻監控系統是由以下幾個(gè)模塊組成:嵌入式 ARM2410 核心控制模塊、自動(dòng)報警模塊一面使嵌入式模塊上的蜂鳴器發(fā)出警報聲,同時(shí)發(fā)送報警信號通過(guò)GPRS 網(wǎng)絡(luò )及時(shí)的傳回遠端的監控管理中心,以便管理人員及時(shí)發(fā)現并處理火情、傳感器數據處理模塊、USB 攝像頭視頻圖像采集處理模塊、GPRS 無(wú)線(xiàn)數據傳輸模塊、遠程監控軟件模塊。
圖1 系統結構圖
1.1 USB攝像頭驅動(dòng)
USB核心在系統中起著(zhù)重要的作用,它提供了一些專(zhuān)用的API供設備驅動(dòng)層操作,而對主控制器的操作則由系統完成了,USB核心層對主控制器層的數據結構和操作進(jìn)行了封裝。在編寫(xiě)USB驅動(dòng)時(shí),只需要和USB核心層進(jìn)行交互。對于具體設備的驅動(dòng)編寫(xiě)主要也是設備層驅動(dòng)的編寫(xiě)。Linux系統中USB結構如圖2所示:
在Linux內核中,設備驅動(dòng)程序是一個(gè)個(gè)獨立的“黑盒子”,使某個(gè)特定硬件響應一個(gè)定義良好的內部編程接口,這些接口完全隱藏了設備的工作細節。用戶(hù)的操作通過(guò)一組標準化的調用執行,設備驅動(dòng)負責將這些調用映射到作用于實(shí)際硬件設備特有的操作上。
在Linux系統中,設備驅動(dòng)程序編譯好后,有兩種實(shí)現方法:一種是修改系統內核源碼,把驅動(dòng)靜態(tài)編譯進(jìn)內核,使其成為內核的一部分;另一種則是編譯成可以動(dòng)態(tài)加載的模塊,由管理員動(dòng)態(tài)的加載。如果把驅動(dòng)程序譯進(jìn)內核,那么內核的大小會(huì )增加,內核的源文件也需要改變,并不能動(dòng)態(tài)地釋放,不利于系統的調試,所以在本系統中,為方便調試,把攝像頭驅動(dòng)程序編譯成動(dòng)態(tài)加載的模塊。
1.2 視頻采集
視頻采集程序的流程如圖3所示:
圖3 視頻采集流程圖
評論