基于DaVinci™平台的网络视频解码系统分析与设计

  作者:林文富 何常 时间:2014-10-28来源:电子产品世界

编者按:  摘要:随着视频压缩技术的不断发展,单路1080p@60Hz分辨率的视频可以压缩到几兆进行传输,一个百兆网口可以传输多达10多路的IP视频信号。目前的服务器单纯依靠CPU进行软解码已经显得非常吃力[1];匹配高性能的服务器或者配置多台服务器却有存在高成本的压力。针对这些现状,本文设计了一个基于TI的DaVinci™平台的网络视频解码系统。验证结果显示,采样该网络视频解码系统,可以使得单台服务器增加上百路的IP视频解码,同时不影响服务器的其它性能,性能可靠且成本有很大优势。   1 TI 8

  整个视频平台工作上电后,816X首先从Flash中加载相关程序,并将Linux文件系统解压出来在DDR中运行。IP视频信号经过解码后形成6路并行YCbCr信号(每3路共用一个输出通道),加上像素时钟(DCLK)、数据有效位(DE)、行同步信号(HS)、场同步信号(VS)输给后端FPGA进行处理。逻辑芯片接收到并行视频信号后,先根据预定好的分时传输协议中解出6路单独的视频信号,分别放置在DDR的不同区域中;完成6路视频的缓存和仲裁后,根据系统的需求对视频数据进行DMA操纵,通过PCI-E设备把视频数据送入系统进行显示。

3 硬件设计

  DM816X模块的硬件电路主要由主芯片816X、4片DDR3、Fash、网络PHY片和电源模块组成组成。网络PHY芯片采用Mirel的KSZ9031,该芯片体积小、功能全、支持速率自适应、双绞/直连线调节功能。该芯片和DM816X的EMAC(Ethernet Media Access Controller)口直接连接,把网络数据接入到DM816X。主芯片外部挂有4片DDR3,主要用做816X的内存映射空间和视频处理的缓冲区域,可以在软件小系统中进行自由配置。同时,主芯片外部还带一个Nand Flash,用于存储引用程序和系统文件。在芯片外围,根据应用需要放置硬件配置电路,把系统配置成网络启动。因为芯片对电源的精度和上电时序均有严格要求,因此专门针对该芯片设计了上电时序电路和AVS可调电源。芯片的上电时序要求为3.3V>1V AVS>1V Constant>1.8V>1.5V>0.9V,为此,采用了专用时序控制芯片LM3881MM对上电时序进行了控制。主芯片因为采用了先进的制造工艺,其核心电压1V AVS对应每个芯片均有一个精准值,在芯片运行过程中,也会因为工作状态而调整核心电压,所以针对该电压也设计了专门的可调电源供电电路[4],具体电路模块见图2。图2中,电源芯片采用TPS40400,其输出端通过反馈电路送回反馈管脚,芯片带有IIC的Slave模块,连接到816x主芯片。在上电开始后,主芯片会读取相关寄存器,反馈给电源芯片具体的电源调整精准值;在系统运行过程中,如果同时开启了3个解码核,会使得芯片功耗需求增加,主芯片也可以通过IIC通讯通知电源芯片调整电源输出。

  FPGA硬件电路模块实现相对简单,主要包括了PCI-E接口的FPGA芯片、DDR2、存储Flash、JTAG接口和电源模块。逻辑芯片采用ALTER的A7系统芯片,采用SPI加载逻辑的方式进行加载,外挂4片DDR2使用两个控制器对视频数据进行缓存。JTAG接口主要用于逻辑程序调试。操作系统端连接采用PCI-E接口,由逻辑芯片内存自带的PCI-E硬核实现。

4 DM816X软件设计

  为了便于软件功能的移植、替换、添加和删除,整个软件采用层次式和模块化的软件结构。纵向分布由5个层次组成,从下向上,分别是硬件层、OS层、平台层、业务层、接口层。横向分布由3个子系统构成,从左至右,依次是A8核子系统、HDVPSS M3核子系统、Video M3核子系统,具体结构见图3。

  硬件层是软件系统运行的硬件平台,其核心是TMS320数字多媒体处理器,由A8、HDVPSS M3、Video M3、DSP 4个核构成,其中HDVPSS M3、Video M3核是M3核。本软件没有使用到DSP核,所以硬件层由A8、HDVPSS M3、Video M3 3个核构成。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

1 2 3

关键词: DaVinci IP视频 CPU Linux FPGA 201411

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版