面向便携高清视频应用DaVinci DM355处理器
TI的DaVinci解决方案可以面向广阔的数字视频应用,这些应用中许多都是现在很热门的产品,包括个人媒体播放器、数码相机、数码相框、IP网络摄像机、视频婴儿监视器等等,所有这些应用都要求低功耗、便携式和高清视频。
TMS320DM355处理器概述
TMS320DM355处理器是TI推出的面向便携高清视频应用的新型低成本DaVinci平台,其内部结构如图2所示。DM355可以实现720P高清MPEG-4编码或解码,支持30fps实时处理,编码解码能力可达每秒5000万像素。其内核包含了频率为216 MHz或270 MHz的ARM926EJ-STM、MJCP协处理器,及包含有前端和后端的视频处理子系统,可支持CCD控制器预览、图像缩放。此外,ARM端有16 KB指令高速缓存、8 KB数据高速缓存、8 KB ROM以及32 KB程序/数据缓存。外设包括:USB2.0 HS OTG设备与迷你主机物理接口,可连接DDR/DDR2的外部存储器接口(EMIF)。封装为329引脚,0.65 mm间距的13%26#215;13 mmBGA。
集成式MJCP相当于400 M的DSP,将包含有前端和后端的视频处理子系统称为VPSS,其预览处理引擎的等效DSP相当于90 M,图像缩放等效为60 M,OSB等效为90 M,因此整体相当于240 M的处理能力,而VPSS+MJCP可以提供相当于640 M DSP处理能力,并针对OEM产品差异化提供ARM,以实现整体系统的控制,也可以实现实时操作系统。
DM355软件系统的构成
DM355的软件构成,可以看到它包括三个层次:应用层、I/O层和信号层。应用层和信号层通过VISA API连接在一起,VISA是TI视频、影像、语音和音频构成的软件库。应用层和I/O层通过EPSI API连接,即简单外设的软件接口。接口中应用层包括用户接口和处理线层,I/O接口包括VPSS视频前端(VPFE)与视频后端(VPBE),IIC,ASP,UART接口以及以太网接口(EMAC)。软件底层建立于操作系统层MontaVista Linux。
TI针对DaVinci的软件开发策略的宗旨是帮助开发人员加快产品开发推向市场的速度,包括编解码引擎(CODEC Engine)框架和VISA的API驱动软件。算法在信号层运行,只要这些算法的编写符合xDM编码标准,则可以满足TI认可的CODEC Engine的面向目标框架。CODEC Engine提供强大的一致性接口,用于动态创建和删除算法,包括相同或不相同的编码算法例程,也就是说对于一个给定的算法例程可以对其提供或收回存储器和DMA。由于系统存在一个中心资源管理器,从而可以实现:系统集成时避免资源冲突;资源共享,如获取存储器和DMA;动态分配资源不足时提供一致的错误处理。此外CODEC Engine还提供一个用于访问和控制每个算法例程的一致性接口,这意味着同一级别的算法能够方便地调换而不需对任何应用代码进行修改,例如交换音频解码1和音频解码2。这就是所谓的"继承性"。接口的一致性允许同样的应用代码可以跨越不同的平台使用,如只含有DSP和只含有ARM或ARM和DSP集成的器件,也允许算法以自己的框架相互操作,只要它们是基于CODEC Engine的。
VISA的API驱动软件在引擎编解码的顶部,信号处理层的复杂性可以概括为4个功能:
1. 创建:创建一个例程。分配所需的存储器以及初始化算法;
2. 处理:启动算法。调用算法处理功能,在缓存中搬移描述符;
3. 控制:用于算法设计的改变。算法开发人员可以为用户提供可控参数;
4. 删除:从一个算法中删除一个例程。与创建相对,是删除一个特定算法例程的存储器。
如前所述,VISA的API驱动软件提供四种处理内容:视频、影像、语音和音频。对于编码和解码有独立的API驱动软件,因此总计有8个级别的API:VIDENC、IMGENC、SPHENC、AUDENC、VIDDEC、IMGDEC、SPHDEC、AUDDEC。
DM355数字视频开发评估模块即DVEVM系统,包含了各种各样丰富的外围接口,如:可以与USB连接器相连的USB接口,通过子卡连接器连接到串口的UART,可以采用TI的TVP5146或Micron的影像视频传感器进行视频输入,DM355的视频输出可以连接到THS8200子卡,从而使视频输出到高清显示器和LCD的子卡。标准的外设有IIC及两个音频串口。可以通过增加以太网芯片,利用存储器扩展接口EMIF扩展以太网接口EMAC。板上还包含了2G的Flash,可与AIC33连接的音频输入和输出、复合视频输入、以及用于视频捕获和显示的复合视频输出。
DM355开发工具
DM355可以使用RidgeRun开发,它是TI的第三方工具,
1. 底层为免费的SDK,内容包括:现有的带实时补丁程序的Linux内核,支持uClibc和NPTL库,开源开发和调试工具。
2. 第二层是开发者SDK,其中有:工具、增加的驱动程序、增加的开源应用程序、技术支持服务。这部分需要付费使用。
3. 第三层用于特定应用或客户定制的应用,包括支持流媒体应用的媒体SDK,支持网络设备的网络SDK,支持快速紧凑的用户接口SDK。
4. 顶层代表了完整的参考应用,RigeRun会提供针对数字相片、数字媒体画框、无线设备、网络设备的参考方案。这些参考应用方案可以支持OEM厂商和产品公司得到将近90%的完整设计,只有经过配置即可使客户的产品满足有特色的要求。
RidgeRun的媒体SDK分为三层,底层是DaVinci SoC,RidgeRun媒体SDK在DanVinci中可以运行通用代码;第二层是TI CODEC Engine,由TI提供,RidgeRun的SDK调用VISA API层隔离特定的CODEC实现过程中的相互影响;最上层为RidgeRun媒体SDK的一个部分,可为CODEC Engine提供Gstreamer的插入。这个软件层可以处理所有的文件类型和I/O处理。
RidgeRun的目标是希望帮助客户快速的进入市场,所有的Linux内核、驱动程序、SDK和应用的框架都是可以通过配置平台进行配置的,这就允许客户采用RidgeRun的产品在几个小时或一两天内开发出硬件板,并实现所有需要的驱动程序、应用框架和可配置应用。
作为一款低价位DaVinci平台,DM355还可以得到MontaVista强有力的支持。开发DM355可以通过TI遍及全球的DaVinci第三方支持网络得到更好的支持,包括两家Linux伙伴,VCE的合作伙伴以及经验丰富的视频和语音的第三方合作伙伴。第三方合作伙伴还可以提供诸如用户界面、模块、浏览器等方面的支持。另外还有视频影像传感器方面合作伙伴的支持等。因此其支持体系非常全面,第三方支持也非常到位。 |
|