摘 要: 提出了一種以海思Hi3515為核心,、以嵌入式Linux為操作系統(tǒng)的嵌入式視頻監(jiān)控終端的設計方案,。針對移動環(huán)境下需要傳輸音視頻和車輛定位等信息的需求,使用3G網(wǎng)絡進行數(shù)據(jù)傳輸,。本系統(tǒng)使用NPV1108進行音/視頻采集,,在Hi3515中進行編碼,并將數(shù)據(jù)存儲到硬盤或者傳輸?shù)竭h程服務器,,同時使用HoluxM-89模塊接收GPS消息,,實現(xiàn)定位功能。測試表明,,該視頻監(jiān)控終端可以很好地實現(xiàn)音/視頻采集,、存儲、編碼和無線傳輸以及GPS定位和報警等功能,。
關鍵詞: 嵌入式,; 監(jiān)控; 視頻,; GPS; 3G
近年來,,隨著多媒體技術和網(wǎng)絡技術的飛速發(fā)展,,傳統(tǒng)的視頻監(jiān)控領域面臨巨大變革,模擬視頻監(jiān)控系統(tǒng)正在逐步被數(shù)字視頻監(jiān)控系統(tǒng)替代,,并逐漸向網(wǎng)絡視頻系統(tǒng)發(fā)展,。3G網(wǎng)絡憑借其覆蓋范圍廣、傳輸速度快和通信質(zhì)量高等優(yōu)點,,迅速成為用戶接入無線網(wǎng)絡,、實現(xiàn)多媒體通信的最佳方式。而隨著第三代移動通信技術(簡稱3G)在中國的快速普及,,使得在難以安裝有線寬帶網(wǎng)絡的環(huán)境下進行實時音視頻監(jiān)控成為現(xiàn)實[1],。另外,結(jié)合GPS定位模塊,,在進行音/視頻監(jiān)控的同時,,還可以對視頻監(jiān)控終端進行實時定位。
海思半導體是國內(nèi)領先的視頻監(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)絡和GPS定位技術,設計一款嵌入式視頻監(jiān)控終端,。
1 系統(tǒng)結(jié)構(gòu)
視頻監(jiān)控系統(tǒng)一般由視頻監(jiān)控終端,、服務器(監(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é)議編解碼和雙碼流編碼能力,并集成豐富的音視頻輸入/輸出接口和其他外設接口。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ā)芯片就可以與其他設備進行網(wǎng)絡通信;提供4個UART單元,UART0用于調(diào)試,UART1用于連接485總線,,UART2連接GPS模塊,,UART3用于擴展接口。
除此之外,其他外設電路主要包括音/視頻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。
作為嵌入式終端設備,本系統(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編碼或直接輸出到顯示設備中,,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)絡變壓器,,就可以接到RJ45接口上與其他設備進行通信,。PHY收發(fā)器使用SMSC半導體公司的LAN8710,它是一款高性能10/100 M以太網(wǎng)物理收發(fā)器;網(wǎng)絡變壓器使用H1102,。以太網(wǎng)模塊電路示意圖如圖3所示,。
在本系統(tǒng)中,以太網(wǎng)模塊的作用主要有:(1)調(diào)試時使用網(wǎng)絡文件系統(tǒng)(NFS),,可以省去重新制作根文件系統(tǒng)和燒寫工作,;(2)使用套接字與其他設備進行通信,3G網(wǎng)絡在難以安裝有線寬帶的場合下有著很大的優(yōu)勢,,但3G網(wǎng)絡價格較貴,,成本較高,而且很不穩(wěn)定,,所以在有有線寬帶的環(huán)境下,,優(yōu)先使用以太網(wǎng)進行數(shù)據(jù)傳輸。
2.3 存儲模塊
存儲模塊主要包括Flash,、SD卡和硬盤,。在嵌入式視頻監(jiān)控終端的設計中,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存儲卡的讀、寫等操作,本設計使用Micro SD卡,。另外,,Hi3515內(nèi)部還集成SATA總線接口,提供2個SATA端口,可以用來連接SATA硬盤,。存儲模塊電路示意圖如圖4所示,。
2.4 3G模塊
系統(tǒng)通過3G模塊實現(xiàn)無線網(wǎng)絡通信,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ū)動程序的設計[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為指定連接的設備,460800為連接使用的控制字符傳輸速率,,usepeerdns表示使用服務器端協(xié)商的DNS,,noipdefault表示不使用默認IP,ipcp-accept-local表示接受服務器分配的本機IP地址,,ipcp-accept-remote表示接受服務器指定的服務器IP地址,。在wcdma文件中,會調(diào)用chat-wcdma-connect撥號腳本,。
最后使用命令pppd call wcdma &就可以撥號了,,撥號成功后就可以在程序中使用socket進行網(wǎng)絡通信了。
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é)議,適用于汽車船舶導航,、定位服務,、自動導航或者旅游裝置[7]。
Hi3515通過UART讀取M-89中的GPS消息,,M-89的默認串口的波特率為9 600 b/s,,8位數(shù)據(jù)位,1位停止位,。GPS模塊電路如圖6所示,。
本文提出了一種基于Hi3515芯片的嵌入式監(jiān)控終端設計方案,相比于其他監(jiān)控方案,,該方案具有易開發(fā),、低成本、高集成度和低功耗等優(yōu)點:海思提供的多媒體處理平臺大大降低了應用程序開發(fā)難度;Hi3515基于ARM926EJ內(nèi)核,,具有低功耗和高性能等優(yōu)點,;Hi3515提供豐富的音/視頻和外設接口,大大減少了外部器件,,使得整個系統(tǒng)的集成度較高,。除此之外,使用3G網(wǎng)絡進行音/視頻傳輸也是本方案的一大特色,,3G技術的移動性使得傳統(tǒng)的安防監(jiān)控方式有了更深度的融合應用,。安防監(jiān)控技術從第一代的模擬監(jiān)控發(fā)展到第二代的數(shù)字監(jiān)控,再升級到第三代的網(wǎng)絡監(jiān)控,,而在3G的帶動下,,網(wǎng)絡化監(jiān)控從有線向無線快速發(fā)展,因此基于3G網(wǎng)絡的音/視頻傳輸有著廣泛的市場空間[8],。
本系統(tǒng)結(jié)合視頻監(jiān)控技術,、GPS定位技術和3G網(wǎng)絡技術,并采用嵌入式Linux系統(tǒng),,能很好地對移動環(huán)境進行音/視頻監(jiān)控和GPS定位,。測試表明,該監(jiān)控終端可以很好地實現(xiàn)音/視頻采集,、存儲,、編碼和無線傳輸以及GPS定位和報警等功能。
參考文獻
[1] 李波,盧文科.基于3G和H.264的無線視頻監(jiān)控系統(tǒng)的設計[J].微計算機信息,2011,27(5):78-80.
[2] 曹雨,吳云,,趙勇,,等.基于Hi3511視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,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)的設計[J].微計算機應用,2008,29(1):67-69.
[5] 陳威兵,劉光燦,馮璐.基于3G網(wǎng)絡的車輛定位與視頻監(jiān)控系統(tǒng)設計[J].計算機測量與控制,2011,19(3):600-602.
[6] 彭海文.基于嵌入式Linux的3G技術的應用和研究[J].電腦知識與技術,2010,6(20):5655-5657.
[7] 陳威兵,張剛林,,馮璐.移動視頻車輛監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].計算機工程與設計,2011,32(5):1572-1575.
[8] 陳瑾,葉樺.基于Hi3512的3G視頻監(jiān)控終端的設計與實現(xiàn)[J].東南大學學報,2011,41(z1):116-119.