MicrOBlaze软核处理器在DAB发射机中的应用
引言
MicroBlaze嵌入式处理器软核是xilinx公司推出的基于FPGA的微处理器,它采用32位精简指令集(RISc)哈佛总线架构,具有运行速度快、占用资源少、可配置性强等优点。借助Xilinx EDK(嵌入式开发套件),用户可以灵活地选择外设、存储器和接口特性等组合,从而利用单个FPGA以最低的成本实现可编程片上系统。
数字音频广播(DAB)是继调幅、调频广播之后的第三代广播技术,与模拟广播相比音质更好、抗干扰性更强,频谱利用率更高。采用正交频分复用(OFDM)调制方式,具有抗多径干扰的能力,能以很高的频谱利用率实现高速数据传输。本文介绍了基于Pc和FPGA的DAB发射机设计,详细阐述了基于MicroBlaze软核处理器的片上系统设计及其在发射机芯片控制方面的应用。
MicroBlaze软核处理器的构建
MicroBlaze软核可以嵌入在virrex-II/4/5/6~Spartan,II/3等系列FPGA器件中,与其他外设IP核及用户的IP核一起构成片上系统(SoC)。用户可以根据其需要量身定制MicroBlaze软核,SoC技术有效降低了系统功耗,减少产品设计复杂性和开发成本。MicroBlaze软核的开发流程主要分为三个步骤:首先要搭建底层的硬件平台,包括构建MicroBlaze处理器,根据需要开发用户自定义IP核,将所需外设通过片内总线挂载在MicroBlaze处理器上:第二步是软件应用程序的开发,包括应用程序代码、库文件以及嵌入式操作系统的加载:最后将硬件比特流文件(由VHDL/Verilog语言生成)和软件应用程序(由c语言生成)合并成最终文件并下载到FPGA内运行。
Xilinx EDK的组件XPS (xilinxPlatform Studio)为MicroBlaze提供了集成开发环境。基于Xi~nx ML605开发套件,利用XPS软件,本文配置的MicroBhze结构框图如图1所示。各模块和连接总线介绍如下。
·SRSE用户自定义IP核:基于Xilinx Virtex PCIE 2.0集成块和DMA控制器的PCI Express总线驱动,实现pC与EPGA之间数据和命令传输,其读写速度可达400MB/s。
·dsp cw用户自定义IP核:FPGA片上程序,用于实现上位机输出的DAB基带信号与DAC输入信号的格式转换。本文通过MATLABSimulink调用Xilinx~件库生成VeriIoz代码,在硬件描述文件system.mhs中将dsp cw核与SRSE核相连接。
·块存储器BRAM:FPGA内部专用存储器模块,用于指令和数据的高速缓存。
·微处理器调试模块MDM:通过TTAG接口来调试微处理器系统,通过Xilinx P2P总线连接到处理器。
·LEDs/gpio/RS232 Uart核:基于ML605开发板的软核,用于板上LED、通用/Io等外设的控制。
·时钟发生器:内部集成锁相环(PLL)、数字时钟管理(DCM)和缓冲模块,最多可提供16路时钟输出供片内IP核和外设使用。
·快速单工链路总线(FsL):基于FIFO的单向点对点总线,异步模式可以实现不同时钟域的数据传输。本设计使用两条FSL总线(fsl0/1)实现SRSB定制IP核与MicroBlaze软核间命令的传输。
·数据本地存储器总线(DLMB):为处理器内核与快存储器(BRAM)之间提供专用的高速数据交换通道。
·指令本地存储器总线(ILMB):该总线与器件内部的块存储器(BRAM)相连,实现高速的指令读取。
·处理器本机总线(pLB):基于IBM CoreConnect总线架构,外围设备IP核(LEDs/gpio/RS232 Uart核)通过PLB总线挂载到MicroBlaze处理器上。
用户IP核与MicroBIaze处理器的互连
微处理器硬件规范(MHS)描述了系统IP元件、端口、属性、对应参数以及连接,是嵌入式系统硬件部分的主要源文件。XPs软件将它与用户约束文件(.ucf)一起综合到硬件描述语言(HDL)网表文件,用于FPGA的布局布线。
本设计的硬件描述文件systern,mhs部分内容如图2所示,图2(a)描述了SRSE用户自定义IP核,参数部分描述了例化名和硬件版本号,总线部分描述了该IP核通过fsl v20总线与MicroBlaze软核相连:图2(b)描述了整个片上系统与FPGA硬件相连接的信号以及信号方向和线宽,这些端口在用户约束文件(.ucf)中与FPGA管脚相连接:图2(c)描述了dsp cw用户自定义IP核的属性。硬件描述文件MHS中信号名(PORT语句,等号右边)是可以任意取的,如果相同表示它们把两个端口相连接。如图20)中SRSE核的PCIE端口(pci-exp-txp/…/sys reset n)通过相同的信号名连接到图2(b)的FPGA硬件端口,DSP端口(clk200/CE//TX_DATA)通过相同的名字连接到dsp cw用户自定义IP核。
MicroBIaze在DAB发射机中的应用
DAB发射机实现方案
基于pc和FPGA的射频发射机实现方案如图3所示。DAB基带信号的编码与调制在PC上实现、这大大减轻了FPGA的负担,降低了信号处理的复杂程度和系统的成本:FPGA片上系统实现数据收发、格式转换和系统控制:射频子卡实现DAB基带信号正交调制与发射。该方案以较低的成本实现了III波段DAB发射机,各模块功能描述如下。
·CKC mmbTools La 2是加拿大通信研究中心(cRC)开发的基于Linux系统的开源DAB信号处理软件,该工具可以把音频和图像等源文件转化为符合DAB标准的基带信号。该工具由CRC-DAB MUX/MOD/PLUS/RMS等模块组成、其中复用模块(DABMUX)将音频和数据转换为ETI数据流,调制模块(DABMOD)输出符合Eureka-147标准模式2的DAB基带OFDM信号。
·Linux驱动包括应用程序接口(API)和PCIE驱动,前者实现DAB基带信号数据流的导入,后者负责PC与FPGA之间的PCIE总线数据传输。
·FPGA片上系统实现数据的收发和发射机控制。PCIE软核由XilinxVirtex-6 PCIE集成块和DMA控制器组成,实现高速数据传输;数据转换模块提取来自上位机的数据流中的I/Q信号,并进行格式转换,然后送至
数模转换(DAC)芯片;MicroBIaze处理器用于外围芯片的配置和控制。
·射频卡先将DAC输出的I/Q两路信号放大,然后进行正交调制和功率放大。本设计DAC芯片采用AD9857,其输出为电流信号:差分放大器AD8132将电流输入信号转化为电压输出信号:正交调制器采用AD8345芯片,可实现140~1000MHz频率的调制,完整地覆盖了DAB波段III(174~240MHz);锁相环(PLL)采用ADF4350芯片,可提供137,54400MHz的本振信号:功放芯片为ADL5602,增益20dB,功率约为1mW。
上位机与MicroBIaze软核的通信
PCI Express总线可以实现上位机与FPGA之间高速数据流和低速控制命令的传输。高速数据流用于PC与FPGA之间DAB基带信号的传输:控制命令的传输建立了上位机与MicfoBIaze处理器的通信机制,使用户可以在上位机Linux终端控制MicroBlaze软核的寄存器、改善了人机交互界面。该机制的实现方式如图4所示。
控制命令传输的本质是上位机PCIE驱动对FPGA上DMA(直接存储器访问)寄存器的读写操作。PC端驱动程序的PC2SRSC寄存器用来存取写入MicroBlaze的32位控制命令、SRS2PCC寄存器存储来自MicroBlaze的命令。FpGA中的SRSE用户自定义IP核由XilinxVirtex-6 PCIE软核、DMA引擎和FIFO组成:PCIE软核处理总线协议,DMA引擎实现FIFO与PCIE核的高速数据交换。驱动程序通过PCIE总线将PC2SRSC寄存器值从PC端写入DMA寄存器;同样地,DMA引擎将SRS2PCC寄存器值写入PC端。FSL总线适用于时间要求高的用户自定义IP核与MicroBlaze软核连接,实现主从设备间数据传输。由于FSL是单向点对点通信,故需要两条FSL总线实现PC2SRSC/SRS2PCC寄存器与MicroBlaze软核的互连。另外,SRSE核时钟为250MHz,MicroBlaze软核时钟为IOOMHz,异步模式的FSL总线实现了不同时钟域数据的交换。
MicroBlaze对DAB发射机中的控制
本设计通过MicroBlaze软核实现DAC芯片的配置和锁相环(pLL)芯片频率的控制,其连接图如图s所示。AD9857有三种工作模式:正交调制、单音DDS和内插DAC模式,本文采用内插DAC模式,该模式下仅有通道工作,来自并口的14位数据经滤波和内插处理后由DAC模块输出模拟信号。MicroBlaze软核通过片内FSL总线实现对AD9857寄存器的读写。锁相环ADF43sO采用SPI串行接口,MicroBiaze软核只集成了IIC总线,故需要SCl8IS602芯片实现IIC总线与SPI桥的转换。MicroBlaze软核通过对ADF4350寄存器读写实现锁相环频率的控制,进而控制DAB发射机的发射频率。
软件平台开发与系统调试
Xilinx EDK的另一个组件SDK(软件开发包)提供了软件工程的开发环境,它基于Eclipse框架,具有功能完善的c/c++编辑和编译环境,可与XPS环境联合调试。本文的应用程序开发包括上位机与MicroBlaze软核通信和MicroBlaze软核对DAC以及PLL芯片的控制。
FPGA资源占用率
根据XPs设计报告显示,该FPGA片上系统共使用1766个SIices(编者注:切片),5308个查找表触发器,资源占用率为4%。这给其他设计留下了足够多的资源、下一步将在FPGA上实现DAB的基带信号处理。
结语
本文讨论了基于MicroBlaze软核处理器的片上系统设计,介绍了基于PC和FPGAI
推荐访问:发射 处理器 机中 MicrOBlaze DAB
上一篇:谈船舶机舱监测报警系统