當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]具有遠(yuǎn)程監(jiān)控功能的視頻服務(wù)器設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)
   
硬件部分以三星公司的ARM9芯片S3C2410和韓國(guó)的專用視頻芯片AT2042為核心。S3C2410主要實(shí)現(xiàn)系統(tǒng)控制功能,例如對(duì)AT2042的配置,接收視頻流數(shù)據(jù)并利用USB存儲(chǔ)設(shè)備進(jìn)行存儲(chǔ);配置網(wǎng)絡(luò)接口建立起完善的網(wǎng)絡(luò)功能,以方便用戶通過(guò)Internet對(duì)其進(jìn)行遠(yuǎn)程訪問(wèn)與控制;同時(shí),掛載U盤或硬盤,預(yù)留U口或IDE的接口,可供用戶選擇,實(shí)現(xiàn)本地的海量存儲(chǔ)功能。
    整個(gè)系統(tǒng)軟件部分主要分為兩部分:服務(wù)器端和客戶端(C/S模式)。服務(wù)器端包括Bootloader的編寫,Linux操作系統(tǒng)內(nèi)核的生成,系統(tǒng)文件的配置以及用戶應(yīng)用軟件(實(shí)時(shí)視頻傳輸、錄像、遠(yuǎn)程回放、抓拍);客戶端是通過(guò)輸入IP地址訪問(wèn)指定的服務(wù)器,這時(shí)客戶端會(huì)通過(guò)網(wǎng)絡(luò)從服務(wù)器端下載并安裝預(yù)先設(shè)計(jì)的ActiveX控件,用戶可以通過(guò)這個(gè)控件實(shí)現(xiàn)實(shí)時(shí)監(jiān)控、視頻回放、圖像抓拍等功能。系統(tǒng)總體框圖如圖1所示。

2 系統(tǒng)硬件設(shè)計(jì)
    硬件系統(tǒng)主要由視頻編解碼部分、網(wǎng)絡(luò)傳輸部分、本地存儲(chǔ)部分、其他外設(shè)和接口部分組成,如圖2所示。包括S3C2410和AT2042、NAND Flash和SDRAM、數(shù)/模轉(zhuǎn)換芯片TVP5150和模/數(shù)轉(zhuǎn)換芯片SAA7112以及網(wǎng)卡芯片LAN91C11。接口包括USB接口、IDE接口、網(wǎng)卡接口、電源接口等。

2.1 視頻編解碼部分
    視頻編解碼電路主要包括模/數(shù)轉(zhuǎn)換電路和視頻壓縮/解壓芯片AT2042。其中,AT2042主要負(fù)責(zé)對(duì)經(jīng)模/數(shù)轉(zhuǎn)換芯片TVP5150轉(zhuǎn)換來(lái)的數(shù)字視頻數(shù)據(jù)進(jìn)行硬件壓縮。壓縮編碼過(guò)程中,攝像頭采集的模擬視頻信號(hào)先經(jīng)過(guò)TVP5150進(jìn)行前端處理,產(chǎn)生符合AT2042視頻接口標(biāo)準(zhǔn)的數(shù)字視頻信號(hào)。在S3C2410的控制下,該數(shù)字視頻數(shù)據(jù)由壓縮/解壓芯片AT2042進(jìn)行硬件壓縮編碼,產(chǎn)生的編碼數(shù)據(jù)流通過(guò)芯片內(nèi)部集成的Mux FIFO接口輸出。網(wǎng)絡(luò)視頻服務(wù)器的解壓縮編碼是壓縮編碼的逆過(guò)程,需要解壓的數(shù)據(jù)流通過(guò)AT2042內(nèi)部集成的Demux FIFO接口輸入,解壓縮編碼電路基本原理類似于壓縮編碼,這里不再贅述。視頻編碼電路框圖如圖3所示。TVP5150是TI公司生產(chǎn)的一款電視信號(hào)解碼專用芯片。它對(duì)輸入的模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,TVP5105支持NTSC/PAL/SECAM三種制式,實(shí)現(xiàn)模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字并行信號(hào)ITU-R BT.601或ITU-RBT.656碼流格式。由于AT2042視頻接口滿足ITU.RBT656標(biāo)準(zhǔn),故TVP5150輸出配置為8位的YUV422格式。

    解碼芯片TVP5150的AIPIA模擬信號(hào)輸入口與攝像頭的信號(hào)輸出端相連,并向壓縮編碼芯片AT2042傳送視頻信號(hào)。由于TVP5150分場(chǎng)同步脈沖和行同步脈沖,分別對(duì)應(yīng)的輸出端為VSYNC和HSYNC,AT2042根據(jù)與之相連的VSYNCIN和HSYNCIN信號(hào)線來(lái)實(shí)現(xiàn)圖像的場(chǎng)同步和行同步操作;AT2042的視頻信號(hào)輸入數(shù)據(jù)線VIN[7:0]與TVP5150的輸出端YOUT[7:0]相連。AT2042將接收到的數(shù)據(jù)流傳送到壓縮編碼單元,壓縮編碼后的視頻數(shù)據(jù)存儲(chǔ)到外部SDRAM中,同時(shí)通過(guò)片內(nèi)的SDRAM控制器來(lái)實(shí)現(xiàn)對(duì)SDRAM的訪問(wèn),并將數(shù)據(jù)流通過(guò)HPI總線發(fā)送到S3C2410以便通過(guò)網(wǎng)絡(luò)傳輸?shù)絇C監(jiān)控端,用于實(shí)現(xiàn)遠(yuǎn)程的實(shí)時(shí)監(jiān)控。
2.2 網(wǎng)絡(luò)傳輸部分
   
主控制芯片S3C2410通過(guò)地址、數(shù)據(jù)、控制線以及片選信號(hào)線對(duì)網(wǎng)絡(luò)芯片LAN91C11進(jìn)行控制和通信。主芯片發(fā)送信號(hào)時(shí)首先置發(fā)送使能信號(hào),數(shù)據(jù)發(fā)送信號(hào)端TXD0~TXD1與LAN91C11的TXD0~TXD1引腳連接,作為數(shù)據(jù)的發(fā)送通道以S3C2410的時(shí)鐘信號(hào)TCK發(fā)送數(shù)據(jù)。數(shù)據(jù)接收端RXD0~RXD1與LAN91C11的RXD0~RXD1引腳對(duì)應(yīng)連接,為數(shù)據(jù)接收通道。
    LAN91C11由S3C2410選通信號(hào)線AEN來(lái)選通,通過(guò)對(duì)LAN91C11一系列寄存器的設(shè)置,可以實(shí)現(xiàn)視頻流的網(wǎng)絡(luò)傳輸。LAN91C11的INTRQ0端用來(lái)產(chǎn)生中斷信號(hào)。以太網(wǎng)控制芯片通過(guò)DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲(chǔ)區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送,并同時(shí)記錄已發(fā)送完的字節(jié)數(shù),等到整個(gè)數(shù)據(jù)塊發(fā)送完畢。一組數(shù)據(jù)發(fā)送完后請(qǐng)求DMA中斷,由S3C2410進(jìn)行處理。網(wǎng)絡(luò)接口框圖如圖4所示。

2.3 本地存儲(chǔ)部分
   
存儲(chǔ)接口選用S3C2410自身的LJSB接口功能,該接口可以實(shí)現(xiàn)USB1.1協(xié)議。隨著大容量、小體積U盤的問(wèn)世,更多的用戶都選擇使用該存儲(chǔ)介質(zhì)。
    當(dāng)今的USB技術(shù)使得各種能夠自行識(shí)別的外部設(shè)備與設(shè)備終端連接,并自行裝載驅(qū)動(dòng)程序以運(yùn)行新的裝置。而一般即插即用裝置,需要有電源的USB接口進(jìn)行數(shù)據(jù)傳輸并提供電源。當(dāng)發(fā)生短路或連接了受損設(shè)備時(shí),如受損的電纜或連接頭插入U(xiǎn)SB接口時(shí),必須對(duì)USB集線器及主機(jī)裝置提供有效保護(hù)。USB接口的設(shè)計(jì)電路如圖5所示。

[!--empirenews.page--]2.4 其他外設(shè)和控制接口
   
其他外設(shè)包括Flash、SDRAM、以太網(wǎng)接口、串行通信接口RS232。其中,F(xiàn)lash用于存儲(chǔ)操作系統(tǒng)內(nèi)核和系統(tǒng)軟件,待系統(tǒng)上電后加載到內(nèi)存中;以太網(wǎng)接口將壓縮編碼后的音視頻數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò);RS232接口主要用于基于控制臺(tái)的配置和管理。另外,在調(diào)試過(guò)程中,RS232和以太網(wǎng)接口用于連接宿主機(jī)和目標(biāo)系統(tǒng)平臺(tái),方便了網(wǎng)絡(luò)視頻服務(wù)器系統(tǒng)的開發(fā)和調(diào)試。

3 系統(tǒng)軟件設(shè)計(jì)
   
整個(gè)嵌入式系統(tǒng)的軟件部分由4部分組成:Boot-loader代碼、Linux操作系統(tǒng)的內(nèi)核生成和Linux下驅(qū)動(dòng)程序及應(yīng)用程序的開發(fā)、文件系統(tǒng)的生成和配置以及用戶應(yīng)用程序。設(shè)備驅(qū)動(dòng)模塊向上層軟件提供一致的接口,主要包括硬件的初始化、總線內(nèi)存地址映射、內(nèi)存分配等,分別被存儲(chǔ)在NAND Flash的4個(gè)分區(qū)模塊中。本設(shè)計(jì)采用的是較節(jié)省空間的CRAMFS只讀文件系統(tǒng)。
3.1 MPEG-4壓縮編碼的實(shí)現(xiàn)
    AT2042支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多種視頻壓縮標(biāo)準(zhǔn),以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音頻壓縮標(biāo)準(zhǔn)。這些功能是通過(guò)配置相應(yīng)的編碼寄存器實(shí)現(xiàn)的,例如編碼模式、編碼像素點(diǎn)、編碼幀率及設(shè)置編碼流格式(PES、PS、TS)等等。本系統(tǒng)中采用MPEG-4模式、720X576、每秒25幀及生成PES流來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行編碼。
    MPEG-4壓縮編碼部分完成對(duì)AT2042和TVP5150相關(guān)寄存器的配置,保證了MPEG-4數(shù)據(jù)流的正常輸出。系統(tǒng)啟動(dòng)后,首先配置AT2042的寄存器,初始化完成后,通過(guò)I2C總線對(duì)TVP5150進(jìn)行初始化配置。在壓縮編碼過(guò)程中,MPEG-4數(shù)據(jù)流接收存儲(chǔ)程序由AT2042的數(shù)據(jù)流緩沖器標(biāo)志信號(hào)來(lái)進(jìn)行控制。當(dāng)緩沖器滿時(shí),RISC_INT0置低,主控制器通過(guò)DMA通道把從AT2042的網(wǎng)卡接口接收過(guò)來(lái)的碼流通過(guò)網(wǎng)絡(luò)通道傳輸?shù)絇C端。其壓縮編碼模塊程序流程如圖6所示。

3.2 遠(yuǎn)程網(wǎng)絡(luò)程序模塊
   
網(wǎng)絡(luò)控制模塊是外部擴(kuò)展應(yīng)用程序與視頻服務(wù)器交互的一個(gè)模塊。其工作過(guò)程是:在監(jiān)控終端的IE瀏覽器中輸入網(wǎng)絡(luò)視頻服務(wù)器的IP地址,嵌入式網(wǎng)絡(luò)視頻服務(wù)器根據(jù)請(qǐng)求,將相應(yīng)的控制頁(yè)面(即ActiveX控件)反饋給IE瀏覽器,用戶下載控件后,根據(jù)控件上的指令,進(jìn)行相應(yīng)的操作,然后提交。該模塊提取操作的信息,根據(jù)不同信息通過(guò)socket套接口與服務(wù)器進(jìn)行通信來(lái)分別處理相應(yīng)的事件,如調(diào)節(jié)MPEG-4相關(guān)屬性、攝像頭的相關(guān)操作等。該網(wǎng)絡(luò)控制模塊的設(shè)計(jì)主要包括3部分:本地嵌入式web服務(wù)器的配置、ActiveX控件的編寫、socket套接字實(shí)現(xiàn)服務(wù)器與監(jiān)控端通信。遠(yuǎn)程網(wǎng)絡(luò)程序模塊框圖如圖7所示。

3.3 本地存儲(chǔ)部分的實(shí)現(xiàn)
   
該部分主要實(shí)現(xiàn)的三大功能:U盤空間的監(jiān)測(cè),以系統(tǒng)時(shí)間來(lái)命名存儲(chǔ)文件并將文件保存到U盤上,實(shí)現(xiàn)MPEG-4編碼。視頻編碼存儲(chǔ)主要是利用Linux系統(tǒng)指令、AT2042芯片的視頻編碼功能和自動(dòng)生成傳輸流功能。
    (1)顯示U盤存儲(chǔ)空間
    首先,利用Linux系統(tǒng)指令與C語(yǔ)言的接口函數(shù)sys-tem(const char*string),執(zhí)行指令會(huì)把U盤空間的容量、可用空間等信息寫入設(shè)定目錄下,然后利用display_string(char*string)函數(shù)將該信息顯示在顯示層面上。這樣可以使用戶很清楚地了解到可用存儲(chǔ)空間的大小。
    (2)以系統(tǒng)時(shí)間命名文件名
    調(diào)用系統(tǒng)函數(shù)time、localtime,這里需要定義相應(yīng)的結(jié)構(gòu)體tm來(lái)獲取系統(tǒng)時(shí)間,然后將這些信息與建立文件的路徑保存在同一個(gè)字符串,調(diào)用fopen(const char*path,const char*mode)函數(shù)。這樣就實(shí)現(xiàn)了以系統(tǒng)時(shí)間來(lái)命名文件名,可以方便用戶按時(shí)間來(lái)查看文件。
3.4 運(yùn)動(dòng)圖像監(jiān)測(cè)的實(shí)現(xiàn)
   
該視頻監(jiān)控系統(tǒng)配置AT2042的相關(guān)寄存器,可實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)的功能。通過(guò)運(yùn)動(dòng)檢測(cè)來(lái)控制視頻數(shù)據(jù)的存儲(chǔ)和報(bào)警。運(yùn)動(dòng)檢測(cè)(報(bào)警)算法可以控制存儲(chǔ)動(dòng)作,節(jié)省存儲(chǔ)空間。例如,開始無(wú)運(yùn)動(dòng)報(bào)警信號(hào),存儲(chǔ)模塊處于等待狀態(tài);運(yùn)動(dòng)報(bào)警信號(hào)到來(lái),啟動(dòng)存儲(chǔ)模塊,在一定時(shí)間內(nèi)如果沒(méi)有繼續(xù)收到運(yùn)動(dòng)報(bào)警信號(hào),存儲(chǔ)模塊自動(dòng)停止工作。這樣存儲(chǔ)量比連續(xù)存盤少得多,大量無(wú)運(yùn)動(dòng)的視頻被剪截掉了,大大提高了存盤效率,有效地節(jié)省了存儲(chǔ)空間。工作過(guò)程是這樣的:預(yù)先進(jìn)行檢測(cè)區(qū)域設(shè)定,從攝像機(jī)來(lái)的視頻信號(hào)一方面進(jìn)行視頻壓縮,壓縮的碼流輸出到緩沖區(qū)中;另一方面進(jìn)行運(yùn)動(dòng)檢測(cè),當(dāng)運(yùn)動(dòng)條件滿足時(shí)發(fā)出報(bào)警信號(hào),存儲(chǔ)設(shè)備開始工作。存儲(chǔ)設(shè)備一接到啟動(dòng)信號(hào)就將緩沖區(qū)的壓縮碼流全部保存下來(lái),接著連續(xù)存儲(chǔ)視頻壓縮輸出的碼流,直到存儲(chǔ)控制指示停止存盤為止。運(yùn)動(dòng)方向的估計(jì)可以實(shí)現(xiàn)監(jiān)控系統(tǒng)中的警戒線報(bào)警功能。在圖像畫面上設(shè)定警戒線以及方向,相應(yīng)地產(chǎn)生一個(gè)預(yù)警區(qū)域。圍繞邊界線產(chǎn)生邊界區(qū)域或邊緣點(diǎn)集,監(jiān)測(cè)是否有運(yùn)動(dòng)越過(guò)警戒線進(jìn)入警戒區(qū)。

結(jié) 語(yǔ)
    本視頻服務(wù)器既有視頻遠(yuǎn)程實(shí)時(shí)傳輸,又具有本地存儲(chǔ)的功能,再配置AT2042實(shí)現(xiàn)多種視頻格式的編碼和運(yùn)動(dòng)檢測(cè)、報(bào)警功能,使用起來(lái)方便易行,可以得到廣泛的應(yīng)用。該視頻服務(wù)器集成普通攝像機(jī)和網(wǎng)絡(luò)轉(zhuǎn)換器,將圖像轉(zhuǎn)換為基于TCP/IP網(wǎng)絡(luò)標(biāo)準(zhǔn)的數(shù)據(jù)包,使攝像機(jī)所攝的畫面通過(guò)RJ-45以太網(wǎng)接口直接傳送到網(wǎng)絡(luò)上,通過(guò)網(wǎng)絡(luò)即可遠(yuǎn)程監(jiān)視畫面。該視頻服務(wù)器采用了最先進(jìn)的攝像技術(shù)和網(wǎng)絡(luò)技術(shù),具有強(qiáng)大的功能。內(nèi)置的系統(tǒng)軟件能實(shí)現(xiàn)真正的即插即用,使用戶免去了復(fù)雜的網(wǎng)絡(luò)配置;內(nèi)置的大容量?jī)?nèi)存能存儲(chǔ)警報(bào)觸發(fā)前的圖像;內(nèi)置的I/O端口和通信口便于擴(kuò)充外部周邊設(shè)備,如門禁系統(tǒng)、紅外線感應(yīng)裝置、全方位云臺(tái)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉