首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于TMS320DM355监控服务器设计与实现

基于TMS320DM355监控服务器设计与实现

关键字:TMS320DM355   监控服务器  DaVinci  
  本设计以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视频服务器硬件结构框图


  4.1.系统上电及引导程序

  系统上电时,是由DM355的输入引脚BTSEL[1:0]来决定从ROM或者AEMIF启动。此设计处选择从ROM启动。此时,系统直接跳转到内部 ROM的起始地址(0X00008000)执行指令。内嵌的ROM启动代码(RBL)进行一些配置操作,然后读取BOOTCFG寄存器来决定是从 NAND、MMC/SD或者UART启动。本设计选择NAND启动。NANDflash里预先烧写好了U-boot、Linux内核以及根文件系统。 NAND启动以后,会读取bootloader的stage1部分的指令对系统进行必要的设置,然后将stage2部分的代码搬移到SDRAM中进行执行。当用户选择启动内核时,bootloader将内核从NANDflash里搬运到SDRAM,然后跳转到内核的起始地址进行执行,启动内核。
返回列表