《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的遠程無線視頻監控終端設計
基于ARM的遠程無線視頻監控終端設計
電子設計工程
孟 晉,周 鵬
摘要: 基于ARM的遠程無線視頻監控終端設計,提出了一種以ARM微處理器為控制核心的遠程無線視頻監控終端的設計方案,其監控終端的硬件設計包括視頻采集處理、中央管理控制、無線傳輸3個模塊。并給出了監控終端的軟件開發平臺和開發模式的系統啟動代碼、嵌入式Linux系統移植以及驅動程序和應用程序。測試結果表明,該監控終端設計方案合理、有效,基本滿足監控需求。
Abstract:
Key words :

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

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


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


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


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



2 監控終端的軟件設計
   
監控終端的軟件設計是基于嵌入式Linux操作系統的,其模塊框圖如圖5所示。


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


    圖6中,調用Socket()函數用來實現建立一個Socket,接著發起一個請求,通過調用connect()函數來實現,一旦客戶機和服務器套接字建立了連接,雙方就可以通過send()和recv()函數的調用來發送和接收數據了。如果想斷開連接,調用close()函數釋放和套接字相關的系統資源即可。

3 測試結果
   
通過實驗測試,一幅分辨率為360x288的視頻圖像,經無線網絡GPRS進行傳輸,其傳輸速度可達到約2幀/秒,滿足無線視頻監控系統要求。

4 結論
   
經過測試分析,基于ARM的遠程無線視頻監控終端的設計方案具有實時性好、功耗低、工作可靠等優點,適用于移動環境、難于布線的場所和邊遠地區,具有較好的市場應用前景。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成人精品午夜视频' | 成人午夜视频网站 | 国产日韩一区在线精品欧美玲 | 亚洲永久精品一区二区三区 | 黄色激情网址 | 亚洲一区二区三区网站 | 天天干天天干天天操 | 最近免费的中文字幕一 | 羞羞网 | 在线播放一区二区精品产 | 在线观看视频中文字幕 | 亚洲视频一区二区三区 | 久久黄色一级片 | 欧美日韩国产一区二区三区欧 | 一区二区三区在线 | 日本 | 国产精品亚洲欧美动漫卡通 | 国产福利在线小视频 | 国产欧美日韩精品第一区 | 在线观看一级片 | 亚洲一区二区影视 | 欧美激情视频一区二区三区 | 波多野结衣与老人公gvg在线 | 97理论三级九七午夜在线观看 | free性丰满hd性欧 | 成功精品影院 | 日韩欧美区 | 国产成人精品一区二区不卡 | 尻逼久久 | 亚洲精品xxx | 国产麻豆精品入口在线观看 | 精品一区二区在线欧美日韩 | 亚洲日韩视频免费观看 | 妇欲欢公爽公妇高h欲 | 欧美精彩狠狠色丁香婷婷 | 人成18亚洲资源在线 | 射射射综合网 | h肉动漫无遮挡在线观看免费 | 亚洲欧美日韩综合一区 | 成年人三级视频 | 日韩欧美在线综合网 | 天天干天天操天天射 |