基于S3C2410 網(wǎng)絡(luò)視頻監(jiān)控的設(shè)計與實現(xiàn)

來源:投影時代 更新日期:2008-07-07 作者:佚名

    1、引言

    視頻監(jiān)控系統(tǒng)是日常生產(chǎn)生活中的重要輔助設(shè)備,應(yīng)用十分廣泛。當(dāng)前視頻監(jiān)控系統(tǒng)正逐步由模擬化走向數(shù)字化。隨著視頻壓縮技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,開發(fā)新一代的基于計算機(jī)網(wǎng)絡(luò)和多媒體MPEG-4壓縮算法的視頻監(jiān)控系統(tǒng)已成為整個行業(yè)技術(shù)發(fā)展的主要方向之一。通常人們采用DSP與MPEG-4算法結(jié)合的方案來實現(xiàn),在編程的工作上有巨大的復(fù)雜程度,而且成本也過高。本文提出并研究設(shè)計一種基于MPEG-4專用壓縮芯片MPG440、以嵌入式Linux為操作系統(tǒng)的視頻監(jiān)控系統(tǒng)方案,不僅開發(fā)便捷、成本低廉,而且實時性較好,適應(yīng)范圍廣。

    2、視頻監(jiān)控系統(tǒng)總體設(shè)計

    整個系統(tǒng)的總體設(shè)計分為硬件和軟件系統(tǒng)兩部分。硬件設(shè)計部分主要包括以下幾個模塊:系統(tǒng)主控制器、壓縮編碼部分、網(wǎng)絡(luò)接口模塊、攝像機(jī)控制模塊以及PC端監(jiān)控部分。系統(tǒng)的主控制器模塊主要有主控制芯片S3C2410、數(shù)據(jù)存儲NandFlash以及內(nèi)存單元SDRAM組成。其中主控制芯片S3C2410主要負(fù)責(zé)系統(tǒng)的整體調(diào)度,為整個系統(tǒng)的核心;NandFlash里固化了Linux的Bootloader、系統(tǒng)內(nèi)核、文件系統(tǒng)、應(yīng)用程序以及環(huán)境變量和系統(tǒng)配置文件等;SDRAM作為內(nèi)存單元供系統(tǒng)運(yùn)行時使用。壓縮編碼部分主要由視頻數(shù)據(jù)采集芯片、MPEG-4壓縮芯片以及SDRAM組成,負(fù)責(zé)將視頻流轉(zhuǎn)化為MPEG-4數(shù)據(jù)流。網(wǎng)絡(luò)接口模塊主要負(fù)責(zé)傳輸MPEG-4視頻流。攝像機(jī)的控制部分主要由串口芯片組成,用于實現(xiàn)轉(zhuǎn)發(fā)控制相機(jī)命令的功能。PC端則通過瀏覽器進(jìn)行視頻的監(jiān)測并可發(fā)送控制命令對攝像機(jī)狀態(tài)進(jìn)行控制。主控制器通過對片內(nèi)NandFlash控制器的操作將Linux內(nèi)核從NandFlash中轉(zhuǎn)入SDRAM中,Linux系統(tǒng)內(nèi)核從內(nèi)存單元啟動。系統(tǒng)啟動后,主控制器通過主機(jī)接口(HPI)控制MPEG-4壓縮編碼模塊,系統(tǒng)結(jié)構(gòu)框圖如圖(1)所示。

圖(1)系統(tǒng)結(jié)構(gòu)框圖

圖(1)系統(tǒng)結(jié)構(gòu)框圖

   系統(tǒng)的軟件部分主要由嵌入式Linux的Bootloader和內(nèi)核的移植、MPEG-4壓縮編碼模塊、CGI控制程序的實現(xiàn)以及MPEG-4解碼程序的實現(xiàn)等四部分組成。Linux系統(tǒng)存儲在NandFlash中,負(fù)責(zé)系統(tǒng)軟件的調(diào)度。MPEG-4壓縮編碼模塊主要負(fù)責(zé)模擬視頻流的采集和A/D轉(zhuǎn)換,并將數(shù)字視頻流壓縮為MPEG-4數(shù)據(jù)流以便網(wǎng)絡(luò)的傳輸。CGI控制程序主要實現(xiàn)攝像機(jī)的控制以及對MPEG-4視頻流的相關(guān)設(shè)置。MPEG-4解碼程序則是在PC端對通過網(wǎng)絡(luò)取得的MPEG-4數(shù)據(jù)流進(jìn)行解碼播放。

    3系統(tǒng)硬件設(shè)計

    3.1主控制器模塊

    在整個系統(tǒng)中,主控制器是核心部件。文中選用的是三星公司的S3C2410,是一款基于ARM920T核的32位微控制器,其主頻可達(dá)203HZ,性價比較高,能很好的滿足嵌入式Linux系統(tǒng)的性能需求。其主要功能是在正常工作狀態(tài)下調(diào)度控制整個系統(tǒng)工作,在系統(tǒng)上電時配置所有需工作的芯片的功能寄存器,并通過以太網(wǎng)控制器控制物理層芯片發(fā)送視頻碼流。

    S3C2410通過片內(nèi)的NandFlash控制器和SDRAM控制器對外圍的NandFlash和內(nèi)存單元SDRAM進(jìn)行控制,利用片內(nèi)的標(biāo)準(zhǔn)UART實現(xiàn)對串口芯片的控制,通過片內(nèi)地址、數(shù)據(jù)以及控制總線對片外的網(wǎng)絡(luò)芯片進(jìn)行控制。系統(tǒng)控制原理框圖如圖(2)所示。

2

 3.2壓縮編碼模塊

    壓縮編碼模塊包括兩部分:模擬視頻信號采集和MPEG-4壓縮模塊。視頻輸入解碼芯片采用TI公司的TVP5150,壓縮編碼芯片采用映佳公司的MPG440。TVP5105支持NTSC/PAL/SECAM等3種制式,實現(xiàn)模擬視頻信號轉(zhuǎn)換為數(shù)字并行信號ITU-RBT.601或ITU-RBT.656碼流格式,正常工作時的功耗僅為115mW。MPG440具有采用符合工業(yè)標(biāo)準(zhǔn)的16b/32b的雙向主機(jī)接口,用來與視頻解碼芯片和主控制器進(jìn)行通信,而且支持VGA、QVGA、CIF、QCI、D1五種分辨率模式。主控制芯片通過HPI接口實現(xiàn)MPG440寄存器的初始化配置,接收MPEG-4數(shù)據(jù)流,整個壓縮編碼模塊硬件原理圖如圖(3)所示。

3

圖(3)壓縮編碼模塊電路

    解碼芯片TVP5150的AIPIA模擬信號輸入口與攝像頭的信號輸出端相連,并向壓縮編碼芯片MPG440傳送視頻信號。由于TVP5150分場同步脈沖和行同步脈沖,分別對應(yīng)的輸出端為VSYNC和HSYNC,MPG440根據(jù)與之相連的VSYNC和HSYNC信號線來實現(xiàn)圖象的場同步和行同步操作,MPG440的視頻信號輸入數(shù)據(jù)線DATA_TV[7:0]與TVP5150的輸出端YOUT[7:0]相連。MPG440將接收到的數(shù)據(jù)流傳送到壓縮編碼單元,壓縮編碼后的視頻數(shù)據(jù)存儲到外部SDRAM中,TVP5150所需的14.31818M赫茲時鐘頻率由外部硬件電路提供,MPG440可通過I/O口對TVP5150的參數(shù)進(jìn)行設(shè)置。MPG440通過片內(nèi)的PDMA控制器和SDRAM控制器來實現(xiàn)對SDRAM的訪問,并同時將數(shù)據(jù)流通過HPI總線發(fā)送到S3C2410以便通過網(wǎng)絡(luò)進(jìn)行傳輸。

   3.3網(wǎng)絡(luò)傳輸模塊

    S3C2410通過地址、數(shù)據(jù)、控制線以及片選信號線對CS8900A網(wǎng)絡(luò)芯片進(jìn)行控制和通信。主芯片發(fā)送信號時首先置發(fā)送使能信號,數(shù)據(jù)發(fā)送信號端TXD0~TXD1與CS8900A的

    TXD0~TXD1引腳連接,作為數(shù)據(jù)的發(fā)送通道。數(shù)據(jù)接收端RXD0~RXD1與CS8900A的RXD0~RXD1引腳對應(yīng)連接,為數(shù)據(jù)接收通道。CS8900A由S3C2410選通信號線nCS3來選通,通過對CS8900A一系列寄存器的設(shè)置,可以訪問CS8900A系統(tǒng)存儲空間。CS8900A的INTRQ0端用來產(chǎn)生中斷信號。

    以太網(wǎng)控制芯片通過DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對數(shù)據(jù)進(jìn)行封狀發(fā)送,并同時記錄已發(fā)送完的字節(jié)數(shù),等到整個數(shù)據(jù)塊發(fā)送完畢。一組數(shù)據(jù)發(fā)送完后,請求DMA中斷,由S3C2410進(jìn)行處理。整個網(wǎng)絡(luò)模塊硬件設(shè)計原理圖如圖(4)所示。

3

  4系統(tǒng)軟件設(shè)計

    整個Linux系統(tǒng)由四部分組成:引導(dǎo)加載程序(BootLoader)、Linux內(nèi)核(Kernel)、文件系統(tǒng)(filesystem)以及用戶空間(u ser)。四者分別被存儲在NandFlash的四個分區(qū)模塊中。本文中采用的是較節(jié)省空間的CRAMFS只讀文件系統(tǒng),而Bootloader以及內(nèi)核Kernel等在移植完成后可不需動態(tài)改變,u ser用戶空間則用來存放一些可以動態(tài)更新的配置文件,需要進(jìn)行多次的讀寫操作,故可以使用支持動態(tài)擦寫保存的JFFS2文件系統(tǒng)。由于Linux系統(tǒng)移植技術(shù)已經(jīng)很成熟,本文中不再細(xì)述,下文主要介紹MPEG-4壓縮編碼和CGI模塊的程序設(shè)計。

    4.1MPEG-4壓縮編碼程序設(shè)計

    整個壓縮編碼模塊完成了MPG440和TVP5150相關(guān)寄存器的配置,保證了MPEG-4數(shù)據(jù)流的正常輸出。系統(tǒng)啟動后,首先配置MPG440的寄存器,初始化完成后,通過I2C總線對TVP5150進(jìn)行初始化配置。在壓縮編碼過程中,MPEG-4數(shù)據(jù)流接收存儲程序由MPG440的數(shù)據(jù)流緩沖器標(biāo)志信號來進(jìn)行控制。當(dāng)緩沖器滿時,RISC_INT0置低,主控制器通過DMA通道把從MPG440的HPI接口接收過來的碼流通過網(wǎng)絡(luò)通道傳輸?shù)絇C端。其壓縮編碼模塊程序流程圖如圖(5)所示。

2

 4.2CGI程序設(shè)計

    CGI(CommonGatewayInterface)是外部應(yīng)用程序與萬維網(wǎng)(WWW)服務(wù)器交互通信的一個標(biāo)準(zhǔn)接口。在本系統(tǒng)中,其工作過程如下:在監(jiān)控端的PC機(jī)的瀏覽器中輸入網(wǎng)絡(luò)攝像機(jī)的IP地址,嵌入式網(wǎng)絡(luò)服務(wù)器根據(jù)請求,將相應(yīng)的控制頁面反饋給IE瀏覽器,用戶填寫完表單,然后提交,CGI程序根據(jù)表單的信息,來處理相應(yīng)的事件,如設(shè)置MPG440相關(guān)屬性、相機(jī)的云臺和鏡頭的相關(guān)操作等。CGI的控制原理圖如圖(6)所示。

2

 

  CGI模塊程序的設(shè)計主要包括如下幾部分:WEB服務(wù)器的配置、html頁面的編寫、CGI程序的設(shè)計。嵌入式WEB服務(wù)器采用的是Boa,其配置是以文件的形式提供,放在文件系統(tǒng)中的/etc/httpd/conf/目錄下面,其配置主要涉及以下幾個方面:

   (1)配置根文件的路徑:“DocumentRoot/home/httpd/html/”,html頁面必須放到此目錄下。

    (2)配置CGI程序所存放路徑:“ScriptAlias/cgi-bin/home/httpd/cgi-bin/”。

    (3)配置環(huán)境變量:“SetEnvD_LIBRARY­_PATH=/lib:/usr/local/lib:/usr/lib”,該變量將會被傳送到CGI腳本和SSI頁面,以保證CIG程序能正確找到所依賴的庫文件。

    網(wǎng)頁頁面的編寫采用html與shtml相結(jié)合的方法。Html的解析速度較快,而shtml可以在普通網(wǎng)頁中嵌入外部CGI程序,通過這種方式將系統(tǒng)的默認(rèn)配置反饋給客戶端。

    CGI程序的設(shè)計采用的是C語言和shell腳本相結(jié)合的方式,其編寫過程和Linux下其他程序的編寫相同,在此不在贅述。

    4.3MPEG-4解碼程序

    由于映佳科技已經(jīng)提供了供二次開發(fā)的MPEG-4解碼插件OCX,OCX在PC機(jī)注冊后可以方便的被網(wǎng)頁調(diào)用,實現(xiàn)在PC端實時觀看圖象。

    5結(jié)語

    本文敘述了一種基于S3C2410、MPG440以及TVP5150等芯片設(shè)計的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的實現(xiàn)方案。在測試過程中,該系統(tǒng)實時性好、穩(wěn)定可靠、圖象質(zhì)量也比較優(yōu)越,可廣泛應(yīng)用于銀行、交通以及工業(yè)監(jiān)控、視頻會議等眾多領(lǐng)域。

    本文作者創(chuàng)新點:設(shè)計了一個基于S3C2410的遠(yuǎn)程圖像監(jiān)控系統(tǒng)的實現(xiàn)方案,詳細(xì)討論了整個系統(tǒng)中的硬、軟件設(shè)計與實現(xiàn)。

    參考文獻(xiàn):

    [1]趙印偉,謝勝利.基于AT91RM9200的嵌入式網(wǎng)絡(luò)攝像機(jī)的設(shè)計與實現(xiàn)[J]微計算機(jī)信息2006,5:26-28

    [2]缐崴,孫先仿.攝像機(jī)運(yùn)動參數(shù)估計中的8點算法及其改進(jìn)[J]微計算機(jī)信息2005,8:99-100

    [3]KenArnold,EmbeddedControllerHardwareDesigne,USA,LLHTechnologyPublishing

廣告聯(lián)系:010-82755684 | 010-82755685 手機(jī)版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時代網(wǎng) 版權(quán)所有 關(guān)于投影時代 | 聯(lián)系我們 | 歡迎來稿 | 網(wǎng)站地圖
返回首頁 網(wǎng)友評論 返回頂部 建議反饋
快速評論
驗證碼: 看不清?點一下
發(fā)表評論