FPGA及动态可重构技术在软件无线电中的应用
时间:2023-09-29 10:34来源: 作者: 点击: 次摘 要: 介绍了将现场可编程门阵列()专用硬件处理器集成到软件通信体系结构">软件通信体系结构(SCA)中的机制,实现了动态部分可重构技术在软件无线电(SDR)硬件平台中的应用,有效地缩短系统开发周期,提高了硬件资源的利用率。
SDR是使用一个简单的终端设备通过软件重配置来支持不同种类的无线系统和服务(包括2G、3G移动通信系统和WLAN)的新技术。它具有较强的开放性和灵活性,硬件采用标准化、模块化结构,可以随着器件和技术的发展而更新和扩展;软件模块可以进行加载和更改,根据需要不断升级。软件无线电的结构如图1所示,主要分为实时信道数据处理部分、环境管理部分、系统分析和功能强化部分。实时信道数据处理部分包括A/D、D/A、变频、信道分离、调制解调以及码流处理等数据模块。
SDR的核心是联合战术无线电系统JTRS(Joint Tactical Radio System)的SCA规范,它对模块化可编程无线通信系统的硬件体系结构、软件体系结构和安全体系结构以及应用程序接口(API)规范进行了描述,同时引入了嵌入式微处理器系统、总线、操作系统、公共对象请求代理体系(CORBA)、面向对象的软件和硬件设计等一系列计算机技术,并采用了“波形应用”和“资源”可裁剪、可扩充的设计思想,从而保证了软件和硬件的可移植性和可配置性。
以接收机为例,SDR中A/D模块之后的部分通过软件来实现。本文在平台上实现信号的调制解调,以满足高速数字信号处理发展的需求。在Xilinx Virtex2Pro 硬件平台上实现了美国军方短波通信系统标准MIL-STD-188-110B调制解调器,其中引入了动态部分可重构技术,提高了配置速度和硬件资源的利用率。
满足SCA规范的波形组件之间通过CORBA总线通信,而FPGA平台的专用处理器要实现对CORBA的支持比较困难。本文利用SCA规范中的SHP组件兼容性补充协议CP289提出了这一问题的具体解决方案。
1 FPGA的动态部分可重构技术
FPGA的动态可重构技术是指对时序变化的数字逻辑系统,其时序逻辑的发生不是通过调用芯片内不同区域不同逻辑资源的组合实现,而是通过对具有专门缓存逻辑资源的FPGA进行局部或全局芯片逻辑的动态重构而实现。部分重构是指重构器件或系统的一部分,在此过程中,其余部分的工作状态不受影响。
FPGA部分可重构有多种实现方法,较为常用的是基于模块化设计方法和EAPR(Early Access Partial Reconfiguration)设计流程,后者较前者而言,是一种较新的设计方法,并且有相应的软件可以代替命令行方式进行实现,本文采取的就是这种实现方法。
图2所示为一个简单的基于EAPR设计流程生成的部分动态可重配置系统。整个系统划分出静态模块和动态模块,之间的通信通过总线宏来进行。该系统通过FPGA板子上的dip开关为输入引脚提供输入数据,确定计数器的初始值。通过下载不同部分的比特流可以实现加、减计数功能的动态切换。计数结果通过值传递模块接到FPGA板子上的LED管脚。整个设计过程可以概括为:
(1)模块划分:静态模块和动态模块;
(2)顶层模块与静态和动态子模块的设计及综合;
(3)编写初始用户约束文件,主要指定I/O管脚约束和时钟约束;
(4)在PlanAhead中进行EAPR设计:
①建立局部可重构工程;
②为每一个PRM定义可重配置实体;
③为PRM规定可重配置区域;
④放置总线宏和全局时钟逻辑;
⑤运行DRC检查;
⑥分别实现静态逻辑和PR模块;
⑦装配并生成全局和部分比特流。
2 基于FPGA的SDR硬件体系结构及DPR实现
Xilinx Virtex2Pro FPGA内含处理器,通过一定的软件编程,可根据环境及外部需求采用不同的调制解调算法处理通信系统中的数据。通过DPR技术,可以实时快速地调整算法中的参数或者实现不同算法之间的切换。
2.1 基于FPGA的SDR硬件平台
本文基于Xilinx Virtex2Pro FPGA,搭建的SDR硬件平台如图3所示。该系统以软核处理器 MicroBlaze为核心,DDR SDRAM Controller、OPB_HWICAP和UART Controller通过OPB总线与处理器通信。DDR SDRAM为片外处理器,UART为串口设备,ICAP为内部访问互连接口,主要用于部分重构。