关键词: linux , TMS320DM355 , 处理器 , 服务器 , 视频
本设计以TI公司DaVinci系列芯片作为硬件平台,结合嵌入式Linux *** 作系统,实现了基于TMS320DM355的视频服务器。本文阐述了各硬件模块的选型与功能,以及服务器的软件架构与实现。同时给出了整个网络视频监控系统的框架,包括视频服务器、网络传输链路及客户监控端。本设计采用 MPEG4视频编码标准,由DM355内部的MPEG/JPEG协处理器完成。实验表明,在带宽充足的条件下,可实现实时监控。
1.引言
多媒体监控一直是人们关注的应用技术热点之一,它以直观、方便、信息内容丰富等特点被广泛应用于许多场合。而随着嵌入式系统和视频压缩技术的不断发展,基于嵌入式技术的视频监控系统也得到了快速的发展与应用。其通过把摄像机输出的模拟信号转化为数字信号,再经过嵌入式系统编码和传输。在客户端,通过安装监控软件,或者直接通过Web进行监控。采用嵌入式Linux *** 作系统的视频监控系统具备编码处理、网络通信、自动控制等强大功能,直接支持网络传输和网络管理,使得监控范围达到了一定的广度。
此外,嵌入式处理器的发展也日新月异,有专注于控制的ARM系列处理器,擅长快速计算的DSP处理器,还有一些针对性非常强的处理器,可以实现硬件视频编解码等。而德州仪器(TI)新近推出的针对便携式高清(HD)视频产品市场的达芬奇(DaVinci)处理器TMS320DM355处理器,结合了它们的特长。其内部具有一个ARM9EJ-S的主处理器,负责整个系统的控制,同时也集成了一个MPEG/JPEG协处理器,专注于MPEG/JPEG算法的实现。其内部的视频处理子系统(VPSS)及其它外设可方便快速的实现视频的采集、预处理、显示、网络传输等功能。同时,其低廉的价格也为用户降低了成本。而本设计即选用此处理器。
2.视频监控系统整体框架
本嵌入式网络视频监控系统由视频服务器、网络传输链路、客户监控端等3部分组成。视频服务器负责音视频等数据的采集、压缩处理等,网络传输链路将视频服务器压缩和发送的多媒体数据进行传输,而客户端监控部分接收音视频数据,进行解压、显示以及对视频服务器的控制等。整个系统的示意图如图1所示。
图1视频监控系统示意图
2.1.视频服务器
视频服务器采用德州仪器(TI)新近推出的达芬奇(DaVinci)系列处理器TMS320DM355作为主处理器,接收CCD摄像头采集的视频信号,进行预处理及MPEG4压缩,然后将压缩后的数据通过网络传输。同时,接收上位机发送的命令,解析并且执行。每个设备都具有唯一的ID,当客户端进行连接时,服务器会首先检查ID号是否匹配,以防止恶意连接。此外,当视频服务器运行异常时,其内部的守护进程会进行监视,适当的时候进行重启。
2.2.网络传输链路
网络传输链路负责多媒体数据的传输。此处,可以根据实际需求,进行网络传输链路的选择。局域网(LAN)、无线局域网(WLAN)、INTERNET、 CDMA、3G等都是可供选择的传输链路。其中,局域网(LAN)和无线局域网(WLAN)带宽充足、稳定,并且设备简单,易于实现,但会受到距离的限制。INTERNET和CDMA网络可以使监控距离得到扩展,但是其带宽受限,图像质量会受到影响。而最新的3G网络也是一个不错的选择,带宽在静止状态下可以达到2Mbps,但是其在稳定性方面还待测试。用户可以根据自己的需求进行选择,或者直接搭建专线网络,以实现各自的监控指标。
2.3.客户监控端
客户端主要与各个视频服务器进行连接,以实现监控。客户端可以采用PC机或者便携式设备,与网络传输链路相连,通过上位机软件与视频服务器连接,接收视频服务器发送的多媒体数据,进行解码,然后在上位机显示。同时,向视频服务器发送控制命令,实现云台、镜头等的控制。
3.视频服务器硬件设计
3.1.整体框架视频服务器完成视频的采集、MPEG4压缩和网络传输,以及云台、镜头等的控制。其硬件结构框图如图2所示。
图2视频服务器硬件结构框图
3.2.各模块简介
1)主处理器
TMS320DM355TMS320DM355是一款针对数字静态照相机,数码相框,IP安全摄像机,视频门铃和其它一些低功耗便携式数字视频应用设计的高集成度的处理器。可实现低成本,高图像质量的视频解决方案。它集高性能,低功耗,低成本于一身,提供与外部CCD或CMOS传感器的无缝连接。此外,还提供与电源管理,DDR/mDDRmemory,SRAM,NAND等的接口。
DM355处理器的主处理器是一个ARM926EJ-S核。ARM926EJ-S是一个32位的处理器核,提供216MHz或270MHz的时钟速率,可执行32位和16位的指令集,以及32位,16位和8位的数据。
此外,DM355内还集成了一个MPEG/JPEG协处理器,实现数字视频的压缩。
DM355内还包括一个视频处理子系统(VPSS),分为视频处理前端(VPFE)和视频处理后端(VPBE)。视频处理前端提供与CCD/CMOSimager模块和视频解码器的接口。视频处理后端实现硬件的OSD支持和复合的NTSC/PAL或LCD输出。
2)视频采集模块
视频采集模块主要由镜头和模拟前端电路组成。模拟前端的作用是将图像传感器输出的模拟信号钳位放大,并完成A/D转换,这里采用的是TVP5146。TVP5146是TI的一款高质量、单片的视频解码器,数字化并且解码所有主流的基带模拟视频格式。TVP5146将复合的或者分离的NTSC,PAL或者SECAM信号转换为YCbCr格式。输出格式可以是20位的YCbCr4:2:2或者10为的YCbCr4:2:2。它由一组内部寄存器进行控制,通过I2C进行配置,改变对比度、亮度、饱和度、色调等参数。
3)音频采集模块
音频采集模块由Mic和模数转换电路构成。此处采用TLV320AIC33。TLV320AIC33是一款低功耗立体声音频编解码器,实现模拟音频信号的数字化。包括立体声耳机扩音器,并且提供多输入多输出。支持8k到96k采样。DM355对其的配置也是通过I2C进行的。而数据接口则采用McBSP。
4)存储模块
本设计采用了512MB的nandflash用于存储UBL、U-Boot、kernel、根文件系统。需要的话可以存储一定数量的音视频数据。它与DM355之间的接口为8位数据线。通过这8位数据线进行命令及数据的传递。
5)动态存储模块
由于DM355提供DDR接口,所以选择速度更快的DDRSDRAM作为动态存储器。Linux *** 作系统及应用程序的运行都在这里。当系统上电后,bootloader进行一些简单的设置之后将自己搬运到SDRAM内运行,当需要启动内核时,将内核搬运到SDRAM内运行。此后,整个内存的控制就交给了Linux内核。
6)Ethernet控制器
Ethernet控制器选择DM9000,通过网络传输链路实现数据的发送与接收。
7)RS232及RS485RS232
主要用于开发阶段的调试,RS485用于控制云台,镜头等。RS232和RS485采用通用的232和485芯片即可满足需要。
8)电源模块电源模块负责整个系统的供电
我们采用现成的电源模块提供云台需要的24V交流电压,镜头需要的12V直流电压,以及视频服务器需要的5V直流电压。由于DM355的核电压为1.3V,I/O电压为3.3V,DDRSDRAM的电压为1.8V,所以我们选择了TPS65021电源芯片,将输入的5V电压转换为3种不同的电压输出。此外我们对DM355的上电顺序也进行了考虑。
4.视频服务器软件设计
本设计采用嵌入式Linux *** 作系统作为其软件基础。系统上电后,首先运行引导程序bootloader,初始化CPU和一些I/O设备,然后将Linux内核搬运到内存中,将控制权交给内核。内核启动后,运行用户应用程序。系统的软件层次结构如图3所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)