基于达芬奇技术的数字视频系统设计与实现
摘要:达芬奇技术是业界第一款集成了DSP 处理器、软件、工具以及技术支持的综合型解决方案系列,非常适用于开发各种优化的数字视频终端设备。本文介绍了一种基于达芬奇技术的数字视频系统设计方案。详细阐述了该系统的总体架构、视频部分功能、电源设计和软件实现。
引 言 在数字视频创新已经成为数字信息产业热点的今天,数字视频系统的设计方法不断提高,数字视频系统的复杂度已经远远超过以往任何时候。达芬奇技术成功实现数字视频需要四大要素的最新进步,即:处理器、开发工具、软件以及系统专业技术。由于能够在集成这四种要素的平台中实现数字视频、音频、语音与话音技术,因此达芬奇技术可以为数字视频的当前变革打下基础。
本设计是在一块60*60mm 的PCB板上来完成视频的采集、处理与显示。由摄像头采集的视频图像经由解码器转换成达芬奇处理器能够处理的格式,在Codec Engine 中实现H.264 、MPEG-4编解码,在LCD液晶屏上最高能达到1280*720 分辨率下30fps(帧/每秒)流畅显示。这样的数字视频系统能达到尺寸小,功能强,设计灵活,实用性广的优点。
1. 1.系统的总体架构及工作原理 2. 1.1 TMS320DM*6 器件总揽 达芬奇处理器TMS320DM*6 是基于业界最高性能的DSP平台—TI TMS320C6000? 由ARM926EJ-S 内核、TMS320C64x+ DSP 内核、系统控制、视频处理子系统(VPSS)、电源管理、外部存储器接口、外围控制模块等功能模块组成。 TMS320DM*6 中的ARM926EJ-S 内核具有16KB 指令和8KB 数据Cache 及16KB ROM 和16KB RAM 。TMS320C64x+ DSP 内核具有32KB L1 程序R A M / C a c h e 、8 0 K B L1 数据R A M /Cache 及64KB L2 RAM/Cache 。具有DDR2 内存控制器;64 通道增强型DMA 控制器;串行端口(3 个UART、I2C、SPI、音频串口);3 个64 位通用定时器;10/100M 以太网;USB2.0 端口;3 个PWM 端口;多达71 个通用I/O 口;支持MMC/SD/CF 卡等。系统控制模块提供了看门狗、中断控制器、电源管理控制器、复位控制器及2 个片上振荡器。视频处理子系统(VPSS) 有用于视频输入的视频前端输入(VPFF) 接口由CCD 控制器(CCDC), 预处理器、柱状模块、自动曝光/白平衡/聚焦模块(H3A)和寄存器组成;和用于视频输出的视频后端输出(VPBE)接口由屏幕菜单式调节器(OSD)、视频编码器(VENC)和四路10bit DACs 组成。
1.2 系统的硬件组成及工作原理 整个数字视频系统采用的是由达芬奇处理器(TMS320DM*6)、DDR2 SDRAM 、NAND FLASH、视频解码器TVP5146 、电源管理芯片TPS65023,LTC3412 加上外围接口芯片的方案。视频解码器把CCD摄像头传过来的模拟视频信号进行模/数转换,变成符合ITU-BT.656 标准的数字视频信号,然后将数字视频信号传到达芬奇处理器的视频处理子系统的前端进行预处理经过Codec Engine 编解码后送到视频处理子系统的后端,直接输出数字视频信号到显示终端上或是通过四路54MHz 的DACs来提供NTSC/PAL制式的模拟视频输出。DM*6 上的ARM端主要做为控制器来控制视频解码芯片和外围接口芯片,DSP端主要负责视频编解码工作。系统硬件框图如图1所示
图1 系统硬件框图
1. 2.视频部分的硬件结构及其分析 2. 2.1 视频采集与解码 本设计选用TI公司的视频解码芯片TVP5146 完成从模拟到数字视频的转换。TVP5146 允许10路模拟视频输入,具有4路10bit A/D 转换器;场同步信号VS,行同步信号HS,奇偶场信号FID,时钟输出信号DATACLK 等都由引脚直接引出,省去同步时钟电路的设计。 TVP5146 上的Y[9:2]为输出的亮度视频信号,DATACLK 为行锁定系统的输出时钟,像素时钟频率为27MHz, 用来同步数据采集,HS为行同步信号,VS为场同步信号分别与达芬奇处理器DM*6 视频端口对应的信号相连接。HS的高电平表示一行有效采样点个数,VS 的高电平表示一场有效信号,对于NTSC 制信号,单场为243 行, 奇偶场信号FID为"1" 时,表示当前为奇数场,为"0" 表示偶数场。视频解码芯片与DM*6 的接口电路如图2所示。
图2 视频前端模块接口
2.2 图像处理与显示 实时图像处理系统设计的难点是如何在有限的时间内完成大量图像数据的处理。只有图像处理系统的处理速度达到每秒25帧以上时才能达到实时的效果并且要想在显示终端上显示出高清晰的图像最重要的就是在Codec Engine 中的视频编解码运算。而达芬奇处理器能通过多种复杂的视频编解码来实现高清视频输出,如MPEG-4编解码能显示30fps分辨率为720p(1280*720);H.264 编解码能显示30fps 分辨率为D1(720*480) 等。TMS320DM*6 处理器视频处理子系统中的视频后端提供的在线视频显示处理器既能够显示两组独立的视频窗口或两组独立的OSD窗口,还可以以一个视频窗口、一个OSD窗口和一个属性窗口的形式显示。视频编码器完成图像数据编码后可以通过内部的LCD控制器直接输出数字视频信号到液晶显示器上也可以通过四路54MHz 的DACs 进行D/A转换,来提供NTSC/PAL、S-video 等格式的视频或音频输出。
3.电源设计 本设计采用的是TI 最新的基于达芬奇技术的TMS320DM*x DSP 的电源管理芯片TPS65023 在高达1.5A 的最宽负载电流范围内可实现高性能的数控功能与效率最大化。TPS65023 集成了三个降压转换器以支持系统的内核电压、外设、I/O 以及存储器电压,还集成了两个可由外部输入引脚启动的通用200mA 线性低压降 (LDO) 稳压器。每个LDO 的输入电压范围都在2.5 V 至6.5 V 之间,因此既可通过其中一个集成降压转换器供电,也能直接通过电池供电。 在本设计中TPS65023 的VDCDC1 管脚输出1.2V 电压用于DM*6 的内核供电,VDCDC2 管脚输出1.8V 电压用于DM*6 的存储器接口供电,VDCDC3 管脚输出3.3V 电压用于DM*6 的外设接口供电。由于TPS65023 只提供1A/1.8V 电压不够供应两片DDR2 SDRAM,故还需一个输出1.8V 的电源管理芯片来为DDR2 供电,此系统选用的是LTC3412A 输出电流3A。这样用两个电源管理芯片就能满足系统供电。TPS65023 与达芬奇DM*6 的接口电路如图3 所示。
图3 TPS65023 与DM*6 的接口电路
4.软件实现 达芬奇软件架构涵盖低级的OS 驱动程序乃至应用API。在达芬奇软件平台中可以细分为多任务的CODEC, 即视频(Video) 、影像(Image) 、语音(Speech) 、音频(Audio),统称VISA。另外还包含具有多媒体框架组件的CODEC 引擎远程服务器。由此构成的信号处理层(SPL) 一方面通过VISA API 接口与应用层(APL)连接,另一方面则通过DSP/BIOS 与底层内核沟通。APL 包含客户增值差异化设计软件模块,并通过Linux API 沟通底层内核的许多外围接口驱动。 eXpressDSP 配置工具的使用使得配置一个CODEC 的过程极其简单,下面就是一个完整的应用程序开发步骤: 第一步,开发并完成Codec。就是要开发音视频编解码的核心算法,按照xDM 标准封装成为Codec 库,Codec 主要完成音视频的核心算法,应用程序运行时被调用,并不参与其他功能。 第二步,将Codec 集成到Codec Engine 中。将第一步开发完成的Codec 或已有的符合xDM 的Codec 集成到Codec Engine 中,这一步需要配置两个JavaScript. 的脚本文件,其中一个脚本文件表明了,Codec 的使用和配置信息,文件名一般为*.cfg, 另一个描述了Codec 在达芬奇上的内存分配的配置,文件名一般为*tcf ,配置好这两个文件后,使用make 命令即可生成Codec Engine, 其文件名一般为*.X64P 。可被应用程序直接调用。 第三步,开发音视频应用程序,并在其中调用Codec Engine 。在Linux 下开发音视频应用程序,包括用户界面,音视频的采集、播放、同步等,其中完成对Codec Engine 的调用,应用程序也要完成一个扩展名为cfg 的脚本配置文件,以表明对Codec Engine 的使用状况。 第四步,加载DSPLINK 和CMEM 模块,运行应用程序至此一个完整的达芬奇音视频应用程序就完成了,其中许多过程是通过脚本文件配置完成的,过程非常简单易懂,下面我们需要在达芬奇上运行它,首先要加载DSPLINK 和CMEM 两个驱动程序模块,其中DSPLINK 主要实现了arm 和dsp 的底层通信,而CMEM 则主要是完成了在物理段上分配连续内存的功能,加载完这两个模块,这样便可以直接运行已完成的应用程序。
5.结论 基于TMS320DM*6 为核心处理器的数字视频系统已经实现并且功能强大,性能稳定,扩展性强,功耗低,能很好的加速数字视频创新。本文的创新点:1.基于TI 强大的达芬奇处理器(双核)能够实现H.264 等复杂的编解码。2.利用TI 专门针对达芬奇供电的电源管理芯片TPS65023 为其供电,很好的解决干扰、EMI/EMC 的问题而且还能达到功耗低的效果。
|