基于DSP/BIOS 的TI DSP 应用程序框架设计
摘要:本文介绍了基于DSP/BIOS 实时内核的TI DSP 应用程序参考框架RF5。另外,面对目前越来越多的多处理器系统设计以及典型的GPP-DSP 架构,本文提出了一种改进的DSP应用程序框架ERF5 以最大化地支持这种架构。ERF5 主要从GPP-DSP 有效通信、任务线程的高效执行与调度以及任务线程颗粒度的合理化三个方面对RF5 进行了改进,并已成功应用于实际项目。
本文引用地址:http://www.amcfsurvey.com/article/150662.htm1 引言
随着通信与信息技术的发展以及数字产品的普及,DSP 被越来越多地应用于各种数字系统中。作为业界领先的数字信号处理器供应商的美国(TI)公司于上世纪90 年代开发了能在其DSP 产品上运行的实时内核DSP/BIOS,并提出一系列DSP 软件参考框架(Reference Framework, RF)来帮助DSP 应用开发人员加速软件的开发进程。然而,国内针对DSP 应用程序框架设计的研究还并不多且研究工作大多围绕在如何使用现有的TI 参考框架上,鲜有对其使用局限性的讨论与改进方案。
本文首先简单介绍了由 TI 所提出的DSP 应用程序参考设计框架RF5 及其适用领域,然后在它的基础上针对目前使用越来越多的多处理器系统提出了一个对RF5 改进后的DSP 应用程序框架ERF5(Enhanced Referenced Framework Level 5),并在其中定义了一套DSP 与系统中作为核心控制单元的外部通用处理器GPP 进行通信的良好机制,从而能够实现DSP的任务调度与执行过程受控于GPP,使DSP 的运行状态能够高效地切换于多套功能独立的数字信号处理算法。
2 RF5 应用程序框架
TI 在eXpressDSP 概念中提出了一系列DSP 应用程序参考框架以满足不同应用场合的需要,其中包括RF1(Reference Framework Level 1)、RF3(Reference Framework Level 3)和RF5[1][2]。与RF1 和RF3 相比,RF5 是功能最强大的DSP 应用程序参考框架,它适用于多通道、多算法的高密集型DSP 应用系统,RF5 同时支持了静态和动态DSP/BIOS 模块对象的创建,支持1-100 个数据处理通道和XDAIS 算法,支持由DSP/BIOS 任务对象TSK实现的线程调度机制,支持线程阻塞,因此被广泛应用于音视频信号处理等复杂数字信号处理系统当中。图1 给出了基于RF5 的DSP 应用程序框架。
图1 RF5 应用程序框架
TI 为RF5 应用程序参考框架定义了4 种数据处理基本元素,分别是任务(Task)、通道(Channel)、算法单元(Cell)和XDAIS 算法。RF5 框架的最高层次是任务,任务可以由单个或多个通道构成,它通过与设备驱动程序或其它任务通信来在较高的层次控制数据的流向,每个任务体都可以归结为“获取数据-处理各通道中的信号-发送结果数据”的迭代过程。每个通道元素由一系列顺序执行的信号处理算法单元构成,算法单元是一个XDAIS 算法的封装,其作用是为XDAIS 算法与外部应用程序提供一套标准的接口,它必须实现ICELL接口模块。
RF5 除了定义以上4 种数据处理元素之外,还提出了数据通信元素的概念以保证能在任务与DSP 外设之间、任务与任务之间和算法单元之间进行高效数据通信。基于DSP/BIOS开发的DSP 应用程序中的数据通信方式可分为任务级数据通信和算法单元级数据通信。对于任务级数据通信方式,在RF5 中采用SIO(STream IO)对象和SCOM(SynchronizedCommunication)消息来实现。对于算法单元级数据通信,RF5 使用ICC(Inter-CellCommunication)对象和ICC 对象列表来实现。
评论