在声纳、雷达、图像和语音等领域经常需要对海量数据进行并行、实时处理,除了信号的内容、形式和处理算法等有所不同外,通常可采用相同的硬件平台进行处理。而目前国内在声纳、雷达和图像等领域一般都各自独立进行信号处理平台的开发,这种状况不仅导致资源浪费严重,而且产品的设计周期也大大延长。
本文研究的通用信号处理平台就是鉴于声纳、雷达和图像等领域信号处理的共性,设计基于DSP阵列技术、VxWorks嵌入式技术、TCP/IP网络传输技术等先进技术的应用级系统开发平台。系统采用模块化设计,易于扩展和移植。通过不同的信号处理算法,可对海量数据进行实时并行多任务处理。 1 系统整体方案 实现数据实时并行处理的关键在于信号处理器的选择[1]。选用信号处理器必须兼顾数据处理的复杂性和实时性要求。DSP微处理器能够实时高效地完成声纳信号或雷达信号处理中的波束形成、数字滤波、线普增强、数值内插等多种复杂的数值运算,而且它体积小、应用灵活、匹配器件丰富。因此本文选用DSP芯片作为通用信号处理平台的数据处理中心。 图1中DSP阵列机由多块基于VME总线的DSP并行信号处理板构成,处理板的数目可依照信号通道数目增减。由此可见,DSP并行信号处理板的设计是DSP阵列机设计的基础,亦即通用信号处理平台设计的基础。 本文设计的通用信号处理板将AD公司高性能的浮点数字信号处理器ADSP21160ADSP21160与标准VME总线相结合,具有强大的信号处理能力和丰富的扩展能力。板内采用分布式存储模式,以增强型超立方体拓扑结构的LINK口互连。这种结构使每个信号处理器都有专用的存储空间,可以使每个信号处理器充分利用自身局部总线的带宽,而LINK口可保证处理器间灵活、高速的通讯和连接;每个信号处理器分别通过前面板和背板提供LINK接口,以实现板间的高速连接并构成新的超立方体结构;信号处理板上安装有FPDP子板,与多通道前置处理机中的数据采集模块构成标准高速连接,同时也可与市场上的信号处理板兼容。通用信号处理板的结构框图如图2所示。 为了完成海量数据的并行处理,在图2所示的通用信号处理板中采用了两组共8片SHARC(Super Harvad Architecture Computer)级DSP处理器,每个处理器配有专用SRAM。之所以采用SHARC级处理器是由于其具有独特的内核设计、超级哈佛体系结构、内部集成大容量双端口RAM以及便捷的I/O通讯功能。这些特点使其在运算密集、数据吞吐量大的高端信号处理领域得到了广泛应用。 系统中8片DSP分为两组,组1由DSP0、DSP1、DSP2、DSP3构成,组2由DSP4、DSP5、DSP6、DSP7组成。只有DSP0可以通过局部总线接口与VME总线相连。它作为总线至板内的通路,配备有大容量DRAM。DSP4作为第二组的主节点,也配有大容量DRAM。 2.1 数据传输方式 SHARC级DSP处理器具有多种数据通信接口,如LINK口、串口以及JTAG口等,设计时可依照信息传输目的灵活应用。 在通用信号处理板设计中,LINK口是板内和板外的主要数据传输通路,精心设计LINK口的拓扑结构对提高板内甚至系统的并行性有着重要意义。超立方体结构以多维形式极大地增强了网络通信能力[2]。该结构的优点是网络全对称,在节点连接、通信路径长度、算法的嵌入、与其他连接形式的兼容之间提供了很好的平衡。在两组DSP中,组内DSP两两互连,组间相对应的DSP两两相连。每个DSP有6个LINK口,其中4个进行板内互连,一个通过前面板与相邻板相连,一个通过背板与相邻板相连。 DSP处理器有两个串口可用于处理器之间、处理器与外设之间的通信,通常使用点对点方式或TDMA方式。在通用信号处理板上,每个处理器分配一个串口至前面板,另一个连接至背板。这样的连接结构是为了增加互连的灵活性,通过前面板或背板可进行板与板或板内处理器之间的串口连接。 JTAG口主要提供硬件仿真器调试通路。在板内通过跳线,可控制调试处理器的数量。此外,在通用信号处理板上还通过FPDP子板与前级板连接,从而实现与前级板的高速数据通信,并可组成大型信号处理平台。 2.2 VME总线接口 处理板的VME总线接口包括两部分:用于DSP局部总线与VME总线信号调理的协调模块和VME桥接模块。协调模块基于CPLD设计,主要完成DSP局部总线的控制,它由局部总线仲裁、双向地址空间映射、读写时序控制、数据宽度控制、自动基地址控制、块传输模式地址计数器、内部中断管理、测试接口等部分组成;桥接模块主要由VME桥接专用芯片Tundra SCV64及其外围电路构成[3]。SCV64可提供主/从接口,符合VME64标准。在系统初始化时,DSP0首先对SCV64进行配置,包括传输模式控制、基地址配置、VME总线中断处理器设置、块传输控制、内部定时器设置等,信号处理板可通过VME总线进行通信。 2.3 时钟驱动 在通用信号处理板中时钟共有三种:DSP时钟、DRAM时钟、SCV64时钟。其中DSP时钟频率为40MHz,两组DSP时钟可以有两组时钟驱动器且时钟可以不同步;DRAM时钟用来控制DRAM内部的状态机,其选用的时钟频率也为40MHz,且不需要与DSP时钟同步;SCV64需要大于32MHz的时钟才能可靠工作,同时需要与DSP时钟同步,在通用信号处理板中选用的SCV64SCV64时钟频率是40MHz。 2.4 信号处理板启动过程 单板启动时,DSP0首先通过EPROM方式启动,然后由DSP0再对其余DSP进行启动。在对板内其余DSP启动时采用LINK口菊花链方式, 首先采用一点对多点方式启动,即启动组内另三个DSP和邻组对应的DSP(即第二组的主节点DSP4);然后由DSP4采用一点对多点的方式启动第二组内的其余DSP。 2.5 板内软件开发 通用信号处理板软件开发主要涉及三部分内容:板级启动程序、基于VxWorks的系统驱动程序以及DSP网络开发环境。板级启动程序是指在信号处理板启动时,DSP0对其余DSP的启动操作程序、DSP0对SCV64和CPLD的初始化操作程序以及板内自检程序等。系统驱动程序主要完成VME 桥接芯片的配置、对信号处理板的监测、总线资源的独占、板内资源的读写、对各个中断源的响应和处理、块传输模式控制以及与应用程序的接口等。DSP网络开发环境有两种:一种是基于硬件方式,单板调试8片DSP或多板调试相连的DSP;另一种是基于软件方式,通常采用Spectrum 公司的APEX软件。 3 系统开发平台与VxWorks的应用 在通用信号处理平台中采用嵌入式实时操作系统VxWorks来完成实时、多任务工作。通常使用的VxWorks开发环境是WindRiver公司提供的Tornado4。Tornado体系结构使得许多强有力的开发工具可以用于各种目标机系统和各种主机-目标机的连接方式,而不受制于目标机的资源和通信机制。主机与目标机间的通信通过运行各自处理器上的代理进程完成。为了摆脱主机-目标机通信带宽和目标机资源的限制,Tornado将传统的目标机方的工具迁移到主机上。这样系统不再需要额外的时间和带宽在主机和目标机之间交换信息,降低了对连接带宽的需求,也避免了目标机资源(如内存)被工具或符号表大量占用,使得应用程序拥有更多的系统资源。 Tornado采用主机-目标机开发方式,主机系统可采用运行Sun Solaris、HP-UX以及WinXP/NT的工作站或个人计算机,VxWorks则运行在Intel x86、MC68K、PowerPC或SPARC等处理器上。Tornado支持各种主机-目标机连接方式,如以太网、串行线、在线仿真器等。 在通用信号处理系统的开发阶段也采用主机-目标机开发方式,开发平台的组成模块如图3所示。主机系统采用在Windows NT下运行Tornado的PC机;目标机为自行开发的基于VME总线的DSP阵列机,在该阵列机上运行VxWorks。主机和目标机之间以及主机和显控分系统之间以TCP/IP协议的以太网相接。 在图3中显控分系统通过以太网与VxWorks进行数据通信进而控制和协调整个平台的工作进程。对VxWorks而言,它采用中断方式响应显控分系统的请求。采用网络传输的目的在于满足资源共享的需要并提高数据传输的可靠性、增加系统的可扩充性。通过网络传输,其10Mbps~100Mbps的数据传输速率可满足显示实时性的要求。在通用信号处理平台开发阶段,VxWorks作为显控数据输出源,可指定它为服务器端;而基于Windows NT的显控分系统主要用于接收数据并进行显示,因此作为客户端是合适的。 在进行系统功能仿真实验时,通过多通道模拟数据源周期地发送6通道数据(每通道2048个数),在DSP阵列中同时对各通道数据进行FFT变换,然后将各通道的时域数据和频域数据打包通过以太网发送到显控分系统模块;显控分系统可同时对3个通道的时域波形和频域波形进行显示,通过软件设置可对显示通道进行切换,并可对显示曲线进行放大、缩小以及重要数据存储等操作。实验结果表明所设计的通用信号处理平台是成功的。 1 苏 涛吴顺军寥晓群.高性能数字信号处理器与高速实时信号处理. 西安:西安电子科技大学出版社1999 2 Analog Device Inc. ADSP21160 hardware design reference. 3 TundraInc.VME SCV64 Design reference 4 Wind River SystemInc.VxWorks Programmers Guide | |||
本文摘自《电子技术应用》 |
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。