首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

DSP EMIF与FPGA双口RAM高速通信实现

DSP EMIF与FPGA双口RAM高速通信实现

随着电子技术的飞速发展,电子系统的信息量和数据量也随之巨增,这就对系统的信息处理与传输能力有更高的要求。在信号处理系统方面,随着大规 模可编程器件的发展,并广泛应用于各种信号处理中,现阶段信号处理采用DSP+FPGA 结构的信号处理系统显示出了其优越性,正逐步得到重视并广泛应用。FPGA 是在专用ASIC 的基础上发展出来的,它克服了专用ASIC 不够灵活的缺点,与其他中小规模集成电路相比,其优点主要在于它有很强的灵活性,即其内部的具体逻辑功能可以根据需要配置,对电路的修改和维护很方便,而 且在大批量应用时,可降低成本。
  DSP+FPGA 结构最大的特点是结构灵活,有较强的通用性,适于模块化设计,从而能够提高算法效率;同时其开发周较短,系统易于维护和扩展,适合于实时信号处理。而要想 实现DSP+FPGA 结构的正确应用,先要实现DSP和FPGA之间的通信桥梁,也就是首先要解决两者之间的通信问题,即接口设计,本文提出一种DSP和FPGA之间的通信方 式。
  1 FPGA内部双口RAM配置
  本设计采用Xilinx公司的Virtex5系列的FPGA器件,在该器件内部集成有块存储器资源,该存储器资源可配置成单口RAM 、简单双端口RAM 、真正双端口RAM、速度性能可以达到450 MHz,数据位宽也可以根据不同的应用场合配置为8位、16位、32位、64位。
  由于要实现数据的双向传输,所以该设计将FPGA内部的块存储器配置为真正的双端口RAM。真正的双端口RAM 有两个完全独立的端口(端口A和端口B)用于访问共享的存储空间。双口RAM的每个端口有各自的数据线、地址线、读写控制线,可以允许不同的系统同时对其 共享的存储空间进行访问,本文就实现了用DSP和FPGA对FPGA内部的双口RAM共享的存储空间进行访问。
  Xilinx公司的IP核生成工具CORE Generator可以使用FPGA内部的块存储器,并按所需要的存储器类型配置为所需要的真正双端口RAM,数据位宽为32位,存储深度根据需要配置。配置双口RAM的过程和配置好的双端口RAM 原理图符号如图1所示。


  2 DSP EMIF接口介绍
  EMIF是外部存储器和TMS320C6455片内单元间之间的接口,CPU访问片外存储器时必须通过EMIF接口,要实现DSP访问 FPGA内部双口RAM,必须通过EMIF接口与FPGA内部RAM相对应的管脚对应起来,EMIF接口与FPGA内部双口RAM连接如图2所示。


  由上面的配置可以知道FPGA内部双口RAM有两个端口(端口A和端口B)共享一个存储空间,为了实现FPGA与DSP的正确通信,首先要实 现两者之间的物理连接,将双口RAM的端口A用于DSP通过EMIF接口来访问FPGA内部RAM,端口B用于FPGA自己访问该RAM的端口。也就是 DSP通过端口A来访问共享的存储空间, FPGA在内部通过端口B来访问同样的存储空间,其中,EMIF的数据线要通过一个选择器分别连接到双口RAM的数据输入端口和数据输出端口,由SOE信 号对数据的传输方向进行控制,EMIF接口的地址线也要和双口RAM的端口A的地址线连接,EMIF接口的时钟输出信号ECLKOUT1与双口RAM的时 钟信号引脚连接,SADS、SWE、CE、BE信号经FPGA内部的组合逻辑电路与双口RAM相应信号相连,以实现对FPGA内部双口RAM的读写功能。   
继承事业,薪火相传
返回列表