一种基于FPGA的多DSP数据交换方法
2011-04-24吕卫国沈发江
吕卫国,沈发江,徐 伟
(江苏自动化研究所,江苏 连云港 222006)
随着数字化时代的来临,DSP的应用几乎遍及整个电子领域,在很多需要实时数据处理的场合,即使采用目前最先进的DSP芯片,单片处理器也无法满足大量数据实时处理的需求,往往需要多只DSP并行工作才能完成任务。例如在某水声信号处理系统中,由于前端有48通道的模拟信号采集数据,要完成信号的频率检测及方位计算,单片DSP是无法实现的。根据估算,单片DSP(TMS320C6713)只能实时计算6路信号的频率检测(FFT),那么48路信号做频率检测至少就需要8片DSP,再加上其他的一些运算,必须构建多于8片DSP的处理系统才能完成系统的需求,针对以上需求,本文建立了具有11片DSP的多DSP并行处理系统。
TMS320C6713作为一款高性能的 32-位浮点DSP,具有较强的数据处理能力,并具有低功耗、低成本的优点,适用于精度要求较高且成本控制较严的信号处理场合。其主频可达300MHz,指令周期3.3ns。为了加快处理速度,其内核采用4KB的一级程序缓存(Cache)、4KB的一级数据缓存、256KB的内部存储器,可动态分配64KB作为程序和数据共享的二级缓存。凭借二级高速缓存及VLIW架构,最高运算速度可达 2400MIPS/1800MFLOPS。同时,其内部的 2个同步缓冲串口(McBsp)作为芯片对外接口,能够配合芯片内部的EDMA通道,大大提高其数据处理的吞吐速度。虽然该芯片具有以上的优点,但也存在着外设端口单一,多芯片之间通信方式不够灵活等缺点,这样不利于多 DSP系统建立后数据处理任务的分配和协作。为了解决这一问题,就必须研究多DSP并行数据处理过程中数据在不同DSP之间的交换技术,以便实现多DSP并行处理系统中的运算负载平衡,进一步提高效率。……
