


摘 要:介紹了一種利用嵌入式技術設計的視頻監控系統。該系統終端以ARM 9處理器為核心,USB攝像頭作為視頻采集模塊,網卡芯片DM9000為以太網通信模塊。視頻監控系統終端移植Linux操作系統,配置相應的驅動,編寫視頻采集和發送程序,最后與客戶端組成完整系統。
關鍵詞:ARM9;Linux;嵌入式系統;視頻監控
ARM處理器具有性能高,成本低的特點,在嵌入式中被廣泛使用。 Linux作為源代碼開放的操作系統,其特有的優勢和開發模式正日益影響人們。本文將二者結合,構建一個視頻監控嵌入式系統。
1 系統硬件設計
1.1 硬件結構
該系統終端采用基于ARM920T內核的Samsung S3C2440A作為中央處理器,并且配備64M的SDRAM,256M的NAND FLASH和2M的NOR FLASH,以應對移植Linux操作系統和系統保存的數據所需要的內存空間。 該系統的主要硬件還有視頻采集模塊,以太網通信模塊,UART串口和電源接口。系統硬件整體框圖如圖1所示
1.2 視頻采集模塊
視頻采集模塊采用了中星微電子公司ZC301芯片的 USB攝像頭,該攝像頭芯片具有圖像信號處理,數據壓縮,JPEG譯碼等圖像處理功能,攝像頭傳感器采用CMOS感光元件,元件像素130萬,采集的圖像清晰,畫面穩定,色彩真實鮮艷。視頻采集模塊的USB接口電路原理圖如圖2所示。
圖2中,使用5v的電源為USB供電,22Ω電阻的R23,R24在串行數據通信時可以起到緩沖抗干擾的作用,R27,R28為15K的大電阻,確保了USB高速串口數據通信的可靠性。
1.3 以太網通信模塊
通信模塊采用DAVICOM公司的10/100 Mb/s自適應以太網芯片DM9000,該芯片是完全綜合的,成本較低的單一快速以太網控制器芯片,具有通用處理器接口,既可以接8位,16位的處理器,也可以接32位的處理器。在本系統中該芯片與一個集成RJ45的網絡接口相連,其電路原理圖如圖3所示。
圖3中的HR911103A是一個集成RJ45的網絡變壓器,確保通信雙方可以正常接收和發送信息,50Ω的電阻RD1,RD5和RD3,RD6使信號在接受和發送時起到抗干擾的作用,電源VDD33v接著大電阻R16,R39,流出的電流較小,可以驅動綠,黃LED燈。
2 系統軟件設計
2.1 操作系統的移植
PC通過arm-linux-gcc交叉編譯工具構造交叉編譯環境,編譯Uboot生成燒入FLASH的引導程序,編譯Linux內核生成Linux鏡像文件zImage,并使用yaffs根文件制作工具mkyaffs2image生成Linux系統根文件鏡像rootfs.img,最后通過USB下載工具將上述文件下載到終端。
2.2 服務端視頻采集和發送程序設計
視頻采集和發送由一個應用進程完成,但將該進程生成了兩個線程,每個線程完成相應功能。因為Linux內核的攝像頭驅動為攝像頭捕獲圖像提供了一套API接口:V4L2,并且攝像頭支持JPEG視頻流直接獲取,所以視頻采集線程直接利用V4L2就能采集和存儲攝像頭捕獲的數據。在驅動的配置中,網卡驅動和TCP/IP協議被同時加載到內核,這使得應用進程可以建立一個TCP套接字服務端,并指定一個專用端口7070,等待客服端的連接。一旦連接出現,發送線程就會向客戶端發送視頻數據。為了得到一張完整的圖片數據,應用進程運用條件變量使得兩個線程保持同步。視頻采集和視頻發送的流程圖如圖4所示
2.3 視頻監控客戶端設計
視頻監控客戶端是基于Linux平臺的應用程序,其主要的功能是接收由視頻監控終端采集,發送的視頻數據,并播放視頻數據。Spcaview是一款開放源碼的視頻軟件,既可以接收和發送視頻數據,又可以播放視頻數據,非常適合做視頻監控客戶端。該軟件采用Linux C語言和Java腳本語言共同編寫,代碼簡潔,組件功能明確,遵循GPLv2條款,任何組織和個人可以在此條款下修改和發布它的源碼。在Linux平臺fedora9下構造視頻監控客戶端的簡單步驟如下:
下載最新源碼:Spcaview-20061208.tar,解壓該源碼:tar xvzj Spcaview-20061208.tar,進入該源碼目錄并編譯:cd Spcaview-20061208,make,最后在此目錄下啟動該軟件。
3 結語
本文介紹了基于ARM9處理器的嵌入式系統的硬件和軟件設計,完成了視頻監控的功能。該系統采用可裁剪的Linux操作系統和流行的ARM芯片,既降低成本,又有完善的功能,對于視頻監控方面有一定參考價值。
參考文獻
[1]Yaghmour,K. 構建嵌入式Linux系統[M]. 韓存兵,龔波,改編. 北京:中國電力出版社,2004.
[2]宋寶華. Linux設備驅動開發詳解[M]. 北京:人民郵電出版社,2010,11.
[3]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008,8.
[4]賀丹丹,張帆,劉峰.嵌入式Linux系統開發教材[M].北京:清華大學出版社,2010,5.
作者簡介
李濤,男,湖北省荊州市人,正在讀碩士研究生,主要研究方向嵌入式系統與應用。