基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf

上传人:b****2 文档编号:3177316 上传时间:2022-11-19 格式:PDF 页数:3 大小:144.06KB
下载 相关 举报
基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf_第1页
第1页 / 共3页
基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf_第2页
第2页 / 共3页
基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf

《基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf》由会员分享,可在线阅读,更多相关《基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf(3页珍藏版)》请在冰豆网上搜索。

基于MicroBlaze软核的FPGA片上系统设计1_精品文档.pdf

Xilinx公司的MicroBlaze32位软处理器核是支持CoreConnect总线的标准外设集合。

MicroBlaze处理器运行在l50MHz时钟下,可提供l25DMIPS的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。

1MicroBIaze的体系结构MicroBlaze是基于Xilinx公司FPGA的微处理器IP核,和其它外设IP核一起,可以完成可编程系统芯片(soPc)的设计。

MicroBlaze处理器采用RISC架构和哈佛结构的32位指令和数据总线,可以全速执行存储在片上存储器和外部存储器中的程序,并访问其中的数据,如图1所示。

指令端总线接口圉通用寄存器组3232bit数l秦DLMB总l霪而苦l理,通过外加控制逻辑,可以扩展外部中断。

利用微处理器调试模块(MDM)IP核,可通过JTAG接口来调试处理器系统。

多个MicroBlaze处理器可以用1个MDM来完成多处理器调试。

(4)快速单一链路接口MicroBlaze处理器具有8个输入和8个输出快速单一链路接口(FSL)。

FSL通道是专用于单一方向的点到点的数据流传输接口。

FLS和MicroBlaze的接口宽度是32位。

每一个FSL通道都可以发送和接收控制或数据字。

2CoreConnect技术CoreConnect是由IBM开发的片上总线通信链,它使多个芯片核相互连接成为一个完整的新芯片成为可能。

CoreConnect技术使整合变得更为容易,而且在标准产品平台设计中,处理器、系统以及外围的核可以重复使用,以达到更高的整体系统性能。

CoreConnect总线架构包括处理器本机总线(PLB),片上外围总线(OPB),1个总线桥,2个判优器,以及1个幽1MICroBIaze网币毒乏兰青框幽饭亩制苛仔葡LuuJ,H、玟,乙0re乙onnecl,H、绒朱州4所示。

xinx将为所有嵌入式处理器用户提供IBM

(1)内部结构CoreConnect许可,因为它是所有Xilinx嵌入式处理器设MicroBlaze内部有32个32位通用寄存器和2个32位计的基础。

MicroBlaze处理器使用了与IBMPowerPC相特殊寄存器一PC指针和MSR状态标志寄存器。

为了同的总线,用作外设。

虽然MicroBlaze软处理器完全独提高性能,MicroBlaze还具有指令和数据缓存。

所有的时钟周期1时钟周期2时钟周期3时钟周期4时钟周期5指令字长都是32位,有3个操作数和2种寻址模式。

指指令1取指译码执行令按功能划分有逻辑运算、算术运算、分支、存储器读指令2取指译码执行l写和特殊指今等。

指令执行的流水线是并行流水线,它指令3取指译码I执行1分为3级流水:

取指、译码和执行,如图2所示。

图2Micr0BIaze的流水线

(2)存储结构3124231615870MicroBlaze是一种大端存储系统处理器,使用如图3地址A的字所式的格式来访问存储器。

地址A的半字I地址A+2的半字f3、由新撺制和调试喜口地址A的字节l地址A+1的字节l地址A+2的字节I地址A+3的字节MicroBlaze可以响应软件和硬件中断,进行异常处图3大端数据格式52丰哼_J-入|;IL一____针二指令译码指a一黹=维普资讯http:

/新器件新技术由囱囱f判l处理器本机总线总线桥片上外围总线决丽I器ICoreConnect总线结构0cM接口APu接口IIIDCR图4CoreConnect总线架构立于PowerPC,但它让设计者可以选择芯片上的运行方式,包括一个嵌入式PowerPC,并共享它的外设。

(1)片上外设总线(OPB)内核通过片上外设总线(OPB)来访问低速和低性能的系统资源。

OPB是一种完全同步总线,它的功能处于一个单独的总线层级。

它不是直接连接到处理器内核的。

OPB接口提供分离的32位地址总线和32位数据总线。

处理器内核可以借助“PLBtoOPB”桥,通过OPB访问从外设。

作为OPB总线控制器的外设可以借助“OPBtoPLB”桥,通过PLB访问存储器。

(2)处理器本机总线(PLB)PLB接口为指令和数据一侧提供独立的32位地址和64位数据总线。

PLB支持具有PLB总线接口的主机和从机通过PLB信号连接来进行读写数据的传输。

总线架构支持多主从设备。

每一个PLB主机通过独立的地址总线、读数据总线和写数据总线与PLB连接。

PLB从机通过共享但分离的地址总线、读数据总线和写数据总线与PLB连接,对于每一个数据总线都有一个复杂的传输控制和状态信号。

为了允许主机通过竞争来获得总线的所有权,有一个中央判决机构来授权对PLB的访问。

(3)设备控制寄存器总线(DCR)设备控制寄存器总线(DCR)是为在CPU通用寄存器(GPRs)和DCR的从逻辑设备控制寄存器(DCRs)之间传输数据而设计的。

3MicroBIaze的开发应用EDK(嵌入式开发套件)可以进行MicroBlazeIP核的开发。

工具包中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试工具等。

EDK中提供一个集成开发环境XPS(Xilinx平台工作室),以便使用系统提供的所有工具,完成嵌入式系统开发的整个流程。

EDK中还带有一些外设接口的IP核,如LMB、OPB总线接口、外部存储控制器、SDRAM控制器、UART、中断控制器、定时器等。

利用这些资源,可以构建一个较为完善的嵌入式微处理器系统。

在FPGA上设计的嵌入式系统层次结构为5级。

可在最低层硬件资源上开发IP核,或利用已开发的IP核搭建嵌入式系统,这是硬件开发部分;开发IP核的设备驱动、应用接口(API)和应用层(算法),属软件开发内容。

利用MicroBlaze构建基本的嵌入式系统如图5所示。

通过标准总线接口一LMB总线和OPB总线的IP核,MicroBlaze就可以和各种外设IP核相连。

一粤雩i:

习而m总线,JLvlI线Il一图5系统框图EDK中提供的IP核均有相应的设备驱动和应用接口,使用者只需利用相应的函数库,就可以编写自己的应用软件和算法程序。

对于用户自己开发的IP核,需要自己编写相应的驱动和接口函数。

软件设计流程如图6所示。

鬟憷垂图6软件开发流程4MicroBIaze的应用在软件无线电系统中,一般采用“微处理器+协处理器”结构。

微处理器一般使用通用DsP,主要完成系统通信和基带处理等工作;协处理器用FPGA实现,主要完成同步和预处理等底层算法的运算任务。

在本课题中,采用的基带处理算法比较简单,应用软处理器IP核代替DSP,在一片FPGA内就能实现整个系统的设计。

这样可以简化系统的结构,提高系统的整体性能。

本课题的系统设计如图7和图8所示,FPGA片上系统主要完成两个任务发送和接收数据。

对于发送任务,FPGA完成硬件算法的初始化,接收串口数据,并将数据存储在双口SRAM中,系统硬件算法部分对双口SRAM中数据进行基带处理,并将结果送给DA转换器。

对于接收任务,FPGA接收AD转换器送来的数据,进行基带处理,并将数据存储在双口SRAM中,把存储在双口SRAM中的数据通过串口发送回主机。

啊MiIImEmbeddedsys咖s53维普资讯http:

/曲一-新器件新技术L一一厂弄数据包一l系统初始化I同步提取与跟踪=直扩码广r反序列,-x发生器l接收串口数据l接收AD数据跳频码、r、,序列愁H磊磊H发生器FPGA片上系统l读据Il读据I图7混合扩频数据通信系统的接收机原理框图I数据发送数据发送l、f,l到DA器件到串口ll”一Il”厂1DABPFFI直扩码l跳频码l南l序列l序列Il发生器I发生器IL__J图9软件流程图图8混合扩频数据通信系统的发射机原理框图在EDK开发套件的XPS集成开发环境下进行系统硬件设计。

在其界面环境下,添加IP核,进行系统连接和各项参数设置。

由于系统中包含的硬件算法模块不是标准模块,因此工程需要设置成子模块方式,利用平台产生器,根据硬件描述文件(MHS文件),生成嵌入式系统子模块的网表文件(NGC)。

然后在ISE设计环境下,从外部通过GPIO端口与硬件算法模块相连,从而构成整个应用系统的硬件模型。

在EDK中,每一个外设IP模块都有自己的软件函数库。

利用Libgen工具,将所需外设函数库的头文件添加进工程中,通过调用这些函数可以操作和控制这些外设。

例如对串口的操作如下。

初始化串口,设置波特率等参数,清空发送和接收缓冲,禁止中断;XUartLiteInitialiZe(&UART,XPARMYUARTLITE_DEVICE_IlD);发送接收数据XUartLiteSend(&UART,&senddata,1);XUartLiteRecv(&UART,&recv_data,1);使用标准C语言进行应用程序的开发,编写相应的算法软件,完成系统功能。

软件流程如图9所示。

将编写的程序代码利用mbgcc编译工具,根据系统的软件环境,生成ELF文件。

在编译链接之前,若选择调试方式,就会在生成文件中加入调试接口SMDstub,进行程序的硬件调试。

利用系统的硬件模型以及RAM块的组织结构文件、ELF文件和用户约束文件,应用FPGA综合实现工具(如到目标板上。

利用EDK中提供的GDB调试工具可以进行程序调试。

有两种调试方法:

软件仿真和硬件调试。

软件仿真可以进行程序的功能调试,在开发工具内部就可以进行,不需要硬件支持。

硬件调试就是通过JTAG接口或串口(可在硬件设计时选择),连接到目标板上的应用系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1