基于ARM的遠程無線視頻監控終端設計
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所示。本文引用地址:http://www.104case.com/article/151046.htm
圖6中,調用Socket()函數用來實現建立一個Socket,接著發起一個請求,通過調用connect()函數來實現,一旦客戶機和服務器套接字建立了連接,雙方就可以通過send()和recv()函數的調用來發送和接收數據了。如果想斷開連接,調用close()函數釋放和套接字相關的系統資源即可。
3 測試結果
通過實驗測試,一幅分辨率為360x288的視頻圖像,經無線網絡GPRS進行傳輸,其傳輸速度可達到約2幀/秒,滿足無線視頻監控系統要求。
4 結論
經過測試分析,基于ARM的遠程無線視頻監控終端的設計方案具有實時性好、功耗低、工作可靠等優點,適用于移動環境、難于布線的場所和邊遠地區,具有較好的市場應用前景。
評論