摘 要: 提出了一種以海思Hi3515為核心、以嵌入式Linux為操作系統(tǒng)的嵌入式視頻監(jiān)控終端的設(shè)計方案。針對移動環(huán)境下需要傳輸音視頻和車輛定位等信息的需求,使用3G網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。本系統(tǒng)使用NPV1108進行音/視頻采集,在Hi3515中進行編碼,并將數(shù)據(jù)存儲到硬盤或者傳輸?shù)竭h程服務(wù)器,同時使用HoluxM-89模塊接收GPS消息,實現(xiàn)定位功能。測試表明,該視頻監(jiān)控終端可以很好地實現(xiàn)音/視頻采集、存儲、編碼和無線傳輸以及GPS定位和報警等功能。
關(guān)鍵詞: 嵌入式; 監(jiān)控; 視頻; GPS; 3G
近年來,隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,傳統(tǒng)的視頻監(jiān)控領(lǐng)域面臨巨大變革,模擬視頻監(jiān)控系統(tǒng)正在逐步被數(shù)字視頻監(jiān)控系統(tǒng)替代,并逐漸向網(wǎng)絡(luò)視頻系統(tǒng)發(fā)展。3G網(wǎng)絡(luò)憑借其覆蓋范圍廣、傳輸速度快和通信質(zhì)量高等優(yōu)點,迅速成為用戶接入無線網(wǎng)絡(luò)、實現(xiàn)多媒體通信的最佳方式。而隨著第三代移動通信技術(shù)(簡稱3G)在中國的快速普及,使得在難以安裝有線寬帶網(wǎng)絡(luò)的環(huán)境下進行實時音視頻監(jiān)控成為現(xiàn)實[1]。另外,結(jié)合GPS定位模塊,在進行音/視頻監(jiān)控的同時,還可以對視頻監(jiān)控終端進行實時定位。
海思半導體是國內(nèi)領(lǐng)先的視頻監(jiān)控解決方案供應商,針對安防監(jiān)控市場,已經(jīng)推出了系列化芯片解決方案,如Hi3510、3511、3512、3515和3520等。目前海思已經(jīng)推出了第3代產(chǎn)品,Hi3510是其第一代產(chǎn)品,Hi3511和3512是第二代產(chǎn)品,Hi3515是第三代產(chǎn)品。本文主要基于海思Hi3515芯片,結(jié)合3G網(wǎng)絡(luò)和GPS定位技術(shù),設(shè)計一款嵌入式視頻監(jiān)控終端。
1 系統(tǒng)結(jié)構(gòu)
視頻監(jiān)控系統(tǒng)一般由視頻監(jiān)控終端、服務(wù)器(監(jiān)控中心)和客戶端三部分組成[2]。視頻監(jiān)控終端位于整個系統(tǒng)的最前端,主要實現(xiàn)視頻的采集顯示、音頻的采集播放、音/視頻編碼存儲傳輸、接收GPS信號和報警等功能。嵌入式視頻監(jiān)控終端結(jié)構(gòu)如圖1所示。
處理器選用海思半導體的多媒體處理器Hi3515。Hi3515是一款基于ARM9處理器內(nèi)核以及視頻硬件加速引擎的高性能高集成通信媒體處理器,能提供硬件H.264和MJPEG多協(xié)議編解碼和雙碼流編碼能力,并集成豐富的音視頻輸入/輸出接口和其他外設(shè)接口。Hi3515提供BT.656/601接口和Digital Camera接口接收數(shù)字視頻數(shù)據(jù),支持3種規(guī)格的視頻輸出接口,包括BT.656數(shù)字接口和CVBS、VGA兩種模擬輸出接口;集成SMI控制器對外提供異步靜態(tài)存儲器接口,可以連接Nor Flash;集成SD/SDIO控制器,可以連接SD/MMC卡;集成SATA總線接口,提供2個SATA端口,可以連接SATA硬盤;集成MAC控制器和MII接口,外接PHY收發(fā)芯片就可以與其他設(shè)備進行網(wǎng)絡(luò)通信;提供4個UART單元,UART0用于調(diào)試,UART1用于連接485總線,UART2連接GPS模塊,UART3用于擴展接口。
除此之外,其他外設(shè)電路主要包括音/視頻A/D芯片、3G模塊和GPS模塊。音/視頻A/D芯片選擇NVP1108,它支持8路CVBS視頻輸入、10路音頻輸入和1路音頻輸出;3G模塊選用華為的EM770W,支持HSPA,上行速率可達5.76 Mb/s,下行速率可達14.4 Mb/s;GPS模塊選用臺灣長天科技的M-89, 靈敏度可以達到-159 dBm。
作為嵌入式終端設(shè)備,本系統(tǒng)移植了嵌入式Linux操作系統(tǒng)以保證系統(tǒng)的實時性和穩(wěn)定性[3],Linux操作系統(tǒng)基于Linux-2.6.24內(nèi)核。
2 主要模塊
2.1音視頻模塊
音視頻A/D芯片選擇NVP1108。NVP1108是NEXTCHIP半導體公司生產(chǎn)的一款音視頻編解碼芯片,支持8通道的視頻解碼和10通道的音頻編解碼,可以接收8路的CVBS視頻輸入,支持4路CCIR656視頻輸出、1路I2S音頻接口和1路I2C接口。
模擬視頻信號經(jīng)過NVP1108采樣后,通過BT.656接口傳入到Hi3515中;Hi3515對輸入的數(shù)字視頻信號進行H.264編碼或直接輸出到顯示設(shè)備中,Hi3515支持兩種模擬視頻輸出格式:CVBS輸出和VGA輸出。模擬音頻信號經(jīng)過NVP1108采樣后,通過I2S接口輸入到Hi3515中;Hi3515對輸入的數(shù)字音頻信號進行編碼或者通過I2S音頻接口返回到NVP1108中,再通過DAC輸出模擬音頻信號。Hi3515通過I2C接口配置NVP1108的寄存器,Hi3515為主器件,NVP1108為從器件。每個接到I2C總線上的從器件都有唯一的地址,以便于發(fā)送器識別接收器件,NVP1108的從地址為0x60。音/視頻模塊結(jié)構(gòu)如圖2所示。
對于音視頻的處理,海思SDK已經(jīng)定義了MPP API,加載相應的驅(qū)動后,只需要調(diào)用相應的接口即可獲取音/視頻數(shù)據(jù)并可對其進行處理[4]。以視頻為例,初始化成功后,調(diào)用HI_MPI_VI_GetFrame即可獲取原始幀圖像,調(diào)用HI_MPI_VENC_GetStream即可獲取視頻編碼碼流。
2.2 以太網(wǎng)模塊
以太網(wǎng)接口電路主要由數(shù)據(jù)鏈路層MAC控制器和物理層PHY接口兩部分組成。由于處理器Hi3515集成了數(shù)據(jù)鏈路層的MAC控制器和MII接口,所以外部電路只需要實現(xiàn)物理層的PHY收發(fā)器即可,然后通過網(wǎng)絡(luò)變壓器,就可以接到RJ45接口上與其他設(shè)備進行通信。PHY收發(fā)器使用SMSC半導體公司的LAN8710,它是一款高性能10/100 M以太網(wǎng)物理收發(fā)器;網(wǎng)絡(luò)變壓器使用H1102。以太網(wǎng)模塊電路示意圖如圖3所示。
在本系統(tǒng)中,以太網(wǎng)模塊的作用主要有:(1)調(diào)試時使用網(wǎng)絡(luò)文件系統(tǒng)(NFS),可以省去重新制作根文件系統(tǒng)和燒寫工作;(2)使用套接字與其他設(shè)備進行通信,3G網(wǎng)絡(luò)在難以安裝有線寬帶的場合下有著很大的優(yōu)勢,但3G網(wǎng)絡(luò)價格較貴,成本較高,而且很不穩(wěn)定,所以在有有線寬帶的環(huán)境下,優(yōu)先使用以太網(wǎng)進行數(shù)據(jù)傳輸。
2.3 存儲模塊
存儲模塊主要包括Flash、SD卡和硬盤。在嵌入式視頻監(jiān)控終端的設(shè)計中,F(xiàn)lash用于存放操作系統(tǒng)、文件系統(tǒng)和驅(qū)動程序等,SDRAM用于運行操作系統(tǒng)和應用程序。由于Flash容量一般比較小,有時候應用程序和第三方庫文件會比較大,這時候就只能存放在SD卡中。嵌入式Linux系統(tǒng)啟動后,從SD卡中加載應用程序和庫文件,在SDRAM中運行,而不用從Flash中讀取應用程序和庫文件,減小了Flash容量,節(jié)省了成本。另外,系統(tǒng)要對輸入視頻保存一定的時間,這樣就需要容量更大的硬盤。
Hi3515芯片內(nèi)部集成SD/SDIO控制器,可以用來處理對SD存儲卡的讀、寫等操作,本設(shè)計使用Micro SD卡。另外,Hi3515內(nèi)部還集成SATA總線接口,提供2個SATA端口,可以用來連接SATA硬盤。存儲模塊電路示意圖如圖4所示。
2.4 3G模塊
系統(tǒng)通過3G模塊實現(xiàn)無線網(wǎng)絡(luò)通信,3G模塊選擇華為EM770W。EM770W無線模塊支持WCDMA,可以工作在HSUPA/HSDPA協(xié)議之上,且支持內(nèi)置的TCP/IP協(xié)議棧,可以使用AT標準命令和華為擴展AT指令集來操作[5]。在硬件上,EM770W提供Mini PCI Express接口,該PCI接口包括了所有的信號輸入/輸出以及電源管理,包括2路UART接口、1路輸入/輸出音頻信號、1路USIM卡信號,支持1路USB2.0接口和PCM接口等。
在本系統(tǒng)中,主要用到EM770W模塊的WCDMA功能,通過USB接口與Hi3515進行數(shù)據(jù)傳輸。3G模塊電路示意圖如圖5所示。
本系統(tǒng)中對于3G模塊的使用,最重要的是3G模塊的驅(qū)動程序的設(shè)計[6],主要分為:配置內(nèi)核和移植撥號工具兩個步驟。
(1) 配置內(nèi)核
首先需要在內(nèi)核中添加對USB轉(zhuǎn)serial modem的支持。通過修改pl2303.c和pl2303.h文件,添加對EM770W模塊的支持。由數(shù)據(jù)手冊可知,EM770W的Vendor ID為0x12d1,Product ID為0x1001。
接下來在menuconfig界面下,配置內(nèi)核驅(qū)動時,選中USB Support、USB Serial Converter Support和USB Generic Serial Driver選項。內(nèi)核配置完成后,使用make modules命令,生成pl2303.ko和usbserial.ko兩個驅(qū)動模塊,加載到目標板中即可。
(2) 移植撥號工具
在嵌入式系統(tǒng)中加載3G模塊驅(qū)動以后,接下來使用PPP套件進行撥號。首先在內(nèi)核中添加對ppp的支持,輸入make modules命令,生成模塊文件ppp_genric.ko、pppox.ko、pppoe.ko、ppp_synctty.ko、ppp_deflate.ko、crc-ccitt.ko、ppp_async.ko、shal_generic.ko、ppp_mppe.ko,使用insmod命令按一定的順序加載這些pppd驅(qū)動。
pppd驅(qū)動加載成功后,還需要把pppd撥號工具移植到目標板中,交叉編譯pppd源碼,生成chat、pppd兩個可執(zhí)行程序,并將其拷貝到/usr/sbin目錄下。然后編寫pppd配置文件wcdma和撥號腳本。wcdma文件主要配置選項如下:
/dev/ttyUSB0
460800
usepeerdns
noipdefault
ipcp-accept-local
ipcp-accept-remote
connect ‘/usr/sbin/chat-s -v-f chat-wcdma-connect’
其中,/dev/ttyUSB0為指定連接的設(shè)備,460800為連接使用的控制字符傳輸速率,usepeerdns表示使用服務(wù)器端協(xié)商的DNS,noipdefault表示不使用默認IP,ipcp-accept-local表示接受服務(wù)器分配的本機IP地址,ipcp-accept-remote表示接受服務(wù)器指定的服務(wù)器IP地址。在wcdma文件中,會調(diào)用chat-wcdma-connect撥號腳本。
最后使用命令pppd call wcdma &就可以撥號了,撥號成功后就可以在程序中使用socket進行網(wǎng)絡(luò)通信了。
2.5 GPS模塊
GPS模塊選擇臺灣長天科技的M-89。M-89是一款低功耗超小體積的GPS模塊,靈敏度可以達到-159 dBm,內(nèi)建WAAS/EGNOS/MSAS解調(diào)器,支持NMEA0183 V 3.01數(shù)據(jù)通訊協(xié)議,適用于汽車船舶導航、定位服務(wù)、自動導航或者旅游裝置[7]。
Hi3515通過UART讀取M-89中的GPS消息,M-89的默認串口的波特率為9 600 b/s,8位數(shù)據(jù)位,1位停止位。GPS模塊電路如圖6所示。
本文提出了一種基于Hi3515芯片的嵌入式監(jiān)控終端設(shè)計方案,相比于其他監(jiān)控方案,該方案具有易開發(fā)、低成本、高集成度和低功耗等優(yōu)點:海思提供的多媒體處理平臺大大降低了應用程序開發(fā)難度;Hi3515基于ARM926EJ內(nèi)核,具有低功耗和高性能等優(yōu)點;Hi3515提供豐富的音/視頻和外設(shè)接口,大大減少了外部器件,使得整個系統(tǒng)的集成度較高。除此之外,使用3G網(wǎng)絡(luò)進行音/視頻傳輸也是本方案的一大特色,3G技術(shù)的移動性使得傳統(tǒng)的安防監(jiān)控方式有了更深度的融合應用。安防監(jiān)控技術(shù)從第一代的模擬監(jiān)控發(fā)展到第二代的數(shù)字監(jiān)控,再升級到第三代的網(wǎng)絡(luò)監(jiān)控,而在3G的帶動下,網(wǎng)絡(luò)化監(jiān)控從有線向無線快速發(fā)展,因此基于3G網(wǎng)絡(luò)的音/視頻傳輸有著廣泛的市場空間[8]。
本系統(tǒng)結(jié)合視頻監(jiān)控技術(shù)、GPS定位技術(shù)和3G網(wǎng)絡(luò)技術(shù),并采用嵌入式Linux系統(tǒng),能很好地對移動環(huán)境進行音/視頻監(jiān)控和GPS定位。測試表明,該監(jiān)控終端可以很好地實現(xiàn)音/視頻采集、存儲、編碼和無線傳輸以及GPS定位和報警等功能。
參考文獻
[1] 李波,盧文科.基于3G和H.264的無線視頻監(jiān)控系統(tǒng)的設(shè)計[J].微計算機信息,2011,27(5):78-80.
[2] 曹雨,吳云,趙勇,等.基于Hi3511視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2009,30(20):4592-4595.
[3] 羅麗麗,尹俊文,毛曉光.基于Hi3510和Linux2.6內(nèi)核嵌入式系統(tǒng)的存儲研究與應用[J].計算機研究與發(fā)展, 2009,46(22):357-361.
[4] 李淵,于海勛.基于Hi3510的車載監(jiān)視系統(tǒng)的設(shè)計[J].微計算機應用,2008,29(1):67-69.
[5] 陳威兵,劉光燦,馮璐.基于3G網(wǎng)絡(luò)的車輛定位與視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機測量與控制,2011,19(3):600-602.
[6] 彭海文.基于嵌入式Linux的3G技術(shù)的應用和研究[J].電腦知識與技術(shù),2010,6(20):5655-5657.
[7] 陳威兵,張剛林,馮璐.移動視頻車輛監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2011,32(5):1572-1575.
[8] 陳瑾,葉樺.基于Hi3512的3G視頻監(jiān)控終端的設(shè)計與實現(xiàn)[J].東南大學學報,2011,41(z1):116-119.