1 引言 目前,遠程視頻監控系統已經廣泛應用于工礦企業生產現場監控、電信機房監控、城市交通管理等領域。常見的遠程視頻監控系統大多是通過架設專用的有線媒介,或者租用電信運營商的通信線路傳輸視頻信號。前者工程工期長,前期投入比較大,傳輸距離有限;后者受周邊環境影響較大,可擴展性較差,這就造成在礦山等偏遠地區和地形復雜地區的應用受到限制。 隨著移動通信技術的發展,無線數據傳輸的速度有了很大提高。為了能夠向GSM用戶提供分組形式的數據業務,移動公司利用現有的GSM網絡的絕大部分基礎設施,進行軟件的升級,形成了一種新的網絡邏輯實體——通用分組無線業務(GeneralPacket Radio Service,GPRS)。中國移動GPRS網絡覆蓋率廣,具有基于IP、實時在線、按流量計費、方便、性價比高等優點。通過GPRS網絡傳送用H.263等低比特圖像壓縮標準壓縮的視頻數據已成為遠程視頻實時監控系統的新選擇。本文介紹一種基于GPRS網絡的無線視頻監控系統,該系統可以在不適合架設有線網絡的特殊地理環境下,利用現有的中國移動GPRS網絡和Internet代替傳統的有線視頻監控系統對遠程目標進行視頻監控。系統中采用嵌入式控制模塊I-7188作為監控終端的主控制器。 2 系統結構 GPRS是一種新型的GSM數據業務,可在用戶和數據網絡之間提供一種連接,給移動用戶提供高速無線IP和X.25分組數據接入服務。GPRS采用分組交換技術,多個用戶可共享某些固定的信道資源,免受上網斷線之苦。GPRS數據傳送速率理論上最高可達164 kb/s。雖然目前只支持53.3 kb/s的峰值傳輸速率,但是由于H.263等低比特圖像壓縮標準能以低于28.8 kb/s的碼率對單幀或者活動幀視頻進行壓縮解壓縮,因此,通過GPRS網絡傳送已壓縮的視頻信號是完全可行的。 整個無線視頻監控系統分為現場視頻采集站點、GPRS網絡及遠程視頻服務器3部分,如圖1所示。現場視頻采集站點與遠程視頻服務器之間通過GPRS網絡建立TCP連接,傳送視頻編碼和控制指令。現場視頻采集站點作為TCP連接的客戶端,遠程視頻服務器作為TCP連接的服務端。現場視頻采集站點在上電后自動尋找遠程視頻服務器。而遠程視頻服務器在與現場視頻采集站點建立TCP連接后,通過發送指令遠程控制視頻采集的開始、結束以及是采用單幀采集還是連續幀采集。 2.1 現場視頻采集站點 現場視頻采集站點包括攝像頭、云臺、視頻采集卡、I-7188嵌入式控制模塊、GPRS Modem 5個模塊,如圖1所示。其中,攝像頭可根據客戶要求的清晰度、彩色/黑白、可控性等選擇合適的型號,還可以增加云臺來控制攝像頭的動作。攝像頭輸出視頻的制式要符合視頻采集卡的要求。視頻采集卡可以選擇市面上符合H.263協議的視頻采集卡成品,也可以根據需求,采用FPGA、DSP以及專用視頻采集器件來實現。本系統設計選用北京百目公司生產的視頻編碼板-極目719EC。 圖像監控系統的設計重點之一是圖像編解碼。雖然GPRS網絡的性能相對于GSM網絡有了很大的提升。但是仍然無法滿足動態圖像傳輸的速度要求,因此,本系統采用北京百目公司自行研發的專有視頻序列壓縮算法CAMEC傳輸靜態圖像,并對圖像的編解碼步驟進行適當取舍。 CAMEC算法在保證一定性能的前提下具有計算量小的特點,可有效降低系統功耗和成本。極目系列產品全部采用CAMEC算法,已在實際應用中得到了各行業用戶的肯定與好評。極目719EC編碼板既可以輸出采用幀內視頻壓縮方式生成的單幀編碼,也可以輸出基于幀間預測壓縮方式生成的幀序列編碼碼流。一般單幀編碼比較適用于照片存儲類應用,而幀序列編碼方式則適合傳輸類應用。另外,該視頻壓縮卡支持H.263圖像壓縮標準和CIF/QCIF格式,壓縮幀率為1~25幀每秒,可調。 極目719EC編碼板的主要功能是對輸入的模擬視頻信號進行量化、壓縮、編碼等處理,然后通過一個RS232串行數據口將壓縮編碼碼流輸出給主機設備。主機設備利用極目719EC的視頻壓縮編碼板實現視頻傳送、視頻存儲等功能。 2.1.2 GPRS MODEM網絡部分命令的應用 GPRS Modem內嵌了TCP/IP協議棧,可進行透明的數據傳輸。I-7188通過COM1口使用標準AT命令對GPRS Modem進行操作。GPRS Modem網絡相關的部分指令如下: 2.1.3 視頻采集站點的工作原理 首先,視頻采集卡與控制器I-7188的COM3口相連,對輸入的模擬視頻信號進行量化、壓縮、編碼等處理。然后,通過COM3將壓縮編碼碼流輸出給控制器I-7188。I-7188的COM1口與GPRS Modem相連,I-7188通過COM1根據網絡情況把輸入的編碼打包傳送給GPRS Modem。GPRS Modem上電后自動依附到GPRS網絡上,進入命令模式。 2.2 遠程視頻服務器 如圖1所示,監控視頻服務器端由Internet網絡接入點、視頻服務器和監控軟件組成。監控軟件采用面向對象的方法,由Visual C++6.0編程實現。應用程序除了主線程外,還為每一個已建立的TCP連接增加了一個解碼線,使得程序在同一時間可以對多個監控終端進行監控。監控終端的身份識別、視頻的控制(包括監控點圖像切換、云臺控制和攝像機鏡頭控制)統一由監控軟件管理。 2.2.1 TCP的連接實現 對于計算機用戶來說,實現撥號接入Internet是件很容易的事,因為在PC上有非常成熟的軟件能夠輕松實現PPP和TCP/IP協議。但是對于采用嵌入式設備的終端尤其是單片機來說,由于硬件資源的制約和協議的復雜繁瑣,實現起來比較困難。 程序TCP連接是在Windows套接字(Winsock)的基礎上開發的。Winsock是Windows系統TCP/IP編程的通用接口。MFC類庫中的CAsyncSocket類和CSocket類為開發Windows Socket通信程序提供了面向對象的編程接口。在實際應用中,通常是以它們為基類派生出Socket對象完成網絡通信的。系統中遠程視頻采集站點和服務器之間需要建立TCP連接,所以Socket采用流式套接字。 服務器程序中用到了兩個Socket類:CLis-tenSocket類和CAcceptSocket類。它們都是以Public方式繼承CSocket類生成的。 CListenSocket類為偵聽套接字類,只注冊FD_ACCEPT事件,主要負責維護為客戶連接服務的數據套接字。CAccept-Socket類為數據套接字類,主要負責和視頻采集站點的通信工作。CAceeptSocket類是由CListenSocket類接受視頻采集站點的連接請求而建立的。在建立的同時開始一個視頻解碼線程,對傳輸過來的視頻編碼進行解碼。同時根據傳遞過來的視頻信息發送遠程視頻采集站點控制指令,以調整視頻采集站點的動作。TCP連接的工作流程如圖2所示。 2.2.2 GPRS遠程傳輸方式 系統通過GPRS網絡建立TCP連接有兩種方式:一種是監控終端通過GPRS Modem與GSM基站通信,GPRS分組數據包通過內部網關節點后,轉換為可在Internet中傳送的格式,傳送給視頻服務器。另一種是現場視頻采集站點GPRS Modem通過GPRS網絡直接與監控服務器端的GPRS Modem進行點對點通訊,然后通過串口將數據發送至視頻服務器。 相比較而言,第二種方法是在GPRS網絡內部進行數據傳輸,所以傳輸速率和可靠性比第一種方法要好,但通信和設備費要高一些。視頻服務器端同一時刻只接受一個現場視頻采集站點的連接請求,適用于移動辦公視頻監控。 推薦采用第一種方法。遠程視頻服務器端接人Internet,并擁有一個固定的實IP地址,現場視頻采集站點設定在上電后自動請求與這一IP地址建立連接。視頻服務器端作為TCP Server,可以有選擇地接受現場視頻采集站點的連接請求,并給每一個已連接的現場視頻采集站點分配一個接收視頻編碼和解碼的線程,可以同時監控多個站點。這種方法適用于大范圍、多站點的視頻監控。 3 I-7188在無線監控中的嵌入式應用 嵌入式控制模塊在現場視頻采集站點中的作用非常關鍵。現場系統的初始化、系統當前狀態的檢測、編碼數據打包發送、解釋服務器發布的控制指令、向GPRS Modem發送AT指令、與遠程服務器建立TCP連接等操作都是由嵌入式控制模塊完成。本系統設計采用I-7188作為監控終端的主控制器。 3.1 I-7188的結構與性能 I-7188系列控制器是由臺灣泓格公司生產的嵌入式控制器,適用于高可靠性、PC兼容、緊湊而價格合理的嵌入式系統,常用于數據采集與控制領域。其內部結構圖如圖3所示。 I-7188系列控制器采用美國AMD公司80188內核,主頻為40 MHz。I-7188模塊含有256 KB/512 KB靜態RAM以及256 KB(可擴充至512 KB)的Flash-ROM,這種ROM體積小、功耗低、訪問速度快、抗震和抗沖擊能力強,具有非易失性,可廣泛應用于嵌入式設備。I-7188不僅含有Flash-ROM,而且還含有2 KB的E2PROM。因為考慮到現場的要求不同,Flash-ROM是整塊刪除數據的,一次性可刪除64 KB,對于不足1 KB的小文件,I-7188增加2 KB的E2PROM。然而E2PROM和Flash-ROM的擦除次數是有限的(如E2PROM不超過1 000 000次)。而現場系統需經常讀寫數據,Flash-ROM、E2PROM就不能滿足這一要求,所以此模塊提供了31 bit的NVRAM,可反復擦除、讀寫。設計者考慮到不同數據的應用需求提供了不同功能的存儲器,大應用文件、操作系統、BIOS等存儲在Flash-ROM中,而小文件則存儲在E2PROM中,更改比較方便,對于頻繁擦除、讀寫的數據可用NVRAM。 I-7188不僅有強大的運算和存儲功能,而且還具有強大的通信功能,它可提供4個串口:COM1(RS-232或RS-485),可做普通9線或3線RS-232串行接口,如與普通PC通信或其他RS-232設備通信,還可以接MODEM實現遠程通信;也可以做2線的RS-485串行接口,通過RS-485網絡與其他RS-485設備通信。COM2(帶3 000 V隔離RS-485)。COM3(RS-232);COM4(RS-232),I-7188的程序通過COM4載人Flash-ROM或E2PROM,程序調試也通過COM4。 I-7188的每個COM口都能達到115.2 kbit/s的高速。且每個COM口都有1 KB的緩沖。對于高速傳來的數據,緩沖區可使I-7188來得及對數據進行處理而不造成數據丟失。 I-7188的操作系統采用泓格自己開發的嵌入操作系統MiniOS7。MiniOS7與DOS操作系統相兼容,與常規的DOS相比,MiniOS7更適合嵌入式應用,如:更短的上電啟動時間(小于0.1 s)、內置硬件診斷功能、直接支持內置或活動的存儲設備等。 I-7188含有實時時鐘,能設定時間,支持1980~2079年,沒有2000年問題。I-7188含有看門狗電路,接通電源,看門狗工作且每隔1.6 s偵測一次,如I-7188無應答,I-7188復位,適用于無人值守及關鍵應用場合。 I-7188可以工作在-25℃至75℃的極限溫度范圍內,功耗為2 W~3 W,工作電源為工業現場常見的+10 VDC~+30 VDC直流電源,它支持電源反接保護,非常適合工業現場惡劣的環境。 軟件則用標準C語言,即用戶只需要使用標準C語言編寫程序,然后利用泓格公司提供的工具下載至I-7188中運行即可。除了可以使用C語言標準函數庫以外,泓格公司還提供豐富的C函數庫,包括:串口操作相關函數、Flash文件系統讀寫函數、Flash讀寫擦除有關的函數、E2PROM讀寫相關函數、定時器和看門狗相關函數等。用戶可以很方便地開發出一個具有串口通訊的嵌入式控制系統。 3.2 I-7188的軟件設計 嵌入式控制器I-7188內部流程如圖4所示。在建立TCP連接的情況下,I-7188將不停地查詢是否接收到數據,是否有數據發送,然后再進行相應的操作。 在系統中,監控終端作為TCP連接的客戶端,監控服務器作為TCP連接的服務端。監控終端在上電后,由I-7188控制器控制GPRS Modem尋找監控服務器。而監控服務器在接受監控終端的連接請求,建立TCP連接后,發送控制指令給I-7188,由I-7188控制監控終端的視頻采集和視頻編碼傳送。 由I-7188內部流程圖可以看出:現場系統的初始化、系統當前狀態的檢測、編碼數據打包發送、解釋服務器發布的控制指令、向GPRS Modem發送AT指令、與遠程服務器建立TCP連接等操作都是由I-7188控制完成的。 3.3 I-7188的可擴展性 I-7188的COM2為RS-485串行接口,是一種平衡差分驅動、半雙工的串行通信接口標準。RS-485通常應用于一對多點的主從應答式通信系統,即一個主機可以對應多臺從設備。在此,I-7188作為主設備,攝像頭和云臺作為從設備,通訊波特率設為4 800 b/s。 在一個無人值守機房的無線視頻監控系統實例中,RS-485除了連接攝像頭和云臺兩個從設備之外,還接入了另外兩個電力參數采集模塊,對機房中的幾種特種電源的參數進行定時監測。一般情況下,電源參數保存在I-7188的Flash ROM中。當參數超過警戒值時,I-7188將向監控服務器發出報警信號,并把出錯參數傳輸至監控服務器,有助于工作人員盡快分析出故障原因。 4 結束語 系統利用現有的移動GPRS網絡和Internet,不需鋪設專門的線路,就可以對遠程目標進行視頻實時監控;現場視頻采集站點充分體現出了嵌入式系統的優勢:功耗低、安裝維護簡單、性價比較高、強調“量身定做”的原則。I-7188嵌入式控制器為用戶提供了豐富的資源,用戶可以在短時間內開發出符合要求的系統。內置MiniOS7操作系統非常穩定,再加上看門狗電路,可以大幅度提高系統的可靠性,更加適合無人值守場合,從而減少了系統的維護成本。 實驗證明,系統在穩定的GPRS網絡中,每秒傳送10幀QCIF格式的黑白圖像,可滿足對實時性要求不是十分嚴格的應用需求。相信系統在加入流量控制機制后,性能將會大大提高。 |