嵌入式实时多任务系统DSPBIOS.doc_第1页
嵌入式实时多任务系统DSPBIOS.doc_第2页
嵌入式实时多任务系统DSPBIOS.doc_第3页
嵌入式实时多任务系统DSPBIOS.doc_第4页
嵌入式实时多任务系统DSPBIOS.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式实时多任务系统DSP/BIOS II现在,由于复杂的硬件功能已经集成到标准集成电路中,系统开发人员首先应该知道如何选择合适的芯片,然后基于此硬件结构设计软件。系统设计者有两种选择:使用专用集成电路或可编程DSP实现信号处理。相比之下,可编程DSP有两个优点: 可扩充性:设计者可以根据要求的处理效率,和需要的资源来量体选用DSP及所需的片数。 可升级性:将硬件的升级转化成比较容易升级的软件改动。 使用可编程DSP时,必须对芯片的各种资源(例如CPU,存储区,外设等)加以管理规划,通过DSP/BIOS可以轻松的完成这些工作。 TI公司TMS320C5000系列都带有嵌入式DSP/BIOS,它有很强的实时分析和任务实时管理能力,可以有效的提高项目的开发效率,尤其表现在需要实时多任务的大型系统中。图1为DSP/BIOS的部件结构。 DSP/BIOS II简述 TI公司的DSP/BIOS II 是在DSP/BIOS I 基础上的扩展。它支持更多的软件模块,通过修改内核提供抢先式多任务服务;它把传统并行处理系统的内核服务集成为可测试内核;它增加了设备独立的I/O数据流模型,继续保留已有的数据管道;它增加了动态内存分配与内存管理。 TI的开发平台CCS IDE 2.0中集成了DSP/BIOS II,可以对程序进行实时跟踪与分析,提高应用程序开发的可靠性。可以在CCS插件中实时观察DSP/BIOS内核中各线程的执行状态与对象的当前属性。通过设置工具,开发者可以对各个模块实行配置。 DSP/BIOS II 核心API技术 目标应用程序通过调用DSP/BIOS II的API来获得运行时的服务。一个单个DSP/BIOS II 模块可以管理多种类的内核对象,并且依据全局参量的设定来控制整个行为。DSP/BIOS II 可以归纳为六大种类: 内核执行线程 图1 DSP/BIOS 部件结构图图2 线程优先级示意图图3 数据流示意图图4 数据管道示意图DSP/BIOS II提供四类不同的执行线程。每一类线程又具有不同的执行、抢先和悬挂特性。DSP/BIOS II 支持两个高优先级的中断线程和事先备好的后台空闲过程循环。内核执行线程通过HWI, SWI和IDL模块进行管理。另外,DSP/BIOS II新提供了多任务线程类,能较好的完成任务间的同步,它由TSK模块管理,在任何执行时刻为悬挂和恢复执行同步,包括调整自身或其他任务的优先级。这种同步化的任务给并发系统设计提供了良好的基础。 硬件抽象 DSP/BIOS II 提供硬件的逻辑接口。它独立于硬件实现。它对硬件部分的访问、配置,内存映射、片内定时器和硬件中断等进行抽象,简化了应用的移植。它通过可视化的设置工具定义内存映射、中断向量表,对定时器编程,和完成动态的内存分配与释放。 设备独立I/O 设备独立I/O模块执行数据传输服务,传输可以在DSP与外设之间和多线程之间进行。DSP/BIOS II 支持数据管道(pipe)和数据流(stream)两种传送方式。数据管道是在读写线程之间快速传送数据的小型统一部件。数据流为缓冲方案增加了灵活性使之适应更广的需求。数据流依靠多个潜在的设备驱动器,这种设备驱动器封装了设备独立的属性与方法。在数据通过堆叠(stacking)机制传送时,设备驱动器能够执行数据处理操作,驱动器在数据通道中实行流水线处理。PIP和SIO模块分别管理目标应用中的数据管道和流的传送服务。SIO同DEV模块结合,使DEV通过SIO发送和接收数据。 线程间的通信和同步 DSP/BIOS II 中的线程间通信和同步模块支持多任务。信号量(semaphores)是最主要的同步方式。任务运用信号量保持同步资源访问的同步。访问外设的数据缓冲区,以及访问共享存储区都是资源同步的典型事例。信号量还控制着多任务执行的同步。信号量由SEM模块管理,而LCK模块提供共享资源的判优和互斥。数据队列可用于线程间通信。邮箱(mailbox)类似于数据队列,能够理想的完成任务通信。数据队列由QUE模块管理,邮箱模块由MBX管理。 实时分析 实时分析(TRA)模块在应用程序执行期间与DSP项目实时交互和诊断。LOG,STS和TRC模块对这些功能进行管理。主机与目标板之间的数据传输能力对实施分析是非常关键的。DSP/BIOS提供HST和RTDX模块来管理这些功能。CCS IDE中提供了以下六种实时分析工具: CPU负载图 负载图提供的是目标CPU的负载曲线。CPU负载的定义是除去执行最低优先级任务以外的时间量。最低优先级任务是只在其他线程都不运行时才执行的任务。因此,CPU负载包括从目标向主机传送数据和执行附加后台任务所需的时间。 执行图示 在执行图示窗口中,我们可以看到各个线程的活动方式。执行图的刷新速率可以通过RTA控制版设定。图形中还包括了信号量的活动,周期性函数标记(tick),和时钟模块标记。执行图示能从整体上看到项目所有线程的活动状态。 主机通道控制 利用信道控制窗口可以把文件绑定在定义的主机通道上,启动信道上的数据传输以及监测数据传输流量。 信息记录 选定某一记录名,从此窗口可看到程序运行的信息记录。主机从目标板获取DSP/BIOS数据期间的记录信息将显示在此窗口中。开发者定义的记录信息也显示在窗口中。 统计观察 统计观察窗可以计算出事件、变量出现的次数,给出其最大值,最小值和平均值,监测定时时间和变量的增值的实际值和期望值差。 实时控制面板 它对运行时间中不同类型进行追踪控制,在默认情况下,所有类型的跟踪都是允许的。为跟踪任意一种类型,必须使能全局主机(GLOBAL HOST)。通过实时改变控制版的属性,还可以设定实时分析工具的刷新频率。 内核/对象观察 内核/对象观察窗可观察当前的配置,状态和运行在目标板上的DSP/BIOS对象状况,此工具对动态和静态配置的对象都可以进行观测。 其它系统服务 DSP/BIOS II 仿照标准的C语言库,把程序错误处理与终止,组装到其它系统服务模块。这些功能函数由SYS模块管理。SYS中还包括各种printf()的变体形式。 原子(atomic)函数是非抢先式操作,比如AND, OR, INC, DEC, SET 和 CLEAR,使用它们时不允许中断。原子函数由ATM模块管理。 执行线程规划 在DSP实时应用中,由外部时间或控制信号驱动功能函数,所以函数执行方式和执行时间对系统非常重要。DSP/BIOS支持多线程应用,线程可以定义不同的优先级,使高优先级线程可以抢断低优先级的线程,而且不同的线程之间可以实现交互,比如阻塞,通信和同步。 如图2,DSP/BIOS II的线程分为以下四种类型(优先级从高到低) 硬件中断(HWI):包括CLK功能。它的优先级数目依赖于DSP,一般为32个,由外部同步信号触发。属于完全执行方式(run-to-completion)。 软件中断(SWI):可定义15个不同的优先级,通过调用SWI函数触发。属于完全执行方式,有执行截止时间。PRD是一种特殊的软件中断,它的执行基于多个设备定时器中断或一些其它事件。 任务(TSK):可定义15个不同的优先级。不同于SWI和HWI,它们在执行过程中为等待可用资源会被挂起。信号量,队列和邮箱用于不同任务之间的通信与同步。任务具有四个状态,就绪(ready),执行(running),阻塞(blocked),终止(terminated)。 后台线程(IDL):空闲循环线程具有最低优先级,运行期间可以被任何其它线程抢先。当main()函数执行完后,IDL便开始运行。 还有一类数据通知函数,他们在有数据帧读写的时候被触发用来通知读写器,并利用管道(PIP)或主机信道(HST)传送数据。 低层函数功能 内核的低层函数嵌入在三个软件模块中,这三个模块分别为: MEM模块:管理存储区的分配。在DSP应用项目中,连接命令文件用作内存的分配,此文件通过配置工具生成,若要自己创建连接命令文件,则应包含前者。实时DSP硬件平台包括几种不同的存储区:设备自身的RAM,零等待状态外部SRAM和慢速DRAM等,以满足不同的存储需求。 SYS模块:提供多种系统服务。SYS提供一系列基本的类似于标准C运行时间库函数系统服务,比如系统停止,系统错误等。 QUE模块:管理队列。提供一类函数用于管理队列列表。QUE模块最常用于实现FIFO列表,其中的元素在尾部插入,头部移出。 输入输出功能 DSP/BIOS应用项目的输入输出提供流(stream),管道(pipe)和主机信道(host channel)三类处理对象。每一类对象有其自身的数据I/O管理模块。 流是一种在应用程序I/O设备之间数据传输的信道,这种信道在输入时为只读,在输出时为只写,如图3,流对所有I/O设备提供一个简单的统一接口,这时应用项目可以不用关心每个独立设备的操作细节。 流的一个重要方面是它的异步属性。输入输出并行使用数据缓冲区。当处理当前缓冲时,可将新的输入缓冲区写满。因仅交换数据指针而不用进行数据交换,流是高效的,使程序容易满足实时的要求。SIO模块对流实行管理,通过了DSP/BIOS编程接口的设备驱动器跟不同类型的设备进行交互。设备驱动器是管理设备的软件模块,遵从DEV提供的公用接口,流提出请求,驱动器就按照适合于特定设备的方式执行。 数据管道用于输入输出数据的缓存,管道提供一致的数据结构,可以用于驱动DSP设备和所有外设间的I/O,见图4。与流相比,数据管道的开销较大,它的通知机制是由管道管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论