摘 要:提出了一种以海思Hi3515为核心、以嵌入式Linux为操作系统的嵌入式视频监控终端的设计方案。针对移动环境下需要传输音视频和车辆定位等信息的需求,使用3G网络进行数据传输。本系统使用NPV1108进行音/视频采集,在Hi3515中进行编码,并将数据存储到硬盘或者传输到远程服务器,同时使用HoluxM-89模块接收GPS消息,实现定位功能。测试表明,该视频监控终端可以很好地实现音/视频采集、存储、编码和无线传输以及GPS定位和报警等功能。
关键词:嵌入式; 监控; 视频; GPS; 3G
近年来,随着多媒体技术和网络技术的飞速发展,传统的视频监控领域面临巨大变革,模拟视频监控系统正在逐步被数字视频监控系统替代,并逐渐向网络视频系统发展。3G网络凭借其覆盖范围广、传输速度快和通信质量高等优点,迅速成为用户接入无线网络、实现多媒体通信的最佳方式。而随着第三代移动通信技术(简称3G)在中国的快速普及,使得在难以安装有线宽带网络的环境下进行实时音视频监控成为现实[1]。另外,结合GPS定位模块,在进行音/视频监控的同时,还可以对视频监控终端进行实时定位。
海思开云棋牌官网在线客服是国内领先的视频监控解决方案供应商,针对安防监控市场,已经推出了系列化芯片解决方案,如Hi3510、3511、3512、3515和3520等。目前海思已经推出了第3代产品,Hi3510是其第一代产品,Hi3511和3512是第二代产品,Hi3515是第三代产品。本文主要基于海思Hi3515芯片,结合3G网络和GPS定位技术,设计一款嵌入式视频监控终端。
1 系统结构
视频监控系统一般由视频监控终端、服务器(监控中心)和客户端三部分组成[2]。视频监控终端位于整个系统的最前端,主要实现视频的采集显示、音频的采集播放、音/视频编码存储传输、接收GPS信号和报警等功能。嵌入式视频监控终端结构如图1所示。
处理器选用海思开云棋牌官网在线客服的多媒体处理器Hi3515。Hi3515是一款基于ARM9处理器内核以及视频硬件加速引擎的高性能高集成通信媒体处理器,能提供硬件H.264和MJPEG多协议编解码和双码流编码能力,并集成丰富的音视频输入/输出接口和其他外设接口。Hi3515提供BT.656/601接口和Digital Camera接口接收数字视频数据,支持3种规格的视频输出接口,包括BT.656数字接口和CVBS、VGA两种模拟输出接口;集成SMI控制器对外提供异步静态存储器接口,可以连接Nor Flash;集成SD/SDIO控制器,可以连接SD/MMC卡;集成SATA总线接口,提供2个SATA端口,可以连接SATA硬盘;集成MAC控制器和MII接口,外接PHY收发芯片就可以与其他设备进行网络通信;提供4个UART单元,UART0用于调试,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。
作为嵌入式终端设备,本系统移植了嵌入式Linux操作系统以保证系统的实时性和稳定性[3],Linux操作系统基于Linux-2.6.24内核。
2 主要模块
2.1音视频模块
音视频A/D芯片选择NVP1108。NVP1108是NEXTCHIP开云棋牌官网在线客服公司生产的一款音视频编解码芯片,支持8通道的视频解码和10通道的音频编解码,可以接收8路的CVBS视频输入,支持4路CCIR656视频输出、1路I2S音频接口和1路I2C接口。
模拟视频信号经过NVP1108采样后,通过BT.656接口传入到Hi3515中;Hi3515对输入的数字视频信号进行H.264编码或直接输出到显示设备中,Hi3515支持两种模拟视频输出格式:CVBS输出和VGA输出。模拟音频信号经过NVP1108采样后,通过I2S接口输入到Hi3515中;Hi3515对输入的数字音频信号进行编码或者通过I2S音频接口返回到NVP1108中,再通过DAC输出模拟音频信号。Hi3515通过I2C接口配置NVP1108的寄存器,Hi3515为主器件,NVP1108为从器件。每个接到I2C总线上的从器件都有唯一的地址,以便于发送器识别接收器件,NVP1108的从地址为0x60。音/视频模块结构如图2所示。
对于音视频的处理,海思SDK已经定义了MPP API,加载相应的驱动后,只需要调用相应的接口即可获取音/视频数据并可对其进行处理[4]。以视频为例,初始化成功后,调用HI_MPI_VI_GetFrame即可获取原始帧图像,调用HI_MPI_VENC_GetStream即可获取视频编码码流。
2.2 以太网模块
以太网接口电路主要由数据链路层MAC控制器和物理层PHY接口两部分组成。由于处理器Hi3515集成了数据链路层的MAC控制器和MII接口,所以外部电路只需要实现物理层的PHY收发器即可,然后通过网络变压器,就可以接到RJ45接口上与其他设备进行通信。PHY收发器使用SMSC开云棋牌官网在线客服公司的LAN8710,它是一款高性能10/100 M以太网物理收发器;网络变压器使用H1102。以太网模块电路示意图如图3所示。
在本系统中,以太网模块的作用主要有:(1)调试时使用网络文件系统(NFS),可以省去重新制作根文件系统和烧写工作;(2)使用套接字与其他设备进行通信,3G网络在难以安装有线宽带的场合下有着很大的优势,但3G网络价格较贵,成本较高,而且很不稳定,所以在有有线宽带的环境下,优先使用以太网进行数据传输。
2.3 存储模块
存储模块主要包括Flash、SD卡和硬盘。在嵌入式视频监控终端的设计中,Flash用于存放操作系统、文件系统和驱动程序等,SDRAM用于运行操作系统和应用程序。由于Flash容量一般比较小,有时候应用程序和第三方库文件会比较大,这时候就只能存放在SD卡中。嵌入式Linux系统启动后,从SD卡中加载应用程序和库文件,在SDRAM中运行,而不用从Flash中读取应用程序和库文件,减小了Flash容量,节省了成本。另外,系统要对输入视频保存一定的时间,这样就需要容量更大的硬盘。
Hi3515芯片内部集成SD/SDIO控制器,可以用来处理对SD存储卡的读、写等操作,本设计使用Micro SD卡。另外,Hi3515内部还集成SATA总线接口,提供2个SATA端口,可以用来连接SATA硬盘。存储模块电路示意图如图4所示。
2.4 3G模块
系统通过3G模块实现无线网络通信,3G模块选择华为EM770W。EM770W无线模块支持WCDMA,可以工作在HSUPA/HSDPA协议之上,且支持内置的TCP/IP协议栈,可以使用AT标准命令和华为扩展AT指令集来操作[5]。在硬件上,EM770W提供Mini PCI Express接口,该PCI接口包括了所有的信号输入/输出以及电源管理,包括2路UART接口、1路输入/输出音频信号、1路USIM卡信号,支持1路USB2.0接口和PCM接口等。
在本系统中,主要用到EM770W模块的WCDMA功能,通过USB接口与Hi3515进行数据传输。3G模块电路示意图如图5所示。
本系统中对于3G模块的使用,最重要的是3G模块的驱动程序的设计[6],主要分为:配置内核和移植拨号工具两个步骤。
(1) 配置内核
首先需要在内核中添加对USB转serial modem的支持。通过修改pl2303.c和pl2303.h文件,添加对EM770W模块的支持。由数据手册可知,EM770W的Vendor ID为0x12d1,Product ID为0x1001。
接下来在menuconfig界面下,配置内核驱动时,选中USB Support、USB Serial Converter Support和USB Generic Serial Driver选项。内核配置完成后,使用make modules命令,生成pl2303.ko和usbserial.ko两个驱动模块,加载到目标板中即可。
(2) 移植拨号工具
在嵌入式系统中加载3G模块驱动以后,接下来使用PPP套件进行拨号。首先在内核中添加对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驱动。
pppd驱动加载成功后,还需要把pppd拨号工具移植到目标板中,交叉编译pppd源码,生成chat、pppd两个可执行程序,并将其拷贝到/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表示使用服务器端协商的DNS,noipdefault表示不使用默认IP,ipcp-accept-local表示接受服务器分配的本机IP地址,ipcp-accept-remote表示接受服务器指定的服务器IP地址。在wcdma文件中,会调用chat-wcdma-connect拨号脚本。
最后使用命令pppd call wcdma &就可以拨号了,拨号成功后就可以在程序中使用socket进行网络通信了。
2.5 GPS模块
GPS模块选择台湾长天科技的M-89。M-89是一款低功耗超小体积的GPS模块,灵敏度可以达到-159 dBm,内建WAAS/EGNOS/MSAS解调器,支持NMEA0183 V 3.01数据通讯协议,适用于汽车船舶导航、定位服务、自动导航或者旅游装置[7]。
Hi3515通过UART读取M-89中的GPS消息,M-89的默认串口的波特率为9 600 b/s,8位数据位,1位停止位。GPS模块电路如图6所示。
本文提出了一种基于Hi3515芯片的嵌入式监控终端设计方案,相比于其他监控方案,该方案具有易开发、低成本、高集成度和低功耗等优点:海思提供的多媒体处理平台大大降低了应用程序开发难度;Hi3515基于ARM926EJ内核,具有低功耗和高性能等优点;Hi3515提供丰富的音/视频和外设接口,大大减少了外部器件,使得整个系统的集成度较高。除此之外,使用3G网络进行音/视频传输也是本方案的一大特色,3G技术的移动性使得传统的安防监控方式有了更深度的融合应用。安防监控技术从第一代的模拟监控发展到第二代的数字监控,再升级到第三代的网络监控,而在3G的带动下,网络化监控从有线向无线快速发展,因此基于3G网络的音/视频传输有着广泛的市场空间[8]。
本系统结合视频监控技术、GPS定位技术和3G网络技术,并采用嵌入式Linux系统,能很好地对移动环境进行音/视频监控和GPS定位。测试表明,该监控终端可以很好地实现音/视频采集、存储、编码和无线传输以及GPS定位和报警等功能。
参考文献
[1] 李波,卢文科.基于3G和H.264的无线视频监控系统的设计[J].微计算机信息,2011,27(5):78-80.
[2] 曹雨,吴云,赵勇,等.基于Hi3511视频监控系统的设计与实现[J].计算机工程与设计,2009,30(20):4592-4595.
[3] 罗丽丽,尹俊文,毛晓光.基于Hi3510和Linux2.6内核嵌入式系统的存储研究与应用[J].计算机研究与发展, 2009,46(22):357-361.
[4] 李渊,于海勋.基于Hi3510的车载监视系统的设计[J].微计算机应用,2008,29(1):67-69.
[5] 陈威兵,刘光灿,冯璐.基于3G网络的车辆定位与视频监控系统设计[J].计算机测量与控制,2011,19(3):600-602.
[6] 彭海文.基于嵌入式Linux的3G技术的应用和研究[J].电脑知识与技术,2010,6(20):5655-5657.
[7] 陈威兵,张刚林,冯璐.移动视频车辆监控系统的设计与实现[J].计算机工程与设计,2011,32(5):1572-1575.
[8] 陈瑾,叶桦.基于Hi3512的3G视频监控终端的设计与实现[J].东南大学学报,2011,41(z1):116-119.