实时图像处理技术在目标跟踪、机器人导航、辅助驾驶、智能交通监控中都得到越来越多的应用。由于图像处理的数据量大,数据处理相关性高,实时的应用环境决定严格的帧、场时间限制,因此实时图像处理系统必须具有强大的运算能力。各种高性能DSP不仅可以满足在运算性能方面的需要,而且由于DSP的可编程性,还可以在硬件一级获得系统设计的极大灵活性。为了获得足够的计算能力,我们以两片TMS320C6201作为系统的运算中心构筑了实时图像处理系统;为了获取最大的灵活性,在系统体系机构上采用了一种可重构的FPGA计算系统模型。
1 功能强大的TMS320C6x
TMS320C6x系列DSP是TI公司TMS320家族中最新推出的产品之一。由于应用一种高性能的先进VLIW(Very LONg INStruction Word)的VelociTITM体系结构,因此可以更好地应用在一些多通道多功能的系统中。
VelociTITM是一种提高处理器指令级并行程度的先进的VLIW技术。并行机制是使DSP的处理性能超过其它超标量结构的处理芯片的有力工具,正是由于在指令并行、流水结构、部件并行等方面的并行操作,使得TMS320C6x能够达到1600MIPS的运行速度。
TMS320C6x系列的DSP芯片结构不同于一般的DSP,属于类RISC结构,从而使它的C编译器具有很高的效率,因此称之为面向C语言结构的DSP芯片。这使得其在绝大多数应用中,可以采用C语言编写TMS320C6x程序,从而充分利用大量用C描述的算法程序,并获得远胜于传统DSP程序的可维护性、可移植性、可继承性,缩短开发周期。
2 FPGA计算系统模型
FPGA是二十世纪80年代后期出现的新型的大规模可编程器件,由逻辑单元和互连线网络两部分组成,两者均可编程。逻辑单元能完成一些基本操作。逻辑单元经互连线网络互连,通过对基本逻辑块和互连线网络编程,可以实现非常复杂的逻辑功能。由于FPGA是基于SRAM结构的器件,所有的可编程逻辑加载在芯片内部的SRAM上,因此可以通过一定的步骤在系统运行时进行编程来改变该器件的功能,从而实现更大的灵活性。
在通常的并行系统设计中,微处理器在空间维上是固定的,而在时间维上是可变的;而连接的专用芯片在空间维和时间维上都是固定的。这样的系统往往只能适用于特定应用场合下的特定算法。为了使系统具有更加优良的性能和灵活性,随着可编程器件FPGA的应用深入,一种新的通用处理模块结构呈现在我们面前--FPGA计算系统结构。
图1给出了抽象的FPGA计算系统模型,该模型由微处理器、FPGA以及存储器等三部分构成系统的核心。FPGA计算系统就是充分利用FPGA的高集成度和硬件可编程性在系统中用FPGA实现除了必要模块(如微处理器和存储器等)之外的其它逻辑和硬件互连,从而使系统具有空间上的可编程性。系统的空间可编程性是FPGA计算系统引入的新特征。它是指通过对FPGA的重新编程和配置来改变系统体系结构等一系列硬件逻辑结构。系统的空间可编程性是系统可重构的前提,它使得硬件系统的设计趋于软件编程化。然而需要指出的是,由于FPGA内部结构的完全分布性和内部单元的百分之百的互连连通性,系统的硬件互连编程不象由中央处理单元引起的软件编程那样可以充分总结指令集。但在具体的系统设计中,可以根据实际的数据流结构进行部分限制,这样可以为用户提供一些可选择的重构方案,方便用户使用。
|