数字信号处理

平台

DSP 设计支持

入门

SoC 处理器将开辟广阔前景

作者:Jeremiah Golston,德州仪器流媒体技术部首席执行管 (CTO)

目前要求苛刻的消费类视频应用往往要求高性能片上系统 (SoC) 进行集成,然而 SoC 处理引擎却给系统开发人员带来了新的挑战。传统 SoC 是基于封闭式结构,开发人员几乎不能进行集成。然而,包括从消费类通信产品、多媒体产品等在内的视频应用却变得日益复杂,从而要求具有更高的设计灵活性,以便满足更多的定制化服务及先进功能升级的需要。

OEM 厂商经常需要在为特定市场量身定制的一系列产品中使用同样的系统平台,或者需要在同一系统中集成不同的应用,如具有目标识别功能的安全摄像头,或带集成视频电话或数字媒体适配器功能的 IPTV 机顶盒等。

随着多应用产品日益增加,系统开发人员也越来越需要采用开放式架构设计的 SoC 处理器,以满足消费类视频市场日新月异的要求。幸运的是,一种新型 SoC 处理器出现了,其不仅集成了高性能与可编程内核,而且还具有构建各种消费类视频系统所需的基本存储器与外设。

SoC 架构建立在具有专业视频硬件加速功能的可编程数字信号处理器基础之上,可提供实时压缩/解压缩算法(编解码器)以及其他通信信号处理所需的计算性能。将 RISC 处理器与 DSP结合在一起不仅加强了控制与用户界面支持,而且还使编程变得更加轻松自如;此外,集成的视频外设降低了系统成本并简化了设计过程。

由于这种多处理器硬件可以作为开放式软件架构的基础,因此 SoC 处理引擎使开发人员能够灵活、迅速地开发出各种稳健的消费类视频产品。德州仪器 (TI) 的 DaVinci 技术就是这种 SoC视频处理平台之一。DaVinci 基础硬件专门用于支持视频系统,不仅能缩减板级空间、减少组件数,而且还消除了集成复杂系统所需的众多低级软件开发。TMS320DM644x 数字媒体处理器就是这样一个基础硬件,其集成了TMS320C64x+ DSP 与 ARM926EJ-S RISC 处理器作为内核,以及用以执行视频编码器常用的特定操作的硬件加速功能。

可自动执行程序与数据存储分配的片上高速缓存不仅支持这种完全可编程内核以简化设计并提高设计灵活性,而且还支持从外部存储器对片上 SRAM 进行存储器直接存取以优化繁重的视频数据传输。DM644x 架构集成了众多数字视频所需的外部组件,从而使硬件材料清单成本降低了50%。视频处理子系统包含一个带片上图像处理管线的前端,用于摄像头图像的捕获与处理,并支持符合 BT.656 标准的器件与 CCD/CMOS 传感器。子系统的后端是屏幕视控系统驱动器和集成数模拟转换器,可提供模拟和/或数字 RGB/YCbCr 视频输出。

此外,DM644x 架构还集成了网络外设、音视频接口以及可支持多达 64 个同步传输通道的增强型存储器直接存取控制器等。将如此丰富的音视频功能集成到硬件中既节省编程时间,同时也降低了将软件设计周期用于连接并控制外部器件的需求。

以 DM644x 处理器为基础的软件平台为实现更高性能充分利用了硬件优势,同时也排除了为实现更多功能性与易用性而进行基础硬件设计所带来的复杂性。由于有两种处理内核可用,就可以设定软件分别由其执行效率最高的内核运行:用户界面和系统控制软件由 RISC 运行,编解码等实时信号处理算法则由 DSP 运行,并由加速器提高速度。

每个内核都是可编程的,因此整个处理器将支持开发人员构建视频系统所需的任何一种编码。视频系统所需的软件,如外设驱动、内存管理、主要的编解码等,大部分已经被创建。因此开发一套视频系统所需的时间可以节省一半以上。

开发人员的软件建立在 RISC 堆栈的基础之上,这里的基础操作系统 (OS) 是 Linux。该 Linux内核(MontaVista 专为 DaVinci 平台开发的)包括针对音视频及通信外设精心优化的驱动器(敬请参见第 48 页的图的左上方)。DaVinci 平台的优势之一是它能兼容不同的操作系统。驱动器拥有一组简单且不要求特定操作系统的外设软件接口,因此连接起来轻松自如。

对于在 RISC 中用 C 语言编写应用程序代码的软件开发人员来说,DSP 可以作为另一种类似外设与存储器的资源。既然视频系统严重依赖编解码器,所以 DaVinci 平台提供了编解码器引擎,以便在视频、成像、语音及音频(简称:Visa) 4 个处理域中均能实现从应用编程接口 (API) 到算法的直接连接。

对这四种中的每种算法而言,Visa 编解码器引擎都会将信号处理层的复杂性提取到 API,以便进行编码与解码。所有 API 都是 DSP 的低层服务或插槽节点 (socket node) 的轮询程序,可用于在 DSP 框架中编写 C 程序代码。

API 框架还提供了各种各样的钩 (hook),使开发人员能为编码器设置额外功能,从而推出独具一格的产品。这些算法都遵循同一个标准 xDM(该标准建立在通用 TMS320 DSP XDAIS 算法标准的基础上)并具有一定的扩展性,能与 Visa 编解码器引擎相兼容。其目的是确保符合 xDM 标准的多媒体编解码器能即插即用,无论是厂商还是实施人员使用。

新视频系统的复杂性意味着开发人员必须依赖片上系统供应商才能成功集成他们的系统。尽可能利用品质可靠的现成软件是一种很有效的捷径。芯片厂商已对这种需求做出响应,正在开发各种标准编解码程序库及其他算法。

嵌入 Visa 编解码器引擎的控制机制允许开发人员修改很多算法的运行,以便为系统设置更多功能。

DaVinci 平台还包括测试与调试工具 Socrates。

业经验证的现有软件、对定制化服务的支持以及直接设置编码器功能等所有这些特性给视频OEM厂商提供了最大的设计灵活性,使他们能够在系统级、信号处理级或同时在这两方面使自己的产品独具特色。开发人员也能灵活地选择工具。

Rishi Bhattacharya,德州仪器系统与软件架构师