当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Xilinx FPGA的嵌入式系统开发过程

摘要:围绕Xilinx公司FPGA中的MicroBlaze软核微处理器,对其体系结构、设计流程和相关开发工具进行了详细介绍,并且通过一个实例说明了以MicroBlaze软核处理器为内核的嵌入式系统的开发过程。
关键词:FPGA;MicroBlaze;嵌入式设计

引言
    随着FPGA技术的迅速发展,可编程片上系统(SOPC)作为一种特殊的嵌入式微处理器系统,融合了SoC和FPGA各自的优点,并具备软硬件在系统可编程、可裁减、可扩充、可升级的功能,已逐渐成为一个新兴的技术方向。SOPC的核心是在FPGA上实现的嵌入式微处理器核,目前主要有Xilinx公司集成的32位软核MicroBlaze,32位PowerPC系列处理器硬核PowerPC405、PowerPCA40,ARM公司的Cortex-A9,以及Altera公司的Nios系列微处理器软核等。本文主要介绍Xilinx公司的MicroBlaze软核结构,对其体系结构、设计流程和相关开发工具一一进行介绍,并在实际的无线电监测系统中采用此方案,构建了一个小型化、智能化、网络化的软件无线电处理平台。

1 MicroBlaze处理器结构
    MicroBlaze软核处理器是可配置的精简指令集(RISC)32位CPU,该RISC核针对Xilinx公司的FPGA芯片进行了优化。设计人员可以根据设计定制处理器的可选配置,根据版本的不同,配置不同的选项。该软核处理器具有以下几个方面的特征:
    ◆32个32位通用寄存器;
    ◆32位3个操作数的指令字,指令字有2种寻址模式;
    ◆分离的32位地址总线和数据总线;
    ◆具有高速的指令和数据缓存,3级和5级流水线操作;
    ◆灵活的总线结构,支持LMB、OPB、PLB、XCL、FSL片上总线接口等,新推出的系列还支持AXI总线接口;
    ◆支持MMU存储管理、FPU浮点单元、高速缓存、异常处理和调试逻辑等可根据性能需求和逻辑区域成本任意裁减的高级特性。
    MicroBlaze的这些特性极大地扩展了其应用范围,MicroBlaze处理器的内核仍在不断更新之中,目前使用的版本MicroBlaze v7.1,其内部架构如图1所示。

[!--empirenews.page--]
    图1中MicroBlaze处理器的外部接口定义如下:
    ①DPLB(Data Processor Local Bus)、DOPB(Data On—chip Peripheral Bus);数据接口,处理器本地总线,用于处理器与片内的设备数据交换。
    ②IPLB(Instruction Processor Local Bus)、IOPB(Instruction On-Chip Peripheral Bus):指令接口,用于指令读取通道。
    ③DLMB(Data Local Memory Bus):数据接口,本地存储器总线,用于高速数据交换。
    ④ILMB(Instruction Local Memory Bus);指令接口,实现高速指令读取。
    ⑤MFSL0~15(Main Fast Simple Link):FSL主设备数据接口,提供点对点数据通道;SFSL0~15(Slave FastSimple Link):FSL从设备点对点数据接口。
    ⑥DWFSL0~15:FSL主设备直接连接接口;DRFSL0~15:FSL从设备直接连接接口;
    ⑦IXCL(Instruction side Xilinx CacheLink interface)和DXCL(Data side Xilinx CacheLink interface):分别为指令高速缓存接口和数据高速缓存接口。

2 EDK工具开发流程
   
Xilinx公司嵌入式开发套件工具EDK(Embedded Development Kit)为用于开发基于MieroBlaze软核和PowerPC硬核处理器的SOPC系统提供了一个很好的工具平台。Xilinx公司的EDK工具主要包含:Xilinx Platform Studio(XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP核、Platform Studio SDK(Software Development Kit,SDK)。XPS提供下面的特性:
    ◆能够添加核,编辑核参数,进行总线和信号连接,产生MHS文件;
    ◆能够产生和修改MSS文件;
    ◆支持Xilinx底层所有工具;
    ◆能够产生和观察系统块图和设计报告;
    ◆多用户软件应用支持;
    ◆项目管理;
    ◆过程和工具流程依赖管理。
    一个完整的嵌入式处理器系统设计通常包括3个部分:硬件系统的构建、软件系统及存储器映射、应用程序开发。
    硬件系统的构建是指设计人员根据应用的需要而使用Xilinx的技术建立灵活的嵌入式处理子系统。硬件平台是由一个或多个处理器或外设连接到处理器总线构成的,EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。
    软件系统及存储器映射是由软件驱动和用于建立应用程序的操作系统组成的。所建立的软件映像文件只包含用户所使用到的一部分Xili nx的库。EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。
    MHS和MSS数据文件定义了嵌入式系统,其开发流程如图2所示。



3 嵌入式系统应用设计
3.1 系统的硬件组成
   
本文以某智能无线电监测管控系统为例,采用基于FPGA的SOPC技术,选用的实验平台为Xilinx公司的XCAVSX35 FPGA开发平台。图3表示的是系统中嵌入式处理器的硬件组成,这些硬件除A/D转换模块、干扰机和控制中心外,都集成在一块FPGA评估板上。系统以带有32位Micro Blaze软核的FPGA作为控制中心,处理经A/D变换后的侦察信号数据,然后通过以太网将数据传送到控制中心,并从控制中心传回控制参数DDR_SDRAM作为片外存储器,用来弥补微处理器内部存储器容量小的缺点;CF卡存储系统软硬件的bit文件和网络配置文件;串口用来控制具有远程控制功能的侦察接收机,也可在调试时输出系统的运行信息。本文设计的嵌入式系统的各功能部件在FPGA内部都以IP核的形式构建并连接,包括DDC和FFT自定义的IP核,它们分别以PLB总线和FSL总线挂接在MicroBlaze上,较好地满足了智能无线电监测管控系统的硬件设计需求。

[!--empirenews.page--]
3.2 系统的软件设计
   
智能无线电监测管控系统的嵌入式软件包括嵌入式操作系统和网络应用程序。EDK集成了软件平台产生器、软件编译器和软件调试等工具,因此,软件设计也在EDK中进行。
    嵌入式操作系统是嵌入式软件技术的核心,介于嵌入式系统硬件和应用程序之间,负责调度并管理应用程序,完成对嵌入式系统硬件的控制和操作。嵌入式操作系统的选用主要考虑实时性、可靠性、功耗、可抑制性以及兼容性、软件开发难易程度等因素,本文选择Xilinx公司提供的实时操作系统Xilkernel来进行软件开发。
    嵌入式系统应用软件主要是接收客户端指令和发送数据给客户端,通信方式为TCP/IP的网络数据通信协议,网络通信应用程序采用顺序执行的结构方式。为了能够响应外围设备的中断请求,在程序中为多个外围设备提供了相应的中断服务程序。网络应用程序软件流程图如图4所示。


3.3 实验结果
   
系统使用ARONE接收机监测无线电信号,中频输出为10.7 MHz,A/D采集卡将采集的数据送入FPGA中,FPGA处理后将数据通过网络传输到PC机中,在PC机上开发网络客户端程序,对侦察的信号进行分析、记录、存储等操作。使用信号线将ARONE通信接收机输出端与A/D转换模块相连,A/D转换模块使用美国模拟器件公司的A/D转换器AD9460。在侦察接收机受控工作时,使用串口线将图3所示硬件系统与ARONE通信接收机串口输入相连;在侦察接收机自主工作和系统调试时,使用串口线将图3所示硬件系统与PC机相连,在超级终端中观看系统运行状态。将信号源与ARONE通信接收机信号输入端相连。将软硬件联合编译生成的bit文件下载到FPGA开发板上,在PC机上使用系统监测软件进行监测。图5是中频信号分析图,可得到信号电平大小、频率、带宽等信息;图6是频段扫描的频谱数据显示,在选定的频率范围内循环扫描,得到所有信号的电平、频率等信息。实验结果表明;通过合理规划FPGA资源和任务需要,在一块FPGA中实现了信号处理、接口与控制、网络数据传输的任务,能够很好地满足实际工程需要。



结语
   
本文介绍了一种基于FPGA的嵌入式系统设计,利用此嵌入式系统实现了某智能无线电监测管控系统信号的采集、处理、传输等功能。同时,基于FPGA IP核的设计,使各功能部件集中在FPGA芯片上,满足了系统对体积、成本、功耗和灵活性的要求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭