ADSP21160 在高速数字信号处理阵列中的应用
摘 要 **以声纳信号处理领域中的应用为例,介绍了基于ADSP21160 的高速处理阵列的设计方法。ADSP21160 是Sharc 浮点通用数字信号处理器(DSP) ,由于它高速的信号处理能力,大容量的片内SRAM 和Link Port 接口设计,使得它很适合组成DSP 阵列结构,完成高速实时信号处理任务。
关键词 阵列 声纳 信号处理 并行处理
1 概述
数字化是当今信息处理领域的一大潮流,随着数字信号处理的理论与技术的日趋成熟,数字信号 处理的应用领域几乎涵盖了国民经济和国防建设的所有领域,包括雷达、航天、声纳、通信、海洋、消费电子等。随着信号采集速度和处理速度的要求越来越高,许多领域都需要进行多处理器运算, DSP 具有处理速度快、灵活精确、抗干扰能力强等特点,DSP阵列系统可以根据所需实现的功能和处理器的性能来调节处理接点的数目,使系统达到最佳的性能价格比。 ADSP21160 是一种高性能32位浮点处理器,在一个单独的芯片上具有600MFlop的浮点运算能力、多达4Mbit 的零等待SRAM 、多种形式的外部接口和独立的I/ O 控制器,构成了一个完整的系统。长度为32 字( 48bit )的片内指令,cache 的利用和指令执行部件的分离使Sharc 的指令均为单周期指令; 4 套独立的总线分别用于程序存储区( PM)和数据存储区(DM) ,可以同时对PM和DM 进行数据访问。具备经优化的DMA 和中断的传输机制,使得与外部的数据交换独立、并行于处理器内核的运算过程;此外,片内的主机接口和总线仲裁器可以使6 片的处理器无需任何附加资源即可构成超立方结构的处理器阵列。所以,我们在这里采用该处理器构成多处理器阵列来完成各种高性能的数字信号处理任务。
2 ADSP21160 简介 ADSP21160 是采用超级哈佛结构的一种新产品。ADSP21160 的汇编代码与ADSP2106x 兼容,处理器具有SIMD 功能,而ADSP2106x 只具有SISD 功能,为了充分利用这种新的功能,一些指令作了一些变化。ADSP21160 包括一个100/ 150MHz的运算核、双端片内SRAM 、一个支持多处理器的集成在片内的I/ O 处理器和多重内部总线(以消除I/ O 瓶颈)。 32bit 高性能DSP ,应用范围广泛,包括军事、医药、语音、图像及通信等领域。采用超级哈佛结构,四条独立的总线进行数据传输,指令传输及零开销的I/ O 传输。汇编源代码与ADSP2106x 兼容。SIMD 计算结构具有两个32bit 的计算元,其中每一个包括乘法器、ALU 、移位寄存器及寄存器文件;具有完备的与外围设备接口功能,包括独立的I/ O 处理特性及端口(串口,连接口)等。ADSP21160 包括两个运算处理单元,所以具有SIMD 功能。处理单元指的是PEX 和PEY 。PEX 始终是有效的,而PEY 的有效是通过设置MODE1 寄存器中的PEYEN 位来实现的。当PEY 模式有效时,同一条指令在两个处理器单元中都得执行,但同一处理器中的操作数不同。SIMD 模式在存储区和处理器单元之间的数据传输也是很有作用的。当使用SIMD模式,由数据带宽加倍来保证处理器单元的操作。在SIMD 模式,当使用DAGs 来传输数据时,存储区的每次访问传输的是两个数据值。ADSP21160 包括4Mbit 的片内SRAM ,分为两块,每一块2Mbit 。可以定义为不同字长的指令和数据存储。每一个存储块的双端口结构可以使他独立地被运算核处理和I/ O 处理器访问。ADSP21160 的存储区最大可以容纳128 K32bit 或256 K16bit 数据或85 K48bit 指令,或其他混合字长的数据但总和最大为4Mbit 。所有存储区可以被以16 、32 、48 、64bit 字长的字访问。
外端口支持处理器与片外存储器及外设的接口,片外的4 G 地址空间属于ADSP21160 的统一地址空间。外端口支持同步、异步及同步Burst 访问。DMA 控制器的操作相对处理器运算核是独立和不可见的,即DMA 操作可与指令执行同时进行。DMA 传输可以在内部存储区与外部存储区、外围设备或主机之间进行。ADSP21160 共有14 个DMA通道,其中连接口占6 个,串口占四个,外端口占四个。ADSP21160 可以通过DMA 传输来下载程序,外围异步设备也可以通过DMA 请求/应答线来控制两个DMA 通道。 ADSP21160 具有许多特点支持多DSP 系统,外端口与连接口支持多处理器系统的直接连接,外端口支持统一的地址空间,允许DSP 之间互相访问。片内具有分布式总线仲裁逻辑,最多支持6 片ADSP21160 和主机的连接。外端口的最大数据传输率为400MB/ s ,广播写信号可以同时发送到各ADSP21160 。六个连接口提供了另一种方法实现多处理器之间的通信,连接口的最高传输速率为600MB/ s 。
3 6-DSP 阵列系统结构 每个DSP 阵列系统含有6 片ADSP21160 、1 片Flash 、2 片128 K ×32bit SRAM ,这些元件由64 位数据总线相连接。6-DSP 阵列的最高运算速度为2. 8 GFlop ,系统的数据和地址总线可以直接同任一个ADSP21160 进行数据交换,可以通过Flash 对每一个ADSP21160 进行程序加载。每片DSP 都可以向系统总线发中断请求,中断优先级可以由逻辑设置。 DSP 阵列系统中DSP 的连接方式如图1 所示,DSP 之间通过Link Port 相连,每片DSP 都有一个LinkPort 连至系统总线的端口。DSP 阵列与控制系统之间通过Link Port 的数据传输率最高为600MB/ s ,所有DSP 芯片的J TAG 口串联至Frontpanel 的J TAG 插座。
图1 DSP 的连接方式图
4 DSP 阵列在声纳信号处理中的应用
以下介绍的是我们在水声信号处理系统中运用DSP 阵列进行声纳信号处理的方案,本系统以VME 总线为系统开发平台,前端调理模件、模数转换模件和前端控制模件等VME 插件,采用Sharc 级DSP 芯片阵列完成声纳信号实时处理,采用嵌入式实时操作系统VxWorks 及X 窗口系统的中央控制和显示。 从前端采集来的信号,经波束形成和复解调,再经过窄带滤波后的信号分为两路,一路送去进行幅度检波,一路作频域处理。幅度检波就是对复信号求模,根据信号幅度判决有无目标存在。频域处理分两种情况:当发射信号为单频脉冲时,进行功率谱估计,然后根据多普勒频移估计目标速度;当发射信号为双曲调频信号时,进行相关处理。 声纳综合数据处理主要包括主动声纳信号处理和被动声纳信号处理。其中,主动声纳信号处理又根据发射信号的不同,分为非相干处理、相干处理、功率谱处理。声纳综合数据处理主要完成目标自动检测、目标参数测定和动目标跟踪。 根据声纳信号处理的特点和ADSP21160 的处理器结构,我们这里决定采用流水线式多处理器结构。因为声纳信号处理具有高速处理要求、数据流向具有单向特性的特点,利用ADSP21160 的连接端口和片内的存储器可以方便地构造出流水线多处理器系统。总的信号处理算法被分配到每个处理器中进行,组成系统的各个处理器按顺序实现一部分处理算法;每个处理器在进行的处理过程中,前后级处理器之间通过连接端口接收输入数据和发送输出数据;同时,处理器内核可以全速地运行信号处理算法程序。
5 任务分析与处理器分配 Link Port 是由Sharc 提供的受独立I/ O 控制器控制的四位数据端口,采用异步握手方式,数据传输率可以达到100MB/ s ,并有支持DMA 方式传输,不用CPU 干预。优点是数据率高,容易实现并行,适用于数据率较高而对缓冲区容量要求不大的场合。多DSP 板上有4MB 的共享内存可以被板内任意一片处理器直接读写,其优点是缓冲区大,操作方便,但由于片外存储器的访问需要获得板级总线的控制权,指令周期长,并且在多片处理器同时访问时会产生总线竞争现象,使数据吞吐率进一步下降。所以适用于数据率低而对缓冲区有较高要求的场合。 在前端时域处理部分,由于数据率高,同时对缓冲区需求较小,所以采用Link Port 进行传送;后端频域部分和综合处理部分数据率下降,而对缓冲区要求很高,原始数据和运算结果都存放于共享内存,由中控台程序取用。处理器分配如图2 所示。
图2 任务模块分配
6 结论 声纳信号处理的目标跟踪情况的测试如图3 所示,结果可以看出,系统中,当前机动目标模型的选择、跟踪门限的选取和多目标的最小距离判定都比较符合系统的要求。经过系统测试,采用ADSP21160 阵列能够较好地完成声纳信号实时处理,在声纳系统的各种工作模式中都能保持较高的目标检测概率,达到了系统的设计要求。
图3 目标跟踪测试结果
基于ADSP21160 的高速处理阵列不仅可以应用于声纳、雷达等的信号处理系统,还适用于多维图像处理等领域。
|