《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于S3C2410嵌入式視頻監控系統的研究
基于S3C2410嵌入式視頻監控系統的研究
王秀芬
摘要: 基于S3C2410嵌入式視頻監控系統的研究,視頻監控系統是一門集計算機技術、通信技術和數字視頻技術于一體的綜合系統。它以其直觀、方便、信息內容豐富等特性而被廣泛應用于工業生產、交通、電力、銀行、智能辦公大樓等場所。本文闡述了基于S3C2410嵌入式視頻監控系統的硬件設計和軟件開發。硬件部分包括USB攝像頭視頻圖像采集處理模塊、GPRS無線數據傳輸模塊等。軟件模塊主要包括嵌入式視頻采集、視頻圖像的編解碼等。
Abstract:
Key words :

1 系統硬件結構
本系統采用模塊化的結構設計思想,將設備分為主控模塊和各個功能模塊。主控模塊和各功能模塊之間有統一的或者特定的接口形式,用戶可根據不同的需要選用不同的功能模塊,各種類型的數據可以同時傳輸而不相互干擾,同時也可根據市場的需求繼續擴展其它功能模塊。遠程無線視頻監控系統是由以下幾個模塊組成:嵌入式 ARM2410 核心控制模塊、自動報警模塊一面使嵌入式模塊上的蜂鳴器發出警報聲,同時發送報警信號通過GPRS 網絡及時的傳回遠端的監控管理中心,以便管理人員及時發現并處理火情、傳感器數據處理模塊、USB 攝像頭視頻圖像采集處理模塊、GPRS 無線數據傳輸模塊、遠程監控軟件模塊。

                             圖1 系統結構圖

1.1 USB攝像頭驅動
USB核心在系統中起著重要的作用,它提供了一些專用的API供設備驅動層操作,而對主控制器的操作則由系統完成了,USB核心層對主控制器層的數據結構和操作進行了封裝。在編寫USB驅動時,只需要和USB核心層進行交互。對于具體設備的驅動編寫主要也是設備層驅動的編寫。Linux系統中USB結構如圖2所示:


在Linux內核中,設備驅動程序是一個個獨立的“黑盒子”,使某個特定硬件響應一個定義良好的內部編程接口,這些接口完全隱藏了設備的工作細節。用戶的操作通過一組標準化的調用執行,設備驅動負責將這些調用映射到作用于實際硬件設備特有的操作上。
在Linux系統中,設備驅動程序編譯好后,有兩種實現方法:一種是修改系統內核源碼,把驅動靜態編譯進內核,使其成為內核的一部分;另一種則是編譯成可以動態加載的模塊,由管理員動態的加載。如果把驅動程序譯進內核,那么內核的大小會增加,內核的源文件也需要改變,并不能動態地釋放,不利于系統的調試,所以在本系統中,為方便調試,把攝像頭驅動程序編譯成動態加載的模塊。
1.2 視頻采集
視頻采集程序的流程如圖3所示:


圖3 視頻采集流程圖
USB攝像頭驅動成功后,需要編寫視頻采集的程序,這就需要了解Linux內核中關于視頻設備的部分代碼Video For Linux(簡稱V4L)。它為應用程序提供了一系列的接口函數,通過這些函數,可以執行打開、讀寫、關閉等基本的操作。設備驅動提供了read、write、open、dose等函數的具體實現,在內核中這些函數都可以調用。
1.3 GPRS無線數據傳輸
GPRS模塊是具有登陸GPRS網絡功能的芯片,只要外接SIM卡,通過串行協議與ARM處理器通信,將視頻圖像采集模塊得到的JPEG數據以資料包的形式,先通過PPP和運營商的Internet接入服務器連接,然后把資料包發送到Internet上。
GPRS無線數據傳輸模塊軟件結構設計總體可分為三個部分: 參數配置部分, 處理器將接收視頻圖像采集模塊從串口輸入的數據,同時對遠程監控中心主機IP地址,串口通信參數等加以配置;連接遠程監控中心主機, 在這一部分,系統將發起一個TCP或UDP連接;數據傳輸,首先處理器將判斷接收的數據為遠程配置數據,視頻圖像數據還是報警信號,如果是報警數據,則立刻停止視頻圖像數據的傳輸,將報警數據迅速發送出去。如果是JPEG圖像數據,則GPRS模塊將接收到的所有數據都發送出去。
2 系統軟件設計
2.1 嵌入式Linux移植
本系統中,宿主機選擇LINUX操作系統,并建立好交叉編譯環境。目標機選定嵌入式LINUX作為操作系統,而目標系統的LINUX內核需要結合自己的硬件電路對內核代碼進行移植修改才能夠運行。本系統硬件系統為基于ARM9的S3C2410開發板,在內核的arch目錄下有一個為”arm”的文件夾,正是存放的與ARM體系結構相關的代碼。
編譯內核需要創建內核依賴關系、創建內核鏡像文件和創建內核模塊。首先執行makedep命令,讀取配置過程生成的配置文件,來創建對應于配置的依賴關系樹,從而決定哪些需要編譯而那些不需要;接著需要make clean完成刪除前面步驟留下的文件,以避免出現一些錯誤;然后便可以生成所需要的內核文件了,用make zImage來實現得到可移植的內核。
除了內核的移植,還需要在開發板上移植啟動代碼,即BootLoader,初始化硬件系統并加載移植的Linux內核,此外文件系統也不可缺少。在BootLoader,Linux內核和文件系統成功移植后,便可以在目標系統上進行程序開發了。不過針對本系統的具體要求,還需要在開發板中添加USB攝像頭的驅動,這樣以后,便將開發板帶入到一個適合本系統應用程序的運行環境。
2.2 視頻圖像的編解碼
JPEG標準中定義了三種編碼系統:①基于DCT的有損編碼基本系統,可以用于絕大多數的壓縮應用場合;②用于高壓縮比、高精度或漸進重建應用的擴展編碼系統;③用于無失真應用場合的無損系統。最常用的是基于DCT變換的順序模式,稱為基本系統。
解壓過程與壓縮編碼過程正好是一個相反的過程,從壓縮過程中可以知道,圖像數據經過DCT變換再量化之后用huffman熵編碼進一步壓縮而得到了壓縮數據。所以要對圖像進行解碼首先需要進行huffman解碼,接著需要將墑解碼的數據根據具體的量化表進行還原再進行IDCT變化可以得到原來的圖像數據。
MJPEG(Motion JPEG,動態JPEG),是動態使用JPEG算法對視頻信號進行壓縮,其圖像視頻流的基本單元就是一幀一幀的JPEG圖片。它的主要特點是基本不考慮視頻流中不同幀之間的變化,只單獨對某一幀進行壓縮。MJPEG的優點是畫質比較好,能產生高質量、全屏、全運動的視頻、每幀可以任意存取,可以動態調整幀率、分辨率,而且其編碼相對比較容易實現。
本系統分為兩個大的部分,目標機服務器軟件與宿主機客戶端軟件。目標機服務器是采集和視頻發送程序,兩個線程分別完成采集和視頻發送的功能;客戶端軟件主要用于接受TCP服務器的視頻數據,并解碼顯示。系統工作原理如圖4所示:


3 小結:
本文作者創新點是:結構簡單,功能完善,視頻的采集、壓縮以及傳輸都集成在一個嵌入式模塊中。嵌入式系統軟件是基于嵌入式Linux操作系統的,開發資源豐富,有助于建立功能強大、結果復雜的大系統。在軟件設計時充分采用了分層體系思想,使得系統具有很好的邏輯性,方便以后的維護和移植。由于系統采用面向對象的模塊化設計,擴展靈活,易于實現系統的模塊化管理,也能降低系統集成的困難和成本。
參考文獻:
[1] 汪慶年,李桂勇,元美玲. 基于S3C2410 網絡視頻監控系統的設計與實現.微計算機信息,2007,12-2: 161-163。
[2] 劉富強.數字視頻監控系統開發及應用.北京:機械工業出版社,2003。
[3] 陳俊宏.Embedded Linux嵌入式系統原理與實務.北京:中國鐵道出版社,2004。
[4] 馬忠梅.ARM & Linux嵌入式系統教程.北京:北京航空航天大學出版社,2004。
[5] 郝榮霞,徐旭東,陳文博,基于網絡攝像機的第三代視頻監控系統的研究信息技術,2005年總第9期:120-122。
[6] 胡永紅,智能多路視頻監控系統的設計,微機發展,2001年第2期:75-76。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成a人亚洲精v品无码| 好爽好多水小荡货护士视频 | vvvv99日韩精品亚洲| 日韩精品卡二卡3卡四卡| 亚洲视频欧洲视频| 艳妇乳肉豪妇荡乳AV| 国产精品无码电影在线观看 | 国产婷婷色一区二区三区| 99re6在线视频精品免费下载| 成年女人色毛片| 么公的又大又深又硬想要| 波多野结衣之双调教hd| 哪里可以看黄色播放免费| 黄色网址免费观看| 国产精品无码免费视频二三区 | 欧美精品videosbestsexhd4k| 动漫av在线播放| 视频久re精品在线观看| 国产精品v片在线观看不卡| chinese国产高清av内谢| 成年人一级毛片| 久久精品国产69国产精品亚洲| 欧美性活一级视频| 亚洲色无码国产精品网站可下载| 精品熟人妻一区二区三区四区不卡 | 欧美日韩亚洲高清不卡一区二区三区| 农村妇女色又黄一级毛片不卡| 视频精品一区二区三区| 国产激情视频网站| 91精品观看91久久久久久| 好男人好影视在线播放| 中文字幕亚洲欧美日韩在线不卡 | 亚洲一级生活片| 欧美精品一区二区三区免费观看| 免费播放特黄特色毛片| 老师xxxx69动漫| 国产午夜视频在线观看第四页| 69av在线视频| 国产精品青草久久久久福利99| a级毛片毛片免费观看久潮喷| 巫山27号制作视频直播 |