1 引 言 当前,数字信号处理(DSP)技术在测试领域的应用越来越广,随着DSP性能的提高,目前DSP系统设计有模块化的趋势,即根据所采用的标准总线(VME、PCI、CPCI等)和DSP的类型开发标准化的电路板级DSP模块,并向模块提供丰富的软件支持和算法库阳,以降低硬件设计难度,缩短开发周期。本文提出的就是一种基于模块化思想的多DSP并行处理的VXI平台VMDP(VXIMulti-DSPs Platform)。
2 VMDP硬件结构与并行方案
2.1 系统的硬件结构
VMDP平台是一种C尺寸、单槽位、寄存器基的VXI从者仪器,采用1块主极模块加6块功能插板模块的结构,如图1所示。处理单元是AD公司的ADSP2106x系列超哈佛结构的浮点DSP(SHARC),每个插板至少包括1片SHARC组成独立的数据获取与处理功能模块,通过2对144芯微连接器与主板连接;主板主要功能是:(1)完成VXI背板总线的接口功能:包括VXI逻辑地址译码、配置寄存器的实现;VXI的D32/D16数据传输与应答过程和VME中断器功能等;(2)具有插板模块控制器的接口功能:即向插板提供和SHARC的外总线兼容的48位数据总线、32位地址总线、数传控制总线等VMDP本地总线,并采用与SHARC相同的外RAM、多DSP、宿主机(VXI的资源管理器)同步读写时序控制;(3)向功能插板提供全局性资源配置(应用总线):40MHz低漂移时钟输入,独立的电源供给,A/D、D/A转换参考电压,4MB共享SRAM,JTAG调试接口等。

主板的DSP模块控制器和VXI接口功能主要集成在1片FPGA内。接口控制器对每块功能插板都提供宿了主机接口并在VXI空间中预留了固定的2MB寻址范围,使SHARC内存和I/0端口全透明地映射在统一的32位VXI空间内,并允许SHARC以“零等待”(Zero-waitState)的方式被VXI背板总线访问以减少数传时间花费(Overhead)。采用这种“透明存储器空间映射”的编址方法大大简化了访问插板的寻址过程和驱动程序软件的设计。
测试系统的前面板是连接插板模块与外界信号的输入输出通道,如A/D信号输入,D/A转换输出,外部触发信号,SHARC富余的链路口等。图2给出了一块高速数采功能插板模块的结构图。

2.2 支持多DSP的并行化方案
组成VDMP平台的多SHARC互联形式主要有:
(1)基于共享存储器的紧搞合(Closely Coupled)系统。主板的DSP控制器向6块插板提供了统一的高速同步局域总线接口(即外总线)。允许最多6个SHARC在不增加辅助电路的条件下,通过外部总线接口(ExternalPort)直接相连,各DSP通过外部总线对所有的共享存储器进行操作来实现各个DSP之间的信息交换,在任一时刻只允许一个DSP对外部总线操作。这种方法结构简单,程序设计容易,DSP间数据传输速率高,适用于处理器较少(≤6)且处理器之间数据交换不太频繁的场合。
(2)基于数据流的松榈合(Loose Coupled)系统。这种方法各DSP间在指令上没有关联,不存在争用外部总线的问题,数据流主要通过链路口由DSP直接读或以DMA的形式传送到片内SPAM中,不需要统一的全局时钟控制和同步,适合构建DSP数目较多,受“数据驱动”控制的并行处理场合。如图1所示,各个功能插板上的SHARC的链路口以菊花链(Daisy Chain)的形式连接相邻的两个模块,富余的链路口资源可接到VXI背板的本地总线(LocalBus)或前面板上,与其它VXI仪器组成线形、环形或其它更加复杂的并行处理系统。
2.3 多DSP系统的并行块处理策略
在测试仪器中,往往是要DSP重复执行功能相对单一的任务,而且实时性要求很强,内存的开销往往很大,超出了单片DSP的容量,W.Sung提出了运用块处理的策略设计多DSP数字信号处理的问题阳。块处理策略(BlockProcess Method)是将输入的数据以块为单位分配给不同的DSP(每个DSP的程序拷贝是相同的),块长度限制在单个DSP的数据内存范围里,使每个DSP单独完成某一块数据的计算输出。
SHARC的DMA系统允许在处理器核不介入的情况下实现零溢出数据传输,前驱DSP单元将定长的数据块由链路口DMA传输给后继DSP单元,DMA完成时触发SHARC的中断,在中断服务子程序中设置标志以完成DSP间的数据传送握手。
3 VMDP虚拟仪器软件系统结构
VMDP的驱动程序采用了层次化的结构,如图3所示,分为VISA的I/0接口层,内存管理层,模块功能实现层等3层。内存管理层动态链接库包括各块插板的识别、对各个DSP的程序的加载和执行、中断处理等有关插板工作的共性操作的部件函数。由于插板有2MB空间和VXI的32位空间统一编址,因此内存管理层可以很方便地调用VISA标准函数来实现对插板上DSP的内存和I/0的操作。具体功能模块的应用函数实现则通过调用内存管理层的函数来实现,由于内存管理层规范了对DSP插板的操作,因此便于将不同功能的插板模块集成在一块大主板上,每个仪器功能插板的配置情况被描述在广西文件fpm.ini中,和驱动程序动态链接库一起提供给用户开发应用程序。
