DSP系统程序设计论文_第1页
DSP系统程序设计论文_第2页
DSP系统程序设计论文_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、DSP系统程序设计论文近年来,计算机产品的应用领域越来越广,数字信号处理器的发 展表现得尤为明显。DSP芯片制造商和DSP板开发商利用自身的优势不 断开发出多DSP结构的产品来满足这种需求。通常的 DSP设备是与嵌 入式系统相结合,来实时地完成某一特定任务。随着信号采集速度和 处理速度的要求越来越高,许多领域都需要进行多处理器运算,其中 包括医学、图像处理、军事、工业控制、电信等许多领域。多处理器 系统可以根据所需实现的功能和处理器的性能来调节处理结点的数 目,使系统达到最佳的性能价格比。实际上,只有从芯片开始仔细设计,才能方便地实现多处理器系 统的调节功能。这里选用的是AD公司新出品的 SH

2、ARC级处理器ADSP21160ADSP21160具有很大的片内存储区、多重内部总线结构、独立的 I/O子系统;具有构造多处理器系统的所有特点,能够真正支持处理器 数目的可调节功能,十分适合组成高性能浮点的多 DSP系统。VxWorks是目前世界上用户数量最大的实时操作系统。这使它除了 具有优越的技术性能之外,还具有丰富的应用软件支持、良好的技术 服务和可靠的系统稳定性。由于它具有以上优点,本系统中选用了 VxWorks作为MVME16的操作系统。、ADSP21160勺特点ADSP21160是AD公司采用超级哈佛结构的一种新产品。21160的汇编代码与2106X兼容,处理器具有 SIMD(单指

3、令流多数据流)功 能;而2106X只具有SISD (单指令流单数据流)功能。为了充分利用 这种新的功能,一些指令做了一些改变。ADSP21160包括1个 100/150MHZ的运算核、双端片内 SRAM 1个支持多处理器的集成在片 内的I/O处理器和多重内部总线以消除I/O瓶颈。ADSP21160的汇编源代码与 2106x兼容。SIMD计算结构:2个32bit的计算单元,其中每一个单元包括乘法器、ALU移位寄存器及寄存器文件。具有完备的与外围设备接口功能。包括独立的I/O处理器、4Mbit的片内双端SRAM可直接连接的多处理器特性及端口(串 口、连接口、外总线及JTAG。ADSP21160包括

4、2个运算处理单元,具有 SIMD功能。处理单元指 的是PEX和PEY PEX始终是有效的,而PEY的有效是通过设置MODE1 寄存器中的PEYEN位来实现的。当PEY模式有效时,同一条指令在 2 个处理器单元中都得到执行,但每一个处理器单元中的操作数不同。SIMD模式在存储区和处理器单元之间的数据传输也是很有作用 的。当使用SIMD模式,通过加倍数据带宽来保证处理器单元的操作。 在SIMD模式,当使用DAGs来传输数据时,存储区每次访问所传输的 是两个数据值。ADSP2116(包括4Mbit的片内SRAM分为两块,每一块 2Mbit。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构

5、可 以使存储块独立地被运算核处理和I/O处理器访问。21160的存储区最 大可以容纳128K的32bit 数据,或 256K的16bit 数据,或 85K的 48bit指令,或其他混合字长的数据,但总和最大为4Mbit。所有存储区可以16、32、48、64bit字长的字访问。 外端口支持处理器与片外 存储器及外设的接口,片外的4G地址空间属于21160的统一地址空间。外端口支持同步、异步及同步 BURS访问。DMA$制器的操作相对 处理器运算核是独立和不可见的,即DMA操作可与执行指令同时进行。DMA传输可以在内部存储区与外部存储区、外围设备或主机之间进 行。21160共有14个DMA

6、4;道,其中:连接口 (linkport) 占6个;串 口占4个;外端口(external port) 占4个。21160可以通过 DMA传输 来下载程序,外围异步设备也可以通过DMA请求/应答线来控制2个DMA® 道。21160具有许多特点支持多DSP系统。外端口与连接口支持多处理 器系统的直接连接,外端口支持统一的地址空间,允许DSP之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6片21160和主机连接。外端口的最大数据传输率为 400MB/S广播写信号可以同时发送到各片21160。6个连接口提供了另一种方法实现多处理器之间 的通信。连接口的最高传输速率为 600MB/S整个

7、系统基于VME总线。VME总线系统作为最早的国际通用开放式 总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能 不断完善,现已成为性能最好、应用最广的国际总线标准之一。根据设计要求,采用了 4片ADSP21160片外共享内存SRAM可以 被主机和各片DSP直接访问;EPROI用来存放初始化程序和各片 DSF要 运行的程序,在系统上电后这些程序被下载到各片DSP中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到 插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSP上,而且也使数据的传输模式更加灵活。连接口 (linkport) 是SHA

8、R係列DSP芯片的一个特点。ADSP21160 共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行 时,每个连接口可达100MB/&连接口尤其适合多处理器间点到点的连 接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应 答握手线控制。4片DSP使用连接口实现DSP间两两互连。21160的主机接口可以很方便地与标准微处理器总线(16/32bit) 相连,几乎不需要额外硬件。主机通过21160的外端口对其进行访问,存储区地址映射为

9、统一的地址空间。4个DMA通道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过HBR HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。二、开发环境TornadoVxWorks的开发环境是WindRiver公司提供的Tornado。Tornado 采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、HP-UX以及 Win95/NT的工作站或个人计算机,VxWorks则运行在 Intelx86、MC68K PowerPC或SPARC等处理器上。Tornado支持各种主机- 目标机连接方式,如以太网、串行线、在线仿真器和ROM仿真器。Torn

10、ado的体系结构使得许多强有力的开发工具可以用于各种目标 机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通 信机制。同时 VxWorks具有良好的可剪裁性。因此它适用于各种嵌入 式环境的开发,小到资源极其有限的个人手持式设备如PDA( PersonalDigital Assista nt );大到多处理机系统,如 VME系统。Tornado可提供一个直观的、可视化的、用户可扩充的开发环境, 极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。主机与目标机之间的通信是通过运行各自处理器上的代理进程来 完成的,使主机上的开发工具和目标

11、机的操作系统可以完全脱离相互 连接的方式。为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell、loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换 信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存) 被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时 这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主 机平台上的工具可以用于所有的目标机系统。作为一个应用软件开发环境,Tornado提供了友好的可视化开发界 面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状 态监视器等

12、多种应用工具,为应用软件开发提供了一个高效而可靠的 平台。三、程序设计我们选用的DSP开发工具是AD公司提供的VisualDSP。这是一个 集成开发环境,支持对 SHARC系列DSP芯片的开发。实时操作系统 VxWorks的开发工具是 WindRiver公司的Tornado集成开发工具。 VisualDSP可以C语言或汇编语言编写的DSP代码,最新版本的VisualDSP还支持C+它还有1个优 点,就是可以编译多片 DSP的源代码,并产生下载文件,这就可以很 方便地进行多DSP系统的软件模拟。ADSP2116 0阵列的设计结构使它既可以构成单指令流多数据流(SIMD的并行处理机,也可以构成多指

13、令流单数据流( MISD或多 指令流多数据流(MIMD的流水线处理机,视用户的要求而定。这两 种并行方案的选择,简单来说就是选择分割数据流还是分割处理工 序。SIMD方案的原理如图1所示。以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等 为VMEft件,采用SHARC级DSP芯片阵列完成声纳信号实时处理,基 于嵌入式实时操作系统 VxWorks及X窗口系统的中央控制和显示。图2是4片DSP的任务分配图。从前端采集来的信号,经波束形 成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度 检波,一路做频域处理。幅度检波就

14、是对复信号求模,根据信号幅度 判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲 时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信 号为双曲调频信号时,进行相关处理。声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处 理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处 理、相干处理、功率谱处理。声纳综合数据处理主要完成:目标自动 检测、目标参数测定和动目标跟踪。四、操作流水线操作流水线是模块内数据计算与I/O的流水线,物理上表现为 CPU 与I/O端口的DMA之间的并行。在前端处理中由于数据率高,通信开 销很大。以通信任务最为繁重的复解调和多普勒补偿模块为例

15、,输入 数据率为2Mw/s,输出数据率为4Mw/s,高速连接口 LinkPort最高速 率为100Mw/s如果采用串行传输的话,通信时间就将占用60%以上的处理时间,计算时间显然严重不足。所以必须采用并行执行,流程图 如图3所示。这也是一种异步流水线方式,每次传送和计算完成都须 要设置标志以通知下一操作。结束语在VxWorks实时操作系统下,4片ADSP2116C上的程序已经通过模 拟输入和系统测试。采用 SHARC DSP车列能够很好地完成声纳信号实 时处理,每一片DSPS少有10%勺计算裕量,基本达到设计要求。送到各片21160。6个连接口提供了另一种方法实现多处理器之间 的通信。连接口的

16、最高传输速率为 600MB/S整个系统基于VME总线。VME总线系统作为最早的国际通用开放式 总线,自1981年起,经历了近20年的发展。其影响不断扩大,功能 不断完善,现已成为性能最好、应用最广的国际总线标准之一。根据设计要求,采用了 4片ADSP21160片外共享内存SRAM可以 被主机和各片DSP直接访问;EPRO用来存放初始化程序和各片 DSF要 运行的程序,在系统上电后这些程序被下载到各片 DSP中;LEDs用来显示插件的状态,如reset、normal等。每一片都有1个连接口连到 插件的前面板,这样前端采集来的数据就可以很方便地传输到多DSP上,而且也使数据的传输模式更加灵活。连接

17、口 (linkport) 是SHAR係列DSP芯片的一个特点。ADSP21160 共有6个8bit连接口提供额外的I/O服务。在100MHz时钟下运行 时,每个连接口可达100MB/&连接口尤其适合多处理器间点到点的连 接。连接口可以独立地同时操作,通过连接口的数据封装成48/32bit字长后,可以从片内存储区直接被运算核读取或DMA传输。每一个连接口有它自己的双缓冲I/O寄存器,数据传输可编程,硬件由时钟/应 答握手线控制。4片DSP使用连接口实现DSP间两两互连。21160的主机接口可以很方便地与标准微处理器总线(16/32bit) 相连,几乎不需要额外硬件。主机通过21160的外

18、端口对其进行访问,存储区地址映射为统一的地址空间。4个DMA!道可以用于主机接口,代码和数据传输的软件开销很小,主处理器通过HBR HBG和REDY信号线与21160进行通信,主机可以对片内存储区进行直接读写。二、开发环境TornadoVxWorks的开发环境是WindRiver公司提供的Tornado。Tornado 采用主机-目标机开发方式,主机系统可采用运行 Sun Solaris、HP-UX 以及 Win95/NT的工作站或个人计算机,VxWorks则运行在 Intelx86、MC68K PowerPC或SPARC等处理器上。Tornado支持各种主机- 目标机连接方式,如以太网、串行

19、线、在线仿真器和ROM仿真器。Tornado的体系结构使得许多强有力的开发工具可以用于各种目标 机系统和各种主机-目标机连接方式下,而不受制于目标机的资源和通 信机制。同时 VxWorks具有良好的可剪裁性。因此它适用于各种嵌入 式环境的开发,小到资源极其有限的个人手持式设备如PDA( PersonalDigital Assista nt);大到多处理机系统,如 VME系统。Tornado可提供一个直观的、可视化的、用户可扩充的开发环境, 极大缩短了开发周期。同时,由于Tornado是一个完全的开放系统,使得集成第三方开发工具变得十分容易。主机与目标机之间的通信是通过运行各自处理器上的代理进程

20、来 完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互 连接的方式。为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上,如shell > loader和符号表等。这样,系统不再需要额外的时间和带宽在主机和目标机之间交换 信息,降低了对连接带宽的需求,也避免了目标机的资源(如内存) 被工具或符号表大量占用,使得应用程序拥有更多的系统资源。同时 这种迁移也使得各种主机开发工具独立于目标机存在,从而使同一主 机平台上的工具可以用于所有的目标机系统。作为一个应用软件开发环境,Tornado提供了友好的可视化开发界 面、交叉编译环境、源码级调

21、试工具、目标机命令解释器和目标机状 态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的 平台。三、程序设计我们选用的DSP开发工具是AD公司提供的VisualDSP。这是一个 集成开发环境,支持对 SHARC系列DSP芯片的开发。实时操作系统 VxWorks的开发工具是 WindRiver公司的Tornado集成开发工具。 VisualDSP可以C语言或汇编语言编写的DSP代码,最新版本的VisualDSP还支持C+它还有1个优 点,就是可以编译多片 DSP的源代码,并产生下载文件,这就可以很 方便地进行多DSP系统的软件模拟。ADSP2116 0阵列的设计结构使它既可以构成单指令流多数据流(SIMD的并行处理机,也可以构成多指令流单数据流( MISD或多 指令流多数据流(MIMD的流水线处理机,视用户的要求而定。这两 种并行方案的选择,简单来说就是选择分割数据流还是分割处理工 序。SIMD方案的原理如图1所示。以下介绍我们实验室承担的水声信号处理系统。本系统以VME总线为系统开发平台,前端调理模件、

温馨提示

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

评论

0/150

提交评论