![基于VxWorks的多DSP系统的多任务程序设计_第1页](http://file4.renrendoc.com/view/aa906589efd09b3ca62e71cd514f1b07/aa906589efd09b3ca62e71cd514f1b071.gif)
![基于VxWorks的多DSP系统的多任务程序设计_第2页](http://file4.renrendoc.com/view/aa906589efd09b3ca62e71cd514f1b07/aa906589efd09b3ca62e71cd514f1b072.gif)
![基于VxWorks的多DSP系统的多任务程序设计_第3页](http://file4.renrendoc.com/view/aa906589efd09b3ca62e71cd514f1b07/aa906589efd09b3ca62e71cd514f1b073.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VxWorks的多DSP系统的多任务程序设计
摘要:多DSP信号处理板广泛地运用于工业、军事、通信和医疗等许多方面。本文介绍一种基于VxWorks实时操作系统的ADSP21160的多DSP板设计,以及该板在数字式声纳的实时信号处理系统中的应用,并介绍在VxWorks实时操作系统下的软件算法仿真和实现。关键词:多DSP阵列声纳系统VxWorks近年来,计算机产品的应用领域越来越广,数字信号处理器的发展表现得尤为明显。DSP芯片制造商和DSP板开发商利用自身的优势不断开发出多DSP结构的产品来满足这种需求。通常的DSP设备是与嵌入式系统相结合,来实时地完成某一特定任务。随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中包括医学、图像处理、军事、工业控制、电信等许多领域。多处理器系统可以根据所需实现的功能和处理器的性能来调节处理结点的数目,使系统达到最佳的性能价格比。实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系统的调节功能。这里选用的是AD公司新出品的SHARC级处理器ADSP21160。ADSP21160具有很大的片内存储区、多重内部总线结构、独立的I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器数目的可调节功能,十分适合组成高性能浮点的多DSP系统。VxWorks是目前世界上用户数量最大的实时操作系统。这使它除了具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术服务和可靠的系统稳定性。由于它具有以上优点,本系统中选用了VxWorks作为MVME167的操作系统。一、ADSP21160的特点ADSP21160是AD公司采用超级哈佛结构的一种新产品。21160的汇编代码与2106x兼容,处理器具有SIMD(单指令流多数据流)功能;而2106x只具有SISD(单指令流单数据流)功能。为了充分利用这种新的功能,一些指令做了一些改变。ADSP21160包括1个100/150MHz的运算核、双端片内SRAM、1个支持多处理器的集成在片内的I/O处理器和多重内部总线以消除I/O瓶颈。ADSP21160的汇编源代码与2106x兼容。SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU、移位寄存器及寄存器文件。具有完备的与外围设备接口功能。包括独立的I/O处理器、4Mbit的片内双端SRAM、可直接连接的多处理器特性及端口(串口、连接口、外总线及JTAG)。ADSP21160包括2个运算处理单元,具有SIMD功能。处理单元指的是PEX和PEY。PEX始终是有效的,而PEY的有效是通过设置MODE1寄存器中的PEYEN位来实现的。当PEY模式有效时,同一条指令在2个处理器单元中都得到执行,但每一个处理器单元中的操作数不同。SIMD模式在存储区和处理器单元之间的数据传输也是很有作用的。当使用SIMD模式,通过加倍数据带宽来保证处理器单元的操作。在SIMD模式,当使用DAGs来传输数据时,存储区每次访问所传输的是两个数据值。ADSP21160包括4Mbit的片内SRAM,分为两块,每一块2Mbit。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构可以使存储块独立地被运算核处理和I/O处理器访问。21160的存储区最大可以容纳128K的32bit数据,或256K的16bit数据,或85K的48bit指令,或其他混合字长的数据,但总和最大为4Mbit。所有存储区可以16、32、48、64bit字长的字访问。外端口支持处理器与片外存储器及外设的接口,片外的4G地址空间属于21160的统一地址空间。外端口支持同步、异步及同步BURST访问。DMA控制器的操作相对处理器运算核是独立和不可见的,即DMA操作可与执行指令同时进行。DMA传输可以在内部存储区与外部存储区、外围设备或主机之间进行。21160共有14个DMA通道,其中:连接口(linkport)占6个;串口占4个;外端口(externalport)占4个。21160可以通过DMA传输来下载程序,外围异步设备也可以通过DMA请求/应答线来控制2个DMA通道。21160具有许多特点支持多DSP系统。外端口与连接口支持多处理器系统的直接连接,外端口支持统一的地址空间,允许DSP之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6片21160和主机连接。外端口的最大数据传输率为400MB/s,广播写信号可以同时发送到各片21160。6个连接口提供了另一种方法实现多处理器之间的通信。连接口的最高传输速率为600MB/s。整个系统基于VME总线。VME总线系统作为最早的国际通用开放式总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能不断完善,现已成为性能最好、应用最广的国际总线标准之一。根据设计要求,采用了4片ADSP21160。片外共享内存SRAM可以被主机和各片DSP直接访问;EPROM用来存放初始化程序和各片DSP要运行的程序,在系统上电后这些程序被下载到各片DSP中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSP上,而且也使数据的传输模式更加灵活。连接口(linkport)是SHARC系列DSP芯片的一个特点。ADSP21160共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行时,每个连接口可达100MB/s。连接口尤其适合多处理器间点到点的连接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应答握手线控制。4片DSP使用连接口实现DSP间两两互连。21160的主机接口可以很方便地与标准微处理器总线(16/32bit)相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过HBR、HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。二、开发环境TornadoVxWorks的开发环境是WindRiver公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统可采用运行SunSolaris、HP-UX以及Win95/NT的工作站或个人计算机,VxWorks则运行在Intelx86、MC68K、PowerPC或SPARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。Tornado的体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通信机制。同时VxWorks具有良好的可剪裁性。因此它适用于各种嵌入式环境的开发,小到资源极其有限的个人手持式设备如PDA(PersonalDigitalAssistant);大到多处理机系统,如VME系统。Tornado可提供一个直观的、可视化的、用户可扩充的开发环境,极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主机平台上的工具可以用于所有的目标机系统。作为一个应用软件开发环境,Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。三、程序设计我们选用的DSP开发工具是AD公司提供的VisualDSP。这是一个集成开发环境,支持对SHARC系列DSP芯片的开发。实时操作系统VxWorks的开发工具是WindRiver公司的Tornado集成开发工具。VisualDSP可以C语言或汇编语言编写的DSP代码,最新版本的VisualDSP还支持C++。它还有1个优点,就是可以编译多片DSP的源代码,并产生下载文件,这就可以很方便地进行多DSP系统的软件模拟。ADSP21160阵列的设计结构使它既可以构成单指令流多数据流(SIMD)的并行处理机,也可以构成多指令流单数据流(MISD)或多指令流多数据流(MIMD)的流水线处理机,视用户的要求而定。这两种并行方案的选择,简单来说就是选择分割数据流还是分割处理工序。SIMD方案的原理如图1所示。以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等为VME插件,采用SHARC级DSP芯片阵列完成声纳信号实时处理,基于嵌入式实时操作系统VxWorks及X窗口系统的中央控制和显示。图2是4片DSP的任务分配图。从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路做频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动检测、目标参数测定和动目标跟踪。四、操作流水线操作流水线是模块内数据计算与I/O的流水线,物理上表现为CPU与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例,输入数据率为2Mw/s,输出数据率为4Mw/s,高速连接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《计算机网络基础与应用(第三版)》 课件 项目八 无线局域网的组建
- 二零二五年度矿山工程资料员劳动合同3篇
- 第二单元第2课时 100以内数的大小教学课件-一年级数学下册同步备课(青岛版·2024秋)
- 第3课 中古时期的欧洲 教学课件-【知识精研】高一统编版2019必修中外历史纲要下册
- 《时尚北京》杂志2024年第9期
- 慢性心力衰竭药物治疗与非药物治疗的进展课件
- 《数据图模板》课件
- 《记王忠肃公翱事》课件
- (高清版)DB37∕T 3006-2017 金针菇菌渣蔬菜(茄果类·番茄)集约化育苗技术规程
- 《百变所以美丽》课件
- 2024至2030年全球与中国市场头戴式耳机深度研究报告
- 学前教育普及普惠质量评估幼儿园准备工作详解
- 电气控制与PLC课程说课王金莉-长春光华学院电气信息学院
- 青少年人工智能编程水平测试一级-模拟真题01含答案
- 第十五章《探究电路》复习课课件沪科版九年级物理
- 2024年中考物理科技创新题型(教师版)
- 经营性房屋租赁项目 投标方案(技术方案)
- 基坑监测总结报告
- 2024年华师大版九年级数学下册全册教案
- 合肥市庐阳区双岗街道社区工作者招聘考试试题及答案2024
- JBT 106-2024 阀门的标志和涂装(正式版)
评论
0/150
提交评论