实时信号处理系统要求必须具有处理大数据量的能力,以保证系统的实时性;其次对系统的体积、功耗、稳定性等也有较严格的要求。实时信号处理算法中经常用到对图象的求和、求差运算,二维梯度运算,图象分割及区域特征提取等不同层次、不同种类的处理。其中有的运算本身结构比较简单,但是数据量大,计算速度要求高;有些处理对速度并没有特殊的要求,但计算方式和控制结构比较复杂,难以用纯硬件实现。因此,实时信号处理系统是对运算速度要求高、运算种类多的综合性信息处理系统。
1 信号处理系统的类型与常用处理机结构
根据信号处理系统在构成、处理能力以及计算问题到硬件结构映射方法的不同,将现代信号处理系统分为三大类:
·指令集结构(ISA)系统。在由各种微处理器、DSP处理器或专用指令集处理器等组成的信号处理系统中,都需要通过系统中的处理器所提供的指令系统(或微代码)来描述各种算法,并在指令部件的控制下完成对各种可计算问题的求解。
·硬连线结构系统。主要是指由专用集成电路(ASIC)构成的系统,其基本特征是功能固定、通常用于完成特定的算法,这种系统适合于实现功能固定和数据结构明确的计算问题。不足之处主要在于:设计周期长、成本高,且没有可编程性,可扩展性差。
·可重构系统。基本特征是系统中有一个或多个可重构器件(如FPGA),可重构处理器之间或可重构处理器与ISA结构处理器之间通过互连结构构成一个完整的计算系统。
从系统信号处理系统的构成方式来看,常用的处理机结构有下面几种:单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流多数据流(MIMD)。
·SISD结构通常由一个处理器和一个存贮器组成,它通过执行单一的指令流对单一的数据流进行操作,指令按顺序读取,数据在每一时刻也只能读取一个。弱点是单片处理器处理能力有限,同时,这种结构也没有发挥数据处理中的并行性潜力,所以在实时系统或高速系统中,很少采用SISD结构。
· SIMD结构系统由一个控制器、多个处理器、多个存贮模块和一个互连网络组成。所有“活动的”处理器在同一时刻执行同一条指令,但每个处理器执行这条指令时所用的数据是从它本身的存储模块中读取的。对操作种类多的算法,当要求存取全局数据或对于不同的数据要求做不同的处理时,它是无法独立胜任的。另外,SIMD 一般都要求有较多的处理单元和极高的I/O吞吐率,如果系统中没有足够多的适合SIMD 处理的任务,采用SIMD 是不合算的。
· MIMD结构就是通常所指的多处理机,典型的MIMD系统由多台处理机、多个存储模块和一个互连网络组成,每台处理机执行自己的指令,操作数也是各取各的。MIMD结构中每个处理器都可以单独编程,因而这种结构的可编程能力是最强的。但由于要用大量的硬件资源解决可编程问题,硬件利用率不高。
2 DSP+ASIC结构
随着大规模可编程器件的发展,采用DSP+ASIC结构的信号处理系统显示出了其优越性,正逐步得到重视。与通用集成电路相比,ASIC芯片具有体积小、重量轻、功耗低、可靠性高等几个方面的优势,而且在大批量应用时,可降低成本。
现场可编程门阵列(FPGA)是在专用ASIC的基础上发展出来的,它克服了专用ASIC不够灵活的缺点。与其他中小规模集成电路相比,其优点主要在于它有很强的灵活性,即其内部的具体逻辑功能可以根据需要配置,对电路的修改和维护很方便。目前,FPGA的容量已经跨过了百万门级,使得FPGA成为解决系统级设计的重要选择方案之一。
DSP+FPGA结构最大的特点是结构灵活,有较强的通用性,适于模块化设计,从而能够提高算法效率;同时其开发周期较短,系统易于维护和扩展,适合于实时信号处理。
实时信号处理系统中,低层的信号预处理算法处理的数据量大,对处理速度的要求高,但运算结构相对比较简单,适于用FPGA进行硬件实现,这样能同时兼顾速度及灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适于用运算速度高、寻址方式灵活、通信机制强大的DSP芯片来实现。
3 线性流水阵列结构
在我们的工作中,设计并实现了一种实时信号处理结构。它采用模块化设计和线性流水阵列结构。
这种线性流水阵列结构具有如下特点:
·接口简单。各处理单元(PU)之间采用统一的外部接口。
·易于扩充和维护。各个PU的内部结构完全相同,而且外部接口统一,所以系统很容易根据需要进行硬件的配置和扩充。当某个模块出现故障时,也易于更换。
·处理模块的规范结构能够支持多种处理模式,可以适应不同的处理算法。
作者:来晓岚 赵佳明 卢焕 来源:电子技术应用