在现代通信、雷达和声纳系统中,随着实时处理要求的不断提高,对数字信号处理系统也提出了更高的要求。板载多片高性能的DSP芯片CONTROL ENGINEERING China版权所有,配合大容量的SDRAM,可以很好地满足上述要求,并且已经成为了数字信号处理系统发展的趋势。采用CPCI总线集成系统,可以方便主机进行调试,控制和管理DSP系统。系统中的主机接口可以使主机通过CPCI总线访问板上的DSP和SDRAM芯片,这是多DSP系统设计的关键点之一。
不同于以往简单地使用一个CPLD进行粘合逻辑设计,本文提出了一种基于双状态机+Cache,预存预取的主机接口设计结构。在主机接口中设立了一个Cache,降低了CPCI总线与板上DSP和SDRAM芯片的耦合度,并且设计了两个独立状态机分别进行控制。这显著提高了主机访问DSP和SDRAM的速度,为DSP系统的应用提供了更广阔的平台。本文详细阐述了如何完成CPCI总线和DSP、SDRAM芯片间的数据传输,分析了设计难点,并给出了逻辑框图。
1 系统设计方案
图1是系统设计框
FPGA采用Xilinx公司的X2V1000控制工程网版权所有,它有近100万门的逻辑资源和720KB的BlockRAM,可以灵活搭建控制逻辑和Cache缓存。
DSP采用ADI公司的ADSP-TS201Swww.cechina.cn,共有4片,工作频率是600MHz,总共可以提供14.4GFLOPS的运算能力[1]。
SDRAM采用Hynix公司的HY57V561620C控制工程网版权所有,容量共有128MB,可以基本满足数据存储的要求。
2 FPGA的接口设计
2.1 FPGA在系统中的作用
FPGA主要实现如下功能接口:(1)DSP接口。提供一个PCI Local总线到DSP共享总线的界面控制工程网版权所有,完成两套总线之间的逻辑仲裁及读写控制信号等;(2)SDRAM接口。提供一个PCI Local总线到SDRAM总线的界面;(3)FLASH接口;(4)链路口;(5)Register管理模块。图2给出了FPGA的各种接口与系统其他部分的关系图。本文将重点讨论主机和DSP、SDRAM间的访问。
2.2 设计思想
PCI局部端的时钟是66MHz,而DSP共享总线为100MHz,时钟的不匹配会给逻辑设计提出很多时序方面的问题。另外,PCI局部端数据总线是32位,而SDRAM数据总线是64位,如何匹配数据宽度也是一个问题。而且PCI局部端和DSP、SDRAM在控制时序上也有很大差别。
图1中显示的是共享总线结构,DSP、SDRAM和FPGA都挂在DSP的外部总线上。DSP之间的通讯可以使用DSP总线;各个DSP访问SDRAM时,也要选择DSP总线;而且当主机访问DSP通讯时,也会不可避免地使用DSP总线。因此不难得出这样的结论:DSP总线将可能成为系统的瓶颈所在。所以在设计主机接口时,必须提高总线的使用效率,减少申请DSP总线的次数,每次申请使用DSP总线时都要尽可能多地传输数据。
在微处理器设计中,Cache被用来缓存数据、解决高速CPU访问低速存储器时的瓶颈问题。为了解决上述两大问题,在FPGA的设计中也采用了类似Cache的结构来隔离不同总线间的传输。在Cache的两边有两个状态机来控制Cache的读写和总线数据的访问。使用Cache后,DSP共享总线和PCI局部端总线将被去耦合,这样可以使两级总线的数据