李超雄,杭亦文,萬 立
(1.武漢理工大學自動化學院,湖北武漢 430070;武漢大學電氣工程學院,湖北武漢 430070)
隨著嵌入式技術和網絡技術的日益成熟,視頻監(jiān)控正朝高清化、智能化和便捷化的方向發(fā)展,在整個視頻監(jiān)控系統(tǒng)中所需處理的數據量也大大增加,這對傳統(tǒng)視頻監(jiān)控系統(tǒng)中的視頻處理和傳輸模式提出了新的要求和挑戰(zhàn)。
目前電力載波(power line communication,PLC)技術已經發(fā)展成熟,多家國際芯片廠商已經推出14 Mb/s、85 Mb/s和200 Mb/s速率的PLC芯片,該技術逐步從以前單一的遠程抄表走向多媒體應用等更多的方面。采用電力載波通信技術,以電力線作為視頻監(jiān)控系統(tǒng)的接入和傳輸介質,具有成本低、不用額外布線和安裝方便等優(yōu)點[1]。
根據傳統(tǒng)視頻監(jiān)控和網絡分布的不足,以及電力載波技術特有的優(yōu)勢,筆者提出了基于OMAP5912雙核處理器和電力載波的視頻監(jiān)控系統(tǒng)。設計中利用雙核處理器的ARM端進行系統(tǒng)的調度與控制,DSP端進行視頻數據的處理,并采用電力載波模塊對采集到的視頻數據進行實時傳輸。
圖1 系統(tǒng)整體方案框圖
系統(tǒng)整體方案框圖如圖1所示。該系統(tǒng)主要包括3大部分:OSK(OMAP starter kit)控制系統(tǒng)、PLC數據傳輸模塊和上位機監(jiān)控。OSK控制系統(tǒng)主要負責嵌入式操作系統(tǒng)的運行、視頻信號的采集處理、雙核之間的數據交換以及與電力載波模塊的數據通信等,是整個系統(tǒng)的重要組成部分;電力載波模塊主要負責將OSK系統(tǒng)采集的視頻數據在電力線上傳輸,電力載波模塊能否實時傳輸采集到的視頻數據將直接影響整個系統(tǒng)的整體性能;上位機監(jiān)控系統(tǒng)主要負責將電力載波模塊傳輸來的實時數據進行顯示及存儲等工作。整個系統(tǒng)設計有如下幾個關鍵點:
(1)USB攝像頭的驅動及視頻信息的采集;
(2)系統(tǒng)雙核通信和視頻的壓縮;
(3)電力載波的實時視頻數據傳輸。
電力載波視頻監(jiān)控系統(tǒng)的控制板不僅要負責系統(tǒng)任務的調度、視頻數據的采集處理,還需要與PLC模塊進行實時通信。該系統(tǒng)采用Montavista Linux操作系統(tǒng),為了保存操作系統(tǒng)運行所需的各種數據,如U-Boot、系統(tǒng)參數、Linux內核、DSP/BIOS和文件系統(tǒng)等,系統(tǒng)需要有外擴Flash的支持,另外為了提高系統(tǒng)運行的速度,系統(tǒng)外擴的緩沖也是必需的。因此筆者采用了TI公司的OSK控制板作為系統(tǒng)的控制板,以OMAP5912雙核控制器作為主控芯片,它是一個高度集成的軟硬件的處理器,由一個實現(xiàn)控制功能的ARM92處理器和高性能低功耗的TMS320C55xDSP組成,相對于單核系統(tǒng)OMAP5912的一個顯著優(yōu)勢是能夠大大提高操作系統(tǒng)的效率[2-3]。OSK控制板不僅有串口、JTAG口、USB口以及網絡接口等常用的外擴接口,還外擴了32 M的Flash和32 M的DDR型SDRAM。另外系統(tǒng)中的各種外擴芯片采用的電壓各不相同,如主控芯片OMAP5912采用1.6 V低功耗的電壓、USB和串口電壓為5 V、Flash及以太網口電壓為3.3 V,因此一個穩(wěn)定可靠的電源是整個系統(tǒng)穩(wěn)定運行的關鍵。系統(tǒng)采用了TPS65010低壓線性穩(wěn)壓器來管理系統(tǒng)的電源,它不僅能滿足多種不同電壓的輸出,同時在靜態(tài)工作時有最小3.2 μA的靜態(tài)電流,這符合嵌入式系統(tǒng)低功耗的需求并且能在較寬的溫度范圍內穩(wěn)定工作。系統(tǒng)的電源管理電路如圖2所示。
圖2 TPS65010電源管理電路
系統(tǒng)采用電力載波為傳輸介質是由于其具有不需布線、網絡覆蓋范圍廣、連接方便、投資少和見效快等優(yōu)點。系統(tǒng)下位機中電力載波模塊主要與主控制板進行數據通信,并將接收到的視頻數據封裝成電力載波幀在電力線上進行傳輸;上位機中電力載波模塊主要是接收電力線上傳播的電力載波幀,并將其還原成壓縮的視頻數據傳輸給上位機的監(jiān)控系統(tǒng)。為保證視頻監(jiān)控系統(tǒng)的實時監(jiān)控能力,系統(tǒng)選擇了基于HomePlug1.0協(xié)議INT5500芯片的電力載波模塊,該模塊的最高傳輸速度可達到85 Mb/s,具備多點廣播的功能[4]。理論上模塊最遠傳輸距離為300 m并支持最大128路的擴展,但實際測試中因為使用環(huán)境中的各種干擾源等問題,模塊間的傳輸距離在100 m以內能保證理想的速度,當距離超過100 m時,模塊的傳輸速率會隨距離的增大而減少。該模塊直接通過網絡接口與控制板進行連接,其基本連接如圖3所示。
圖3 電力載波模塊連接圖
系統(tǒng)軟件設計主要包括開發(fā)環(huán)境的建立、USB攝像頭驅動開發(fā)、雙核之間的通信、視頻數據的壓縮以及通信模塊驅動等。該系統(tǒng)采用用途廣泛的開源Linux系統(tǒng)為操作系統(tǒng),通過USB采集視頻數據,利用網絡模塊與電力載波模塊進行通信。雙核通信采用TI的DSP/BIOS軟件開發(fā)包。其主程序流程圖如圖4所示。
圖4 系統(tǒng)主程序流程圖
3.2.1 USB攝像頭驅動
為了使該系統(tǒng)能支持不同的USB攝像頭,筆者采用了一個開源的USB攝像頭驅動包SPCA5XX。它包括了現(xiàn)在市場上多數攝像頭的驅動程序,其源碼包由4個部分組成:設備模塊的初始化模塊、卸載模塊、上層軟件接口模塊和數據傳輸模塊[5]。整個代碼從設備模塊初始化模塊module_init(usb_spca5xx_init)開始執(zhí)行,以設備模塊的卸載模塊module_exit(usb_spca5xx_exit)結束。移植SPCA5XX到OSK5912控制平臺還需對內核中的Kconfig、Makefile等文件進行修改,并將USB Multimedia devices下的SPCA5XX編譯進內核。另外,USB攝像頭驅動要正常工作,需要將Multimedia devices->Video For Linux和USB support->Support for Host-side USB->USB Host Controller Drivers- >OHCI HCD support編譯進內核。
3.2.2 視頻圖像采集
視頻設備在Linux中屬于設備文件,在完成USB攝像頭驅動后,在Linux中就可以找到與攝像頭相對應的設備文件:/dev/video0,然后就可以像訪問普通文件一樣對其進行讀寫操作[6-7]。視頻圖像采集測試代碼如下:
3.2.3 雙核數據處理
系統(tǒng)雙核通信軟件采用了TI公司專門為雙核處理器開發(fā)的DSP實時操作系統(tǒng)DSP/BIOS II,它能通過DSP/BIOS Link特有的API函數實現(xiàn)與ARM 端的GPP鏈接[8]。通過對API函數的操作即可實現(xiàn)對DSP信號的初始化處理、任務交換、數據流信息交換、管理DSP的任務以及資源狀況的查詢。配置完DSP/BIOS Link后對GPP的編譯步驟如下:
當編譯成功后在內核模塊和用戶函數庫中將創(chuàng)建以下路徑的函數:
完成以上步驟即可實現(xiàn)雙核之間的數據通信,雙核間數據處理流程圖如圖5所示。
圖5 雙核通信流程圖
為保證視頻監(jiān)控的實時性和可靠性,在通信模塊中采用了實時的傳輸協(xié)議RTP/RTCP,該協(xié)議建立在傳統(tǒng)的TCP/IP協(xié)議之上,能夠支持高效的數據傳輸[9]。考慮到網絡拓展和維護等各方面的性能,設計中將采用C/S(cilent/server客戶機/服務器)的網絡傳輸模型[10],在控制模塊與電力傳輸模塊之間以及電力傳輸模塊與上位機之間將通過網絡建立相應的TCP/IP鏈接,依據實時的數據傳輸協(xié)議進行數據通信和系統(tǒng)控制。服務器通過SendPacket()發(fā)送RTP數據,通過Poll()函數處理接收到的RTCP SR包??蛻舳伺c服務器的鏈接通過Scoket建立,檢測客戶端訪問的服務器地址和端口正確后,客戶端便向服務器發(fā)送請求數據,服務器接收到請求后將接收數據,同時解壓圖像數據并在屏幕上顯示。
系統(tǒng)實現(xiàn)了以電力載波為傳輸方式的視頻監(jiān)控的設計,并且較好地將OMAP5912雙核技術與電力載波技術結合,為視頻監(jiān)控提供了新的傳輸方式。電力網的廣泛覆蓋和電力載波視頻監(jiān)控即插即用的便捷方式,使得該系統(tǒng)具有廣泛的應用前景。目前的載波芯片的傳輸距離和擴展能力還有局限,特別是無法穿越不同變壓器的電力網絡,如何在提高電力載波芯片的傳輸速率和傳輸距離的同時提高雙核系統(tǒng)的利用率將是系統(tǒng)設計下一步需要解決的問題。
[1]王國棟.基于電力線通信平臺的下一代互聯(lián)網技術架構:PLC、IPv6和 QoS系統(tǒng)集成[J].電力系統(tǒng)通信,2005(10):9-13.
[2]彭啟琮,楊錬,潘曄.開放式多媒體應用平臺:OMAP處理器的原理及應用[M].北京:電子工業(yè)出版社,2005:54-87.
[3]李利飛,李娟,朱善安.基于OMAP5912雙核架構的嵌入式系統(tǒng)及其應用[J].電工技術,2006(6):11-13.
[4]柴守亮,侯思祖,程雪.基于INT5500的寬帶電力線通信 Modem的設計和實現(xiàn)[J].低壓電器,2007(3):41-44.
[5]王滔,季驍勇.在嵌入式Linux平臺上使用 USB攝像頭[J].微計算機應用,2006(1):52-54.
[6]佚名.基于 Video4Linux的攝像頭驅動設計[EB/OL].[2011-08-17].http://www.dzsc.com/data/html/2009-9-15/78721.html.
[7]戴小鼠,戴麗.基于Video4Linux的USB攝像頭圖像采集實現(xiàn)[EB/OL].[2011-08-17].http://www.hhcn.org/maindoc/USB_Camera_base_on_Video4Linux.pdf.
[8]Texas Instruments.TI DSP/BIOS real-time operating system v6.x user's guide[EB/OL].[2011-08-17].http://focus.ti.com.cn/cn/dsp/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&literature Number=spruex3d&docCategoryId=6&familyId=477.
[9]操龍敏,蔣建國,齊美彬.RTP協(xié)議在嵌入式網絡攝像機中的設計及實現(xiàn)[J].計算機技術與發(fā)展,2008(18):214-216.
[10]LI J,HAO W D.Research and design of embedded net work video monitoring system based on linux[J].Computer Science and Software Engineering,2008(9):1310-1313.