基于DSP/BIOS 的TI DSP 应用程序框架设计

发布者:huanli最新更新时间:2011-07-05 来源: 维库关键字:应用程序  DSP  BIOS  TI 手机看文章 扫描二维码
随时随地手机看文章
    摘要:本文介绍了基于title="DSP">DSP/BIOS 实时内核的TI DSP 应用程序参考框架RF5。另外,面对目前越来越多的多处理器系统设计以及典型的GPP-DSP 架构,本文提出了一种改进的DSP应用程序框架ERF5 以最大化地支持这种架构。ERF5 主要从GPP-DSP 有效通信、任务线程的高效执行与调度以及任务线程颗粒度的合理化三个方面对RF5 进行了改进,并已成功应用于实际项目。

  1 引言

  随着通信与信息技术的发展以及数字产品的普及,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 对象列表来实现。

  3 改进的DSP 应用程序框架ERF5

  随着嵌入式系统复杂度的不断提高,又限于DSP 不适合进行复杂系统的流程控制,所以近年来在系统设计中往往更多地让DSP 扮演着协处理器的角色,将其从繁重复杂的系统控制任务中解放出来,而整个系统的流程控制则交由一个通用处理器GPP 来完成,这使得DSP 和GPP 能够优势互补。然而RF5 在多机通信方面存在很大缺陷,它不适用于多处理器系统,尤其是DSP 作为多处理器系统中从设备的应用环境。另外,RF5 所实现的是单一功能的多任务系统,其多任务特性仅仅表现在将一个功能单一的任务拆分成输入-处理-输出三个分任务而已,并没有实现真正的多功能多任务系统,即一个任务就是一个独立的信号处理功能。

  基于上述两个方面的分析,我们完全有必要改进 RF5 以满足基于多处理器的复杂信号处理系统的要求。本文所提出的ERF5 的系统框图如图2 所示,任务1、任务2、任务3 是系统中定义的三个任务,它们以同等的优先级被DSP/BIOS 任务调度器轮流调度。每个任务皆包含了输入预处理、核心信号处理以及输出后处理三个模块,构成功能完整且独立的信号处理任务,每个任务由单个或多个数据处理通道(Channel)组成,而每个通道又由一系列算法单元(Cell)构成。多处理器系统中的GPP 通过DSP 运行控制寄存器DSP_CNTL 来控制DSP 的任务执行过程,而DSP 作为响应会将其运行状态反应在DSP 运行状态寄存器DSP_STAT 中。总的来说,ERF5 从以下三个方面对RF5 进行了改进:

  定义并实现了 DSP 与GPP 之间进行通信的有效方式;给出了当 DSP 需要实现多套信号处理功能并且某一套信号处理任务的执行完全受控于GPP 时的任务实现框架;对 RF5 中不合理的任务拆分进行了合并,减轻了由于DSP/BIOS 任务调度对系统性能的影响。

 

  图 2 ERF5 应用程序框架

  3.1 主从通信方式

  我们在DSP 的存储空间中定义了两个寄存器:DSP 运行控制寄存器(DSP_CNTL)和DSP 运行状态寄存器(DSP_STAT)。在DSP_CNTL 中可以定义一系列控制字段用来表示外部主机对DSP 的各种控制操作,而在DSP_STAT 中可以定义一些与DSP_CNTL 相对应的描述DSP 当前运行状态的字段信息。GPP 通过合理地设置DSP_CNTL 以命令DSP 执行相应的操作,而DSP 在响应了CPU 的命令后会设置好DSP_STAT 以告知CPU 目前DSP 的运行情况。

  另外,为了便于 DSP 与主机进行数据交换,ERF5 在DSP 的存储空间中开辟了两块专用于在DSP 与GPP 之间进行数据交换的缓冲区,并在DSP 运行状态寄存器DSP_STAT 中定义一个缓冲区标志位PPFLG 以告知主机当前它所能访问的乒乓缓冲区是“乒”或是“乓”,使得主机和DSP 之间的数据交互能够彼此相对独立地进行。

  3.2 任务实现模型

  在明确了主机与DSP 的通信方式以后,下面需要解决的就是如何在应用程序框架中给出合理的任务实现模型使它既能支持主机对DSP 的有效控制又能尽可能地减小DSP/BIOS的任务调度开销。这里以我们的实际项目为例来阐述任务的实现模型。在我们的H.264 混合编解码系统中,DM642 需要运行三个相互独立的任务:视频编码任务、视频解码任务和视频直通任务,在任意时刻,这三个任务线程的核心处理过程运行与否完全受GPP 控制。首先,出于对系统性能的考虑,我们都以静态配置的方式在DSP/BIOS 中定义这3 个任务,这样在系统运行时不需要花费由于任务动态创建所带来的不可避免的性能开销。显然这3 个任务应该具有同等优先级,否则,由于DSP/BIOS 实时内核的抢占性特征将使得某些高优先级的任务始终抢占那些低优先级任务的执行权即使GPP 在某些时刻并没有启动那些高优先级的任务。此外,由于DSP/BIOS 周期性地调度系统中所有处于就绪状态下的任务,所以必须使每个任务中判断其主体处理过程是否执行的逻辑和任务切换逻辑尽可能短小,因为这段代码在系统执行时将被频繁地调用。另外需要注意的是应该使用TSK_sleep(…)函数来实现任务切换逻辑以使当前没有被GPP 命令执行的任务被阻塞一段时间(该时间间隔应该至少是系统中各个周期性任务的最大执行周期),否则DSP/BIOS 任务调度器会频繁调度该任务以至于影响到其它任务的正常执行。下面以视频直通任务为例给出其任务执行流程图如图3所示。

  图3 视频直通任务的执行流程图

  3.3 任务拆分与合并

  DSP/BIOS 实时内核能保证运行在它之上的所有任务在适当的时刻被正确地调度。在通常情况下,系统中运行的任务越多,花费在DSP/BIOS 任务调度上的时间也就越多,单任务系统花费最少的任务调度时间,因此在一个应用框架中应该合理地规定任务的规模,过细或过粗地划分任务都将为系统性能带来负面影响。在ERF5 中,每个功能独立的信号处理模块分别定义成一个任务线程,其中包含了与当前信号处理功能相对应的数据输入预处理和数据输出后处理部分,在一个独立的任务线程中将可以使用EDMA 等外设模块实现的处理算法与必须由CPU 参与运算的算法独立开来,并在它们之间引入双缓冲以模拟流水线机理,这样就把原先的任务线程之间的通信变换为在单个任务线程内的算法单元之间的通信,使得任务线程之间的通信和数据交换由于线程的独立性而被最小化,从而有效避免了由于线程通信造成系统死锁情况的发生。

  4 性能分析

  本节以 CPU 负载为指标在本文所提出的应用程序框架和RF5 之间进行性能比较与分析。为了使实验结果更具有说服力,我们使用TMS320DM642 *估板中的MPEG2 编解码例程作为RF5 框架的一个实现范例,另外,我们又采用本文所提出的ERF5 实现了MPEG2 编解码系统,两者使用同样的符合XDAIS 算法标准的MPEG2 编解码算法库。这里我们将CPU负载定义为:

  对于一个视频信号处理系统来说,一般要求系统能在 1 秒内处理25-30 帧图像数据,因此不妨将其作为上述视频编解码系统的实时性指标,即系统对一帧图像进行编码或解码的最大周期为33-40 毫秒。根据以上计算公式作出RF5 和改进的应用程序框架的CPU 负载图如图4 所示。从图中可以看出ERF5 的CPU 占用率与RF5 基本相近,甚至要稍好于RF5,若将它应用在视频信号处理领域,其CPU 占用率只有7.92%-9.50%,完全满足实际应用的需要。

  图 4 MPEG2 编解码系统中ERF5 与RF5 的CPU 负载比较图

  5 总结

  本文简单介绍了 TI DSP 参考框架RF5,并提出ERF5 应用程序框架,它解决了RF5 不能被有效地应用于以DSP 作为协处理器的多处理器复杂数字信号处理系统当中的问题,且CPU 占用率与RF5 相当。从我们的实际项目经验证明,RF5 适用于以TI DSP 作为主控和主处理单元的单处理器信号处理系统,并能得到良好的性能;ERF5 能对多处理器系统给予最大化的支持,并已成功应用于一个复杂的H.264 混合编解码系统当中。

关键字:应用程序  DSP  BIOS  TI 引用地址:基于DSP/BIOS 的TI DSP 应用程序框架设计

上一篇:赛灵思荣膺“2011中国经济-最佳推动力企业”奖
下一篇:TI DSP应用系统低功耗设计方案

推荐阅读最新更新时间:2024-05-02 21:28

德仪股东希望公司减少投资 或退出无线业务
为手机和汽车等产品生产芯片的德州仪器已经开始逐步停止对连接手机和网络的基带芯片进行研发,预计这一进程将于今年底完成。 腾讯科技讯(清雨)北京时间8月13日消息,据国外媒体报道,德州仪器股东希望公司减少对亏损的无线业务进行投资,甚至是退出无线市场。 为手机和汽车等产品生产芯片的德州仪器已经开始逐步停止对连接手机和网络的基带芯片进行研发,预计这一进程将于今年底完成。 业内分析师希望德州仪器也能对余下的两项无线业务OMAP应用处理器和无线连接芯片业务采取同样的举措。OMAP应用处理器支持视频和游戏等无线功能,无线连接芯片包括蓝牙和Wi-Fi等近距离技术。 伯恩斯坦研究公司的分析师斯塔西•拉斯刚(Stacy Rasgon)表示:“
[手机便携]
华为确认Mate 30将不再搭载谷歌的应用程序和服务
据ausdroid报道,华为在IFA 2019上已确认虽然Mate 30将运行Android 10,而不是鸿蒙,但在发布时不会带有任何谷歌的应用程序和服务。 华为消费者业务软件总裁王成禄博士证实,即便不搭载谷歌的应用程序和服务,华为也在积极开发或寻找相应的替代品,以让用户在没有谷歌的支持下也能正常使用,例如其地图导航程序就来自另一个供应商,以代替谷歌地图。 但谷歌全家桶能否做到完美替换尚未知,虽然Gmail可以通过第三方电子邮件程序连入,但诸如谷歌Drive或Calendar等依赖核心服务的程序很难被替换。 华为多次表示,如果可以的话,更愿意继续使用安卓,当然也包括其全家桶程序和服务,但受制于美国管制,能否恢复往日权限,全得看美国
[手机便携]
FUJITSU TEN采用ADI DSP实现声学控制
Analog Devices, Inc.(纽约证券交易所代码: ADI)最新宣布Fujitsu Ten公司的高级音频放大器采用ADI公司的浮点SHARC DSP架构,实现了革命性的汽车音响体验。这项被称为“声学空间控制技术”的创新技术由Fujitsu Ten公司研究并实现,不仅能大幅降低由汽车底盘的振动带来的影响,同时还可对驾驶室玻璃的声音反射效果及车内装潢所引起的声音吸收现象进行补偿。此外,声学空间控制技术增强并补偿了扬声器的声音局限性,如频率响应以及扬声器在驾驶室中的物理位置所带来的挑战,从而在空间上增强了音频体验。 凭借在汽车环境及声学研究方面累积的多年经验,Fujitsu Ten公司最终开发出声学空间控制技术
[嵌入式]
TI推出业界最小 12、14 及 16 位 SAR ADC
最新 ADC 进一步推进工业监控及控制应用的尺寸、功耗与性能达到最优配比。 2014 年 9 月22 日,北京讯---日前,德州仪器 (TI) 宣布推出最新逐次逼近寄存器 (SAR) 模数转换器 (ADC),可帮助系统设计人员缩小工业监控及控制应用的尺寸。此次推出的 ADS7042 是业界最小、功耗最低的12 位 SAR ADC,而 ADS8354 系列则包含业界最小的 14 及 16 位同步采样 SAR ADC。 ADS7042 1-MSPS ADS7042 可推进实现尺寸与功耗优化的最优配比。这款微型器件全速功耗仅为 690uW,且可在采样速率达到前所未有水平的情况下,依然可以为超低功耗系统降低功耗。例如
[模拟电子]
DSP在变电站综合自动化系统中的应用
引言   变电站综合自动化系统是将变电站的二次设备经过功能组合和优化设计,综合利用先进的多种学科技术,集成于一体的自动化系统 。从系统的结构看,全分散式的设计思想越来越显现出优越性。由于变电站的数据量和信息量大,实时性要求高,则将高性能DSP应用于变电站综合自动化的设计方案中。其内部哈佛结构使数据空间和程序空间分离,独立的总线和程序总线允许程序数据同时操作;具有独特的逆寻址方式,能高效的进行快速傅立叶变换运算降低了软件的编写困难;采用内存映射方式管理I/O,能灵活方便的扩充外围电路。 1 系统的整体结构设计   采用TI 2000系列的TMS320F2812芯片为核心处理器,整体采用全分散式结构,集监测、保护、控制、远动等为
[嵌入式]
TI吴涛:LED驱动器关键是一致性和30nS BLANK脉冲
日前,EEWORLD就LED驱动技术及LED产品专访了德州仪器(TI)中国区电源产品业务拓展工程师吴涛,吴涛表示一致性是最重要的因素,不光是对LED灯芯片来讲,对LED驱动器控制电流也有一致性的问题。此外30nS BLANK脉冲宽度是另一个很重要的指标。 EEWORLD:您认为LED驱动IC的关键技术在哪里?难点又是哪里? 吴涛:精度是个很重要的技术指标,严格来讲通道间的电流误差精度和芯片间电流的误差精度对LED是很重要的指标,给LED电流大一点小一点颜色都会不一样,比如红色让它亮一点暗一点就会有鲜红色和暗红色,如果LED驱动器控制的电流不是本身画面要求的电流,画面的颜色就会走样,颜色会失真。 EEWORLD
[电源管理]
DSP市场急刹车 TI从多方面寻求创新
  日前,调研公司iSuppli发布的一项预测中指出,今年全球的DSP销售收入将会首次出现负增长,即2007年全球DSP的销售收入增长为-0.6%,而就在2006年全球DSP的增长还是12.3%,在各类半导体器件中属于增长率较高的领域。为什么会出现如此大的倒退呢?iSuppli副总裁Dale Ford对记者解释:“我们预测2007年DSP销售收入出现下降的主要原因有两个:一个是由于在手机市场,TI的收入下降、ADI的退出导致以DSP架构为主的基带芯片收入降低,而以ASIC/ASSP逻辑IC架构形式的基带芯片收入上升,比如联发科、高通和英飞凌的基带均属于这一类;第二个是DSP的平均价格不断下降,所以也导致收入下降。当然,从发货量来看,
[嵌入式]
德州仪器公布2024一季度财报,资本支出持续上升
德州仪器 (TI) 在 2024 年 4 月 23 日举行了第一季度收益电话会议中,讨论了公司的财务表现、市场动态及未来展望。以下是电话会议的主要内容和要点: 财务表现 营收与净利润:TI 宣布第一季度营收为 36.6 亿美元,净利润为 11.1 亿美元,每股收益为 1.20 美元,超出了公司最初的指导预期。营收环比下降 10%,同比下降 16%。 过去 12 个月的运营现金流达到 63 亿美元,自由现金流为 9.4 亿美元,反映出 TI 业务模式的强劲和产品组合的质量。 公司在研发和销售、一般管理费用上投资了 37 亿美元,在资本支出上投资了 53 亿美元,并向股东返还了 48 亿美元。由于TI更加专注于300m
[半导体设计/制造]
<font color='red'>德州仪器</font>公布2024一季度财报,资本支出持续上升
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved