微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 采用FPGA部分动态可重构方法的信号解调系统设计

采用FPGA部分动态可重构方法的信号解调系统设计

时间:06-05 来源:互联网 点击:

随着现代通信技术的迅速发展,信号的调制方式向多样化发展,解渊技术也随之不断向前发展。为了对高速大带宽的信号进行实时解调,现在很多的解调关键算法都是在高速硬件上用可编程逻辑器件(FPGA)实观,利用FPGA强大的资源和实时处理能力来快速的实现信号的跟踪、锁定和解调但是,基于硬件的实现方案和基于软件的方案相比,往往存在不能迅速适应调制样式改变的问题。为了有效斛决这个问题,笔者通过基下FPGA部分动态町重构技术,提出了相应的解决方案。

1 FPGA部分动态可重构技术介绍

从九零年代以来,随着FPGA芯片技术的逐步成熟和发展,FPGA在各个领域中的应用逐渐扩大,芯片内部的资源规模也成倍增加。但是,随着FPGA容量的扩大,FPGA的设计和实现也渐渐出现了下面的瓶颈问题:

1)FPGA芯片内部布线随着设计复杂度的增加,布线的难度成平方增加,布线的时间也成倍增加。

2)对于大容量的FPGA,为了保证设计时约定的性能,为了满足时序约束条件,最终实现版本的实际资源利用率反而下降。

3)大容量的FPGA一旦设计完成后,对其进行部分模块的调整和优化经常需要很长时间。

在此上述这些原因的基础上,FPGA的重配置技术应需而生。FPGA重配置技术分为完全重配置技术和部分动态可重构技术两种。其中FPGA完全重配置技术就是通过FPGA外部的配置处理单元,通过对FPGA配置管脚的编程,来实现整个FPGA内容的切换,这种方式在目前已经得到了较为广泛的应用。而FPGA部分动态可重构技术是通过FPGA内部或外部的配置处理单元,对FPGA内部部分资源的时分复用,来实现FPGA内部部分模块的切换。

对这两种配置技术进行比较,可以看到FPGA部分动态可重构技术的优势在于以下这些方面:

1)提高了配置速度。完全重配置需要配置整个FPGA的比特流文件,而部分动态可重构技术只需要配置相应模块的逻辑内容,文什大小相差悬殊,在相同的配置时钟频率下,部分动态可重构技术的配置速度是完全配置的几分之一或者几十分之一。

2)省略了完全配置后的复位、下达参数的流程。完全重配置在配置完成后,整个FPGA处于初始状态,需要重新对接口进行初始化,并配置运行参数。而部分动态可重构技术不用进行全局复位,下达参数也只需要针对重构的模块。

3)保存了FPGA运行的中间结果和数据。完全重配置很难保存FPGA运行的中间结果,如果外接DDR SDRAM等存储单元,也会因为接口的重新复位而导致数据混乱,而部分动态可重构技术完全不用担心这些问题。
部分动态可重构技术具有上述相对与完全重配置技术的优势外,也和完全重配置技术一样,具有低功耗和灵动性高的优点,并且具备远程加载功能,可以通过有线网络或者无线网络来实现超距环境下的FPGA功能变更。
部分动态可重构技术和完全重配置技术相比,对FPGA设计人员的开发能力和规划能力要求更高,下面通过对一个简单的数字信号解调系统,来给出部分动态可重构技术的实现途径。

2 FPGA部分动态可重构技术的硬件实现方案

FPGA部分动态可重构的硬件实现如图1所示,为了保证FPGA配置的可靠性,本文采用了FPGA外部单元控制配置流程的实现方式。一个基本的实现结构除了被配置的FPGA外,需要有配置控制模块、配置接口模块和配置存储模块这3个部分。其巾配置控制模块一般由DSP、单片机、ARM处理器或者PowerPC选择,主要功能是从配置存储模块或者外部接口中获取配置比特流文件,并在需要部分动态重构的时刻把配置比特流文件传送到配置接口模块。配置接口模块一般由FPGA或者CPLD实现,功能是接收配置控制模块传输的配置比特流,进行相应的时序转换,产生满足FPGA配置时序的信号,从而对FPGA进行配置。配置存储模块一般是FLASH或者SDRAM,可以长期或者临时保存多个配置比特流文件。

在图1的结构中,配置接口模块是实现的关键模块,根据配置速度和稳定性的要求,可以采用Slave SelectMap或者Slave Setial配置模式,从性能考虑,一般选择Slave SelectMap这种并行配置模式,在配置时钟最高50MHz、配置管脚32位的情况下,配置速度可以达到1.6Gb ps。在Slave SelectMap模式下,配置接口模块和FPGA的管脚连接可以参考XilinxVinex-5 Configuration User Guide中相应章节,本文不再赘述。并根据如图2所示的配置时序,来实现FPGA完全配置比特流文件的下载和功能实现。

在进行配置部分动态可重构比特流文件时,因为该比特流文件不像完整的配置比特流文件一样具有文件头,而是只有帧地址、配置数据及校验和,当所有配置内容传输到FPGA后,不会有DONE信号拉高来表示配置结束。在这种情况下,必须监视传输来的配置数据,当出现部分重配置文件的结束标志DESYNCH(0000000D)时,就可以判断部分重构流程结束,可以运行新的重构模块。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top