基于AD9371及Zynq-7000的软件无线电硬件平台设计
2021-07-30刘宁宁蒋文吉成章刘静娴
刘宁宁,蒋文吉,成章,刘静娴
(中国电子科技集团公司第二十九研究所,四川成都 610036)
软件无线电(SDR)的概念最早是由美国MITRE公司的Joseph Mitola 博士于1992 年提出的。他指出,软件无线电是多频段无线电,具有宽带天线、射频前端、AD/DA 变换等功能,能够支持多种空中接口及通信协议。而且在理想状态下,所有方面(包括物理接口)都可以通过软件来进行定义。软件无线电的概念经过20 多年的推广和全世界的深入研究,不仅得到了全世界的普遍认可,而且已经在通信、雷达、数据链、电子战、广播电视等领域获得了广泛应用。
近些年来,随着电子计算机技术及移动互联网产业的快速发展,人们在日常的工作及生活中对信息化的需求也越来越高,如无线上网、移动支付功能、远程医疗诊断服务、远程无线视频会议等。这些需求不仅需要通信设备对语音、数据、图像和视频进行传输和处理,而且对通信平台的信号带宽及通道数量提出了更高的要求。与此同时,随着移动互联网技术的发展,移动通信技术已经从第一代模拟系统发展到目前关于5G 系统的研制及大量商用化。然而,随着各种新的标准及协议的陆续发布,无线系统制造商和通信运营商必须通过更换基站基础设施来满足用户的新需求,这就造成了硬件设备的不断重新设计及更新换代,造成成本和资源的浪费,也增加了用户的使用成本。所以,如果开发出一款通用化、标准化、模块化并对各种信号波形具有广泛适应性的软件无线电通用硬件平台,就可以通过软件重构(升级)来实现灵活多变的通信体制及具有通信功能的无线电系统[1],这种技术思路不仅可以大大降低通信基站等硬件基础设备的升级成本,也可以极大地缩短新技术的迭代和应用周期,从而为用户提供更高质量的移动通信新业务及服务。
1 硬件平台总体方案设计
1.1 硬件平台总体架构设计
现阶段常用的软件无线电通信平台常采用超外差和零中频两种架构来实现。超外差架构的硬件设计方案存在不可在线编程、扩展性差、体积大、功耗高等缺陷[2]。零中频的硬件设计方案现阶段常采用ADI 公司的捷变频收发器芯片AD9361 来实现。AD9361 接收带宽最高支持56 MHz[3],已渐渐不能满足目前最新宽带通信的要求。其次,AD9361 数据通信接口采用LVDS接口,最大速率支持1 Gbps;与目前主流的JESD204B 接口相比,速度较低,增加了数字前端处理器的I/O 接口数量及硬件设计的复杂性。再次,AD9361 的镜像抑制大于40 dB,相比而言,AD9371 的镜像抑制可达70 dB 以上。
基于以上原因,文中提出了一种基于ADI 公司的集成RF 芯片AD9371 和Xilinx Zynq-7000 FPGA的多通道通用软件无线电硬件平台设计方案,硬件平台原理框图如图1 所示。该硬件方案以AD9371和Zynq-7000 系列的XC7Z045 为核心电路,其工作频率范围为300 MHz~6 GHz,包含2 路发射通道和2路接收通道功能的MIMO 收发器,可支持FDD 及TDD 两种工作模式。工程设计人员通过软件的动态重构可适应多种通信体制和通信功能。该硬件平台的电路单元包括射频收发单元AD9371 电路、以Zynq-7000 FPGA XC7Z045 为核心的数字信号处理电路、时钟锁相电路单元、DDR3 存储电路、电源转换网络相关电路及接口电路等[4]。
图1 硬件平台原理框图
1.2 主要硬件电路单元的设计与实现
1.2.1 射频收发器单元AD9371电路的设计与实现
射频收发电路主要由一片AD9371 芯片、巴伦转换、匹配滤波网络构成,其功能为完成2 路发射信号和2 路接收信号的射频信号调理。AD9371 的射频信号输入端要求输入信号为差分信号,所以射频信号经过前端的巴伦转换,可以实现射频信号单端与差分之间的变换,从而实现射频信号对外的单端射频输入及输出。在接收端,AD9371 将信号进行放大、下变频、中频滤波及A/D 转换等处理,从而将射频信号转换为数字信号;在发射端,AD9371 将数字信号进行数字滤波、D/A 转换、滤波、上变频及放大后转换为RF 射频信号,然后进行输出[5]。
AD9371 是一款高度集成的宽带RF 收发器,该款芯片具有双通道发射器、双通道接收器、模拟混频器、数字信号处理等功能。其输入及输出频率范围为300 MHz~6 GHz,发射带宽最高支持250 MHz,接收带宽最高支持100 MHz,支持多种工作模式。此外,该款IC 还包含2 路带宽高达250 MHz 的观测接收器单元、3 路嗅探器接收器、射频放大器、模拟滤波器、模拟锁相环单元、混频滤器、调制解调器、自动增益控制(AGC)、ADC 单元、DAC 单元、FIR 数字滤波单元、JESD204B 及SPI 接口单元等。高速JESD204B接口支持最高6 144 Mbps的通道速率。此外,该芯片还集成了一些辅助功能,如辅助模数转换器(ADC),辅助数模转换器(DAC)和通用输入/输出(GPIO),可提供额外的监控和控制功能。该芯片具有高集成性、高灵活性等特点,可以取代或消除多达20 个分立无线电器件[6-7]。AD9371 的功能框图如图2 所示。
图2 AD9371功能框图
1.2.2 基于Zynq-7000 FPGA数字基带信号处理电路实现
数字基带处理单元主要由XC7Z045、DDR3 存储器、QSPI FLASH、千兆以太网接口等电路单元组成,主要完成数字基带信号的滤波、调制解调等信号处理算法。此外,数字基带处理单元还完成如AD9371、时钟锁相器、千兆网等对外接口的控制功能以及数据存储等功能。
文中数字信号处理单元选用了Xilinx公司Zynq-7000 系列的XC7Z045 作为核心处理器。Zynq-7000系列基于Xilinx 全可编程的可扩展处理平台(Extensible Processing Platform,EPP)结构,该结构在单个芯片内集成了双核ARM Cortex-A9 的硬核处理系统(Processing System,PS)和Xilinx 可编程逻辑(Programmable Logic,PL)系统,Zynq-7000 的原理框图如图3 所示[8-9]。Zynq-7000 FPGA 内部的PS 与LP之间通过片内集成的高速AXI 总线实现数据交换,其数据吞吐量可高达数十千兆每秒,这个数据交换速率可满足软件无线电应用中的宽带数据交换要求。与传统FPGA 和SOC 相比,Zynq-7000 结构具有软件、硬件和I/O 的可编程特性,其优点是可以将定制逻辑和软件分别映射到PL 和PS 中,从而可以实现独一无二和具有差异化的功能[10]。
图3 Zynq-7000原理框图
1.2.3 主要接口电路设计
该设计的主要接口电路包括AD9371 射频输入接口电路、AD9371 射频输出接口电路及AD9371 与Zynq-7000 FPGA 的接口电路等。其中,AD9371 射频输入接口电路和射频输出接口电路主要包括巴伦及匹配滤波网络,AD9371 与Zynq-7000 FPGA 的接口电路包括JESD204B 接口、SPI 接口及GPIO 等。JESD204B 接口主要实现AD9371 与Zynq-7000 FPGA 之间的数据传输,设计采用4 LANE 接收和4 LANE 发送,支持最高速率为6 144 Mbps。SPI、GPIO为AD9371 的配置管理接口,通过FPGA 对AD9371进行配置管理[11]。
1.2.4 时钟管理单元电路设计
该模块所需的时钟包含以下几部分,一是和AD9371 内部采样及本振相关的Device Clock 和SYSREF 时钟;二是与Zynq-7000 JESD204B 接口相关的Device Clock 和SYSREF 时钟;三是与Zynq-7000 FPGA 相关的逻辑时钟和处理时钟。该方案采用可配置的多通道输出锁相环芯片LMK04828实现时钟网络的管理和分配[12-13],通过外部参考频率100 MHz 产生各路时钟。模块的时钟管理设计如图4 所示。
图4 时钟管理单元电路设计
2 硬件功能的设计与实现
2.1 系统组成与功能实现
该设计的主要软件程序设计是在Zynq-7000 FPGA 中实现的,并使用Xilinx 公司提供的Vivado 2016.2 开发套件进行程序开发。Vivado 2016.2 开发套件由两部分组成:1)Vivado 主环境,与传统FPGA设计环境及方式相同,主要完成与PL 相关的数据接口控制、数字滤波、信号调制解调等设计;2)SDK 软件辅助设计环境,主要完成与PS 层ARM 相关的设计、用户协议及算法、控制线程、调试程序、存储器读写程序、千兆网等外设接口程序,也包括AD9371 寄存器的SPI 配置等功能[14-15]。文中设计的软件功能模块及功能实现框图如图5 所示。
图5 软件功能模块及功能实现框图
2.2 接收通道功能实现
接收通道AD9371 寄存器配置通过Zynq-7000 FPGA 中的PS 来完成,其配置参数的选择如RF 输入频率、信号带宽、ADC 采样速率、下变频本振(LO)频率、AGC 参数、滤波器参数、JESD204B 速率及通道数参数等可通过ADI 公司提供的AD9371 Transceiver Evaluation Software 工具进行评估设置,AD9371 接收通道参数评估设置如图6 所示。
图6 AD9371接收通道参数评估设置
数据接收通道的实现过程如下:射频输入信号经过巴伦及匹配滤波网络后进入AD9371,在AD9371 中对信号进行滤波、放大、下变频、A/D 采样及数字滤波器组处理后,通过JESD204B 高速串行接口将采样数据传输给信号处理单元中的Zynq-7000 FPGA(PL)进行数据处理、数字滤波,并将数据存入DDR3 高速存储器中。Zynq-7000 FPGA 中的PS 部分可通过DDR3 存储器完成配置命令的下发、采样数据的读取、完成与千兆网等外设接口相关的数据传输、通信及控制功能。
2.3 发射通道功能实现
发射通道AD9371 寄存器配置的原理及方法同接收通道,可通过评估软件对发射信号频率、发射信号带宽、D/A 采样速率、上变频本振(LO)频率等相关参数进行配置。数据发射通道的实现过程如下:首先,数字信号处理单元将需要发射的信息(如语音信号、图像或视频)经过信号处理并完成信号调制;然后,通过JESD204B 高速串行接口将信号传输到AD9371 电路单元。在AD9371 中,信号经过数字滤波器组处理后进行D/A 转换、射频滤波、上变频及功率放大后输出至接口电路。
3 软件无线电硬件平台测试验证
对基于AD9371 和Zynq-7000 FPGA 的多通道通用软件无线电硬件平台的功能进行测试验证如下:
在测试接收通道时,用信号源在输入通道输入正弦信号,通过Zynq SPI 口配置AD9371 的寄存器参数。在将接收通道的测试条件设置如下:RFLO=430 MHz,RF=480 MHz,fs=153.6 MHz,Pin=-15 dBm。借助Xilinx 公司的Vivado 获得接收通道的原始数据,利用Matlab 软件对采集到的原始数据做快速傅里叶变换(FFT)并进行频谱分析,最终得到的测试频谱如图7 所示,由频谱数据可知信号的性能可满足大部分工程应用需求。
图7 接收通道测试结果
在对发射通道进行测试时,通过Zynq SPI 口配置AD9371 的DAC 采样频率、本振频率、发射通道频率及放大器和滤波器等参数信息,用频率仪对输出的信号进行测试。发射通道为发射正弦波,频率为470 MHz 时的测试结果如图8 所示。
图8 发射通道测试结果
4 结束语
文中基于软件无线电的技术原理及思路,提出了一种基于AD9371 及Xilinx Zynq-7000 FPGA 的软件无线电通用硬件平台的设计方案及其关键技术的实现方法,并对接收通道和发射通道的硬件功能进行了测试和验证。从测试结果可知,该硬件平台的性能可满足大部分工程应用需求。基于该硬件平台,设计人员通过软件的动态重构可实现灵活多变的通信体制和通信功能,可广泛应用于移动互联网、军事通信、雷达系统及信息化物联网家电产品等领域。
目前,全世界在软件无线电领域取得了大量的研究成果,这些成果不仅在军事通信领域获得了广泛的应用,而且也极大地推动了移动互联网、大数据等技术的应用研究。这些技术不仅在4G 及5G 移动通信中被广泛应用,而且在未来的移动通信、物联网等领域会得到更为广泛的应用,将未来的移动通信技术及其相关的业务领域推向新高度。可以毫不夸张地说,随着计算机技术、信号处理、移动互联网及大数据等技术的迅猛发展,软件无线电将成为21 世纪对世界最具影响力的新兴科技之一[16-17]。