當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于ARM的遠(yuǎn)程無(wú)線視頻監(jiān)控終端設(shè)計(jì)

目前在視頻監(jiān)控系統(tǒng)領(lǐng)域中,有線視頻監(jiān)控系統(tǒng)較為普遍,然而其有效距離短、成本高,僅適用于小范圍的區(qū)域監(jiān)控,而對(duì)于一些特殊的監(jiān)控場(chǎng)合,如油田采油現(xiàn)場(chǎng)、遠(yuǎn)程環(huán)境采樣、災(zāi)害或突發(fā)事件現(xiàn)場(chǎng)等,由于監(jiān)控點(diǎn)的分布范圍比較廣,難以架設(shè)線纜,因此有線視頻監(jiān)控受固有物理布線的限制無(wú)法實(shí)現(xiàn)。但遠(yuǎn)程無(wú)線視頻監(jiān)控卻不受限制,可以擺脫線纜的束縛,具有安裝周期短、維護(hù)方便、擴(kuò)容能力強(qiáng)等優(yōu)點(diǎn)。同時(shí)隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,將嵌入式系統(tǒng)技術(shù)、無(wú)線通信技術(shù)和基于TCP/IP的Internet技術(shù)結(jié)合在一起的嵌入式遠(yuǎn)程無(wú)線視頻監(jiān)視系統(tǒng)已成為可能。
    監(jiān)控系統(tǒng)大多都符合“控制中心一監(jiān)控終端”的構(gòu)建模式??刂浦行呢?fù)責(zé)收集各監(jiān)控終端上傳的監(jiān)控信息,發(fā)送各種操作命令,控制監(jiān)控終端。監(jiān)控終端置于遠(yuǎn)離控制中心的各監(jiān)控點(diǎn),負(fù)責(zé)信息采集、傳輸和響應(yīng)控制中心發(fā)出的控制命令。由于監(jiān)控終端對(duì)信息數(shù)據(jù)處理的能力和精度將影響整個(gè)系統(tǒng)的最終性能。ARM微處理器是一款高速、高性能的嵌入式處理器,適合加入操作系統(tǒng),完成代P/IP協(xié)議,USB通信等復(fù)雜功能;速度快,存儲(chǔ)空間大,適用于視頻處理;具有很強(qiáng)的控制和事物調(diào)度能力,適用于那些既有數(shù)據(jù)處理又有大量事務(wù)需要處理的場(chǎng)合。因此,提出了一種基于ARM的監(jiān)控終端設(shè)計(jì)方案。

1 監(jiān)控終端的硬件設(shè)計(jì)
   
監(jiān)控終端的硬件設(shè)計(jì)主要由3部分組成,1)由視頻解碼器和視頻編碼壓縮器組成的視頻采集處理模塊;2)以ARM微處理器、存儲(chǔ)器等組成的中央管理控制模塊;3)以GPRS為主的無(wú)線傳輸模塊?,F(xiàn)場(chǎng)信息通過(guò)攝像頭進(jìn)入SAA7111A進(jìn)行A/D轉(zhuǎn)換,將模擬視頻信息變成數(shù)字信息,然后再經(jīng)過(guò)IME6400進(jìn)行MPEG-4編碼壓縮,壓縮后的數(shù)據(jù)進(jìn)入嵌入式處理器S3C2440,最后S3C2440將壓縮數(shù)據(jù)通過(guò)GPRS發(fā)送出去。其中ARM微處理器控制整個(gè)監(jiān)控終端。ARM微處理器采用16/32位RISC嵌入式處理器S3C2440。它利用ARM920T內(nèi)核為手持設(shè)備和一般類型應(yīng)用提供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。監(jiān)控終端的硬件結(jié)構(gòu)框圖如圖1所示。


1.1 視頻采集處理模塊
  
視頻采集處理模塊主要由視頻A/D轉(zhuǎn)換解碼器SAA7111A和視頻編碼壓縮器IME6400組成。SAA7111A是一種增強(qiáng)型視頻輸入處理器,它集A/D轉(zhuǎn)換與解碼功能于一身?,F(xiàn)場(chǎng)視頻信息通過(guò)攝像頭從SAA7111A的4個(gè)模擬輸入端AI11、AI12、AI21、AI22的某一引腳引入。經(jīng)A/D轉(zhuǎn)換后,產(chǎn)生的Y和UV信號(hào)經(jīng)格式化后從VPO[15:0]引腳輸出。SAA7111A的所有功能均是在I2C總線控制下完成的,嵌入式微處理器S3C2440通過(guò)I2C總線對(duì)SAA7111A內(nèi)部的32個(gè)寄存器進(jìn)行配置。SAA7111A內(nèi)部功能原理如圖2所示。


    IME64400支持MPEG-1、MPEG-2和MPEG-4 3種格式的視頻壓縮編碼標(biāo)準(zhǔn);其圖像大小可以編程設(shè)定,最大尺寸可達(dá)2 048x2 048;碼率支持固定和可變碼率壓縮,并且支持動(dòng)態(tài)檢測(cè)。IME6400將SAA7111A數(shù)字化后的視頻數(shù)據(jù)送入到IME6400內(nèi)部進(jìn)行MPEG-4壓縮編碼,編碼后的數(shù)據(jù)流經(jīng)SDRAM進(jìn)行緩存,然后流經(jīng)1 KB的FIFO緩沖區(qū)用來(lái)滿足編碼數(shù)據(jù)的快速傳遞,當(dāng)FIFO溢出時(shí),其GPI00引腳將產(chǎn)生一個(gè)下降沿的中斷通知主控芯片讀取FIFO中的數(shù)據(jù)。S3C2440通過(guò)數(shù)據(jù)線與IME6400的主機(jī)接口相連并對(duì)其內(nèi)部的一系列的寄存器進(jìn)行設(shè)置,IME6400的內(nèi)部功能框圖如圖3所示。

[!--empirenews.page--]


1.2 中央管理控制模塊
   
中央管理控制模塊是以嵌入式ARM微處理器為核心,實(shí)現(xiàn)視頻圖像信號(hào)的采集與壓縮管理、視頻圖像數(shù)據(jù)的收發(fā),以及控制信號(hào)的解釋執(zhí)行等。該中央管理控制模塊包括:電源和復(fù)位電路、系統(tǒng)時(shí)鐘電路、Flash存儲(chǔ)器接口電路、SDRAM接口電路、JTAG接口電路、串行接口電路等。
1.3 無(wú)線傳輸模塊
   
無(wú)線傳輸模塊采用GPRS Modem傳輸壓縮后的視頻圖像數(shù)據(jù),GPRS Modem中的MC55無(wú)線模塊闈具有3頻段,適用于歐洲和亞洲的頻段:90 0,1 800和1 900 MHz,其3種頻段的切換可由AT指令控制。MC55模塊是系統(tǒng)的無(wú)線網(wǎng)絡(luò)接口,具有GPRS class-10多時(shí)隙功能,class-B操作模式,支持增強(qiáng)型AT命令集,模塊自帶TCP/IP協(xié)議棧。嵌入式微處理器S3C2440通過(guò)串口與GPRS Modem提供的串口相連,所有數(shù)據(jù)都通過(guò)串口實(shí)現(xiàn)交換。嵌入式微處理器S3C2440與GPRS Modem連接的電路原理圖如圖4所示。



2 監(jiān)控終端的軟件設(shè)計(jì)
   
監(jiān)控終端的軟件設(shè)計(jì)是基于嵌入式Linux操作系統(tǒng)的,其模塊框圖如圖5所示。


    1)在監(jiān)控終端硬件基礎(chǔ)上搭建一個(gè)軟件平臺(tái)即操作系統(tǒng)層,搭建的軟件開發(fā)平臺(tái)需要完成系統(tǒng)啟動(dòng)代碼的設(shè)計(jì)(U-BOOT的修改與移植)、嵌入式Linux操作系統(tǒng)內(nèi)核的移植以及設(shè)備驅(qū)動(dòng)程序的開發(fā)等。系統(tǒng)啟動(dòng)代碼即Bootloader是在操作系統(tǒng)內(nèi)核之前運(yùn)行的一段小程序。通過(guò)這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。通過(guò)對(duì)U-Boot-1.3.3的修改和移植完成系統(tǒng)啟動(dòng)代碼的設(shè)計(jì)。監(jiān)控終端軟件的核心是嵌入式Linux操作系統(tǒng),一切功能的實(shí)現(xiàn)都基于Linux操作系統(tǒng)完成的。嵌入式Linux操作系統(tǒng)內(nèi)核采用Linux 2.6.26的內(nèi)核版本,并對(duì)其進(jìn)行配置,實(shí)現(xiàn)操作系統(tǒng)在監(jiān)控終端硬件平臺(tái)上的移植。根文件系統(tǒng)是指嵌入式Linux系統(tǒng)啟動(dòng)時(shí)所使用的第一個(gè)文件系統(tǒng),在啟動(dòng)內(nèi)核時(shí)需要掛載根文件系統(tǒng)來(lái)支持訪問外部設(shè)備,以及裝載和運(yùn)行內(nèi)核模塊與應(yīng)用程序,通過(guò)BusyBox1.6.1進(jìn)行配置實(shí)現(xiàn)了根文件系統(tǒng)的建立,同時(shí)通過(guò)Cramfs工具包,制作了Cramfs文件系統(tǒng)。
    嵌入式Linux系統(tǒng)內(nèi)核通過(guò)設(shè)備驅(qū)動(dòng)程序與外圍設(shè)備進(jìn)行交互,設(shè)備驅(qū)動(dòng)程序是一組數(shù)據(jù)結(jié)構(gòu)和函數(shù),它們通過(guò)定義的接口控制一個(gè)或多個(gè)設(shè)備,設(shè)計(jì)了IME6400驅(qū)動(dòng)程序和MC55驅(qū)動(dòng)程序。將IME6400按照字符設(shè)備來(lái)處理,編寫一個(gè)字符設(shè)備驅(qū)動(dòng)。字符設(shè)備是Linux中最簡(jiǎn)單的設(shè)備,應(yīng)用程序使用標(biāo)準(zhǔn)的系統(tǒng)調(diào)用打開、讀取、寫和關(guān)閉。內(nèi)核使用file_operations結(jié)構(gòu)訪問驅(qū)動(dòng)程序的函數(shù),open()函數(shù)用于完成設(shè)備打開計(jì)數(shù)、中斷申請(qǐng)和環(huán)形緩沖區(qū)的初始化工作;release()函數(shù)的用法和作用正好與open()函數(shù)相反;ioctl()函數(shù)用于提供各種各樣的硬件控制,即應(yīng)用程序需要通過(guò)ioctl()函數(shù)來(lái)讀取和修改環(huán)形緩沖區(qū)的標(biāo)識(shí)變量。MC55的設(shè)備驅(qū)動(dòng)程序主要包括MC55的file_operations數(shù)據(jù)結(jié)構(gòu)及MC55的打開、關(guān)閉、讀、寫,MC55的硬件初始化等函數(shù)。MC55的打開函數(shù)MC55_open()用于實(shí)現(xiàn)GPRS設(shè)備的打開;關(guān)閉函數(shù)MC55_close()用于實(shí)現(xiàn)GPRS設(shè)備的關(guān)閉;讀函數(shù)MC55_read()用于實(shí)現(xiàn)數(shù)據(jù)的讀取接收;寫函數(shù)MC55_write()用于實(shí)現(xiàn)數(shù)據(jù)的發(fā)送;I/O初始化程序MC55_ hardware_init()實(shí)現(xiàn)對(duì)GPRS設(shè)備輸入、輸出端口的初始化;MC55的初始化程序void_initMC55_init()完成對(duì)GPRS設(shè)備的初始化工作。
    2)在軟件平臺(tái)的基礎(chǔ)上,開發(fā)系統(tǒng)的應(yīng)用程序即應(yīng)用層。借助交叉編譯工具,開發(fā)視頻監(jiān)控終端上運(yùn)行的采集、壓縮、傳輸程序。監(jiān)控終端的應(yīng)用程序主要包括MPGE4壓縮編碼模塊控制程序和GPRS模塊傳輸數(shù)據(jù)的程序,同時(shí)還要對(duì)視頻A/D轉(zhuǎn)換器SAA7111A的工作方式進(jìn)行配置。
    SAA7111A工作方式的配置是微處理器S3C2440通過(guò)I2C總線對(duì)其內(nèi)部32個(gè)寄存器的配置實(shí)現(xiàn)的。SAA7111A初始化設(shè)定為:1路模擬視頻信號(hào)輸入(AI11)、自動(dòng)增益控制、PAL制式、YUV4:2:2的16位數(shù)字視頻信號(hào)輸出。由于輸入視頻信號(hào)屬于PAL制式,需要把寄存器08H中的FSEL(50、60 Hz場(chǎng)頻選擇)位設(shè)置為0;另外還需要把該寄存器中的HPLL(鎖相環(huán)使能選擇)位設(shè)置為O,使HREF(行輸出參考)、VREF(場(chǎng)輸出參考)信號(hào)輸出同步;把寄存器11H中的COLO位設(shè)置為1。表示Y和C通道同時(shí)工作;把11H中的OEHV、OEYC位設(shè)置為11,功能是使能芯片的VPO、HS、VS、HREF、VREF這些輸出端口。[!--empirenews.page--]
    MPGE4壓縮編碼模塊控制程序主要由Firmware的下載及其寄存器的設(shè)置,以及MPEG4數(shù)據(jù)的傳送組成。Firmware下載程序是一個(gè)內(nèi)部SRMA的寫操作循環(huán),下載時(shí)首先向Control寄存器寫入Ox4000,告知IME6400初始化下載;然后將Firmware看成一個(gè)16位的二進(jìn)制數(shù)組,每次向Ba-seAddress0寫入下載的目的地址偏移。而且向Data寫入要下載的16位數(shù)據(jù)下載一個(gè)16位字,如此循環(huán)直到按順序下載完整個(gè)Firmware。IME64 00接收連續(xù)的視頻圖像數(shù)據(jù)流,也相應(yīng)地輸出連續(xù)的壓縮視頻圖像數(shù)據(jù)流。IME6400工作在異步模式下,F(xiàn)IFO中有NFIFOSIZE(通常是1 024)字節(jié)以上的數(shù)據(jù)之后,將GPI00引腳狀態(tài)置為低。主控處理器檢測(cè)到GPI00上的低電平之后,從IME6400讀取NFIFOSIZE字節(jié)的數(shù)據(jù)。結(jié)束之后向HI用戶寄存器USER4中寫入一個(gè)不同的值,通知IME6400傳輸結(jié)束。IME6400將新的數(shù)據(jù)繼續(xù)寫入FIFO中。這樣一個(gè)循環(huán)允許嵌入式處理器從IME6400中連續(xù)讀取連續(xù)的數(shù)據(jù)流。同時(shí)使用IME6400的設(shè)備驅(qū)動(dòng)程序來(lái)完成IME6400接收編碼數(shù)據(jù),把數(shù)據(jù)搬運(yùn)到一個(gè)可見的緩沖區(qū)中,并協(xié)調(diào)對(duì)數(shù)據(jù)的處理。
    GPRS模塊傳輸數(shù)據(jù)的程序主要包括接入GPRS網(wǎng)絡(luò)程序和Socket通信程序2部分。接入GPRS網(wǎng)絡(luò)程序主要由pppd程序調(diào)用chat會(huì)話程序來(lái)完成。采用pppd-2.4.3源碼包,經(jīng)過(guò)交叉編譯后生成pppd、chat、pppdump和pppstats4個(gè)可執(zhí)行文件,最后就可以在嵌入式Linux終端下直接運(yùn)行ppp-on腳本程序即可實(shí)現(xiàn)GPRS撥號(hào)接入CMNET中國(guó)移動(dòng)無(wú)線網(wǎng)絡(luò)。監(jiān)控終端接入中國(guó)移動(dòng)GPRS無(wú)線網(wǎng)絡(luò)后,獲得了一個(gè)IP,通過(guò)使用中國(guó)移動(dòng)的CMNET網(wǎng)關(guān),終端就可以與連入Internet網(wǎng)絡(luò)的監(jiān)控中心之間進(jìn)行數(shù)據(jù)交換。監(jiān)控中心與監(jiān)控終端使用Socket(套接字)通信。套接字Socket的基本模式采用C/S(客戶/服務(wù)器),遠(yuǎn)程終端設(shè)備工作在客戶模式,而Internet網(wǎng)上的監(jiān)控中心工作在服務(wù)器模式??蛻舳顺绦蚧玖鞒淌牵簞?chuàng)建套接字,綁定套接字到服務(wù)器端口上,然后請(qǐng)求連接,最后調(diào)用數(shù)據(jù)收發(fā)函數(shù)進(jìn)行數(shù)據(jù)的傳輸。在客戶端通信程序執(zhí)行前,服務(wù)器端的程序必須完成初始化并開始偵聽?;赟ocket網(wǎng)絡(luò)通信的客戶端系統(tǒng)流程如圖6所示。


    圖6中,調(diào)用Socket()函數(shù)用來(lái)實(shí)現(xiàn)建立一個(gè)Socket,接著發(fā)起一個(gè)請(qǐng)求,通過(guò)調(diào)用connect()函數(shù)來(lái)實(shí)現(xiàn),一旦客戶機(jī)和服務(wù)器套接字建立了連接,雙方就可以通過(guò)send()和recv()函數(shù)的調(diào)用來(lái)發(fā)送和接收數(shù)據(jù)了。如果想斷開連接,調(diào)用close()函數(shù)釋放和套接字相關(guān)的系統(tǒng)資源即可。

3 測(cè)試結(jié)果
   
通過(guò)實(shí)驗(yàn)測(cè)試,一幅分辨率為360x288的視頻圖像,經(jīng)無(wú)線網(wǎng)絡(luò)GPRS進(jìn)行傳輸,其傳輸速度可達(dá)到約2幀/秒,滿足無(wú)線視頻監(jiān)控系統(tǒng)要求。

4 結(jié)論
   
經(jīng)過(guò)測(cè)試分析,基于ARM遠(yuǎn)程無(wú)線視頻監(jiān)控終端的設(shè)計(jì)方案具有實(shí)時(shí)性好、功耗低、工作可靠等優(yōu)點(diǎn),適用于移動(dòng)環(huán)境、難于布線的場(chǎng)所和邊遠(yuǎn)地區(qū),具有較好的市場(chǎng)應(yīng)用前景。

本站聲明: 本文章由作者或相關(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)閉