文档详情

基于MicroBlaze的嵌入式专业系统设计.doc

发布:2021-03-13约3.63千字共9页下载文档
文本预览下载声明
基于MicroBlaze 嵌入式系统设计 由? \o 浏览用户信息 技术编辑?于 星期二, 03/26/ - 23:06 发表 摘 要:当今时代,嵌入式系统已经无所不在,和大家日常生活息息相关。嵌入式系统以微处理器为关键,以计算机技术为基础,其关键特征是实时性强。据统计,现在世界上微处理器每十二个月生产总量95 %以上全部是面向嵌入式系统应用,围绕Xilinx 企业MicroBlaze 微处理器,对其体系结构、设计步骤和相关开发工具一一做出介绍,而且经过一个简单实例来说明以MicroBlaze 处理器为内核嵌入式系统开发过程。 1  MicroBlaze 处理器结构 MicroBlaze 处理器是Xilinx 企业针对嵌入式处理器开发应用推出一个32 位嵌入式处理器内核,她是一个软核结构,简单但灵活性强,在目标器件中能够进行任意配置。她采取RISC 指令集、Harvard 体系结构,该处理器有以下部分特征: (1) 32 个32 位通用寄存器和2 个专用寄存器。 (2) 32 位指令系统, 支持3 个操作数和2 种寻址方法。 (3) 分离32 位指令和数据总线,符合IBM OPB总线规范。 (4) 经过当地存放器总线(LMB) 直接访问片内块存放器(BRAM) 。 (5) 含有高速指令和数据缓存(cache) ,三级流水线结构。 (6) 含有硬件调试模块(MDM) 。 (7) 带8 个输入/ 输出快速链路接口( FSL) 。 说明: DOPB 器件内部外围设备数据接口总线,用于处理器和片内设备进行数据交换。 DLMB 实现数据交换当地块存放器总线,该总线为处理器内核和块存放器(BRAM) 之间提供专用高速数据交换通道。 IOPB 用于实现外部程序存放器总线接口。当程序较大时,需要外接大容量存放器,该总线提供读取指令通道。 ILMB 用于取指令当地存放器总线,该总线和器件内部块存放器(BRAM) 相连,实现高速指令读取。 MFSL0. . 7  主设备数据接口, 提供点对点通信通道。 SFSL0. . 7  从设备数据接口, 提供点对点通信通道。 2  EDK开发步骤 EDK( Embedded Development Kit) 是Xilinx 企业针对FPGA 内部32 位嵌入式处理器开发而推出开发套件。EDK工具包中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试等工具,利用其集成开发环境XPS( Xilinx Platform Studio) 能够方便、快速地完成嵌入式系统开发整个步骤。EDK 以IP core形式,提供诸如LMB ,OPB 总线接口、外部存放控制器、SDRAM 控制器、UART 中止控制器、定时器及其它部分外围设备接口等资源,利用这些资源,设计者能够轻松构建一个完善嵌入式处理器系统,其完整设计框图图2所表示。 一个完整嵌入式处理器系统设计通常包含3 个部分: 硬件系统构建;存放器映射及软件开发;应用程序开发。 在XPS 集成开发环境下,嵌入式处理器硬件系统构建由微处理器硬件规范(MHS) 文件和微处理器外围设备描述(MPD) 文件定义; 软件系统结构由微处理器软件规范(MSS) 文件定义,其开发步骤图3 所表示。 MHS 文件用于描述硬件系统结构,定义处理器类型、总线接口、外设接口、中止处理和地址空间。该文件可用任意文本编辑器创建,是文本化原理图输入。MPD 文件包含外围设备全部有效输入/ 输出接口和硬件参数。MSS 文件关键用来定义软件库、驱动程序和文件系统。 说明:Data2BRAM 作用是把软件代码文件( 3 .elf) 、FPGA 位流文件( 3 . bit) 和块存放器(BRAM) 初始化数据文件( 3 . bmm) 转换成新FPGA 位流文件( 3 . bit )和存放器数据文件( 3 . mem) 。相关应用程序编写将在下面实例中具体介绍。 3  一个简单实例 本实例基于e 元素科技数字刀剑系列之火龙刀3评定板,简明叙述一个嵌入式处理器系统开发步骤,着重讲述应用程序编写。对于其它评定板,只需对用户约束文件( 3 . ucf) 稍做修改即可。为简单起见,和图2 所表示一个完整系统相比,本例所述系统只在OPB 总线上挂MDM(硬件调试模块) 和GPIO(通用输入/ 输出设备) 2 个外围设备,GPIO 对应评定板上8 个L ED 输出,当完成下载到FPGA 后,8 个L ED 将不停地闪烁。具体描述以下: 第一步,硬件系统构建,在XPS 集成开发环境下,利用BSP(Base System Builder ) 向导自动创建一个以Mi-croBlaze 处理器为关键简单硬件系统,设置处理器时钟频率为50 MHz ,总线时钟频率为50 MHz ,设置片上读/写调试模块为调
显示全部
相似文档