为了尽可能地获得高性能,我们提出以两个TMS320C62x为中央处理核心构成双DSP处理系统,由FPGA(这里采用ALTERA的FLEX系列)实现系统互连。系统分为处理器模块、FPGS组模块和各总线接口模块等,如图2所示。其中处理器模块包含TMS320C62x、内存空间以及相应逻辑。处理器作为最小处理单元模块而存在,可以完成相应的处理子任务。在我们的系统中设备了两个这样的处理子任务。在两个处理模块都是在系统核心FPGA控制下运行的。而FPGA作为系统中心,负责两个微处理器互相通信、互相协调以及它们与外界(这里通过主从总线和互连总线)的信息交换。同时,系统处理子任务可以由FPGA直接派发给处理器。灵活的FPGA体系结构设计是该系统有效性的保证。在实际应用中,可以根据系统的任务,通过配置FPGA控制两个微处理器按流水线方式运行,也可以控制它们按MIMD方式并行处理同一输入图像。为了提高数据交换的效率,在FPGA控制下的数据交换中心设置了灵活的系统存储空间。而这块存储空间与DSP的局部存储空间构成了一种分布共享式的结构。然而不同于一般的分布共享式存储结构的,我们的系统存储空间相对独立,不是直接挂接在各DSP的地址空间中,而是通过两者的HPI口进行互连。从严格意义上讲,这种结构不能算分布共享式存储结构,而应称之为一种松散的分布共享式存储结构。由于并行效率要求,我们将系统存储空间设置为两个Bank结构,两个Bank是独立控制和运行的,系统的实际框图见图3。
由于系统的互连、各个接口以及数据通道都是通过FPGA完成,并在FPGA内部实现除一些必要逻辑之外的其它所有逻辑,因此系统的重构非常方便。这是系统设计中的最大特点。另外系统还有其它几个优点:(1)系统可测性。由于所有的接口逻辑(包括微处理器以及板上其它接口)都由FPGA实现,并且由于系统实现主从接口逻辑,完全可通过软件获取系统内部运行的所有状态。在系统调试阶段,可以增加一些测试点和测试状态字节,相当于将该信息处理子系统在一个优良有数字测试环境下运行,使得系统的可测大大提高;(2)系统可裁减性。由于FPGA的实现完全类似于软件的编程工作,我们可以使系统设计变为软件模块的设计,模块化设计方法可以使系统具有功能的可裁减性。根据不同应用环境进行不同目标的设计将拥有不同的模块功能;(3)系统设计的方便性。由于FPGA系统的引入,我们可以改变以往的硬件设计方案和步骤,初步的硬件连线只需关注以往的硬件设计方法和步骤,初步的硬件加线只需关注系统外部特征、微处理器系统的可能控制线性,无需详细关注更多的细节,而在系统调试时才注意逻辑接口的具体功能,并且都在FPGA上完成,这使得系统设计的周期变短。本系统已成功地应用在智能移动机器人的实时视觉导航系统的,以得了满意的效果。