基于MicroBlaze 软核的FPGA 片上系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根据 硬件 产生 函数库
编 写 程 序
编 译 链 接
调 试 程 序
作为初始化 数据加入到 配置文件中
下 载 配 置
图 6 软件开发流程
4 MicroBlaze 的应用
在软件无线电系统中 一般采用 微处理器 + 协处 理器 结构 微处理器一般使用通用 D S P 主要完成系 统通信和基带处理等工作 协处理器用 F P G A 实现 主 要完成同步和预处理等底层算法的运算任务 在本课题 中 采用的基带处理算法比较简单 应用软处理器 I P 核 代替 D S P 在一片 F P G A 内就能实现整个系统的设计 这 样可以简化系统的结构 提高系统的整体性能
53 2004.7 Microcontrollers & Embedded Systems
万方数据
新器件新技术 NEW PRODUCT & TECH
数据包 TCM译码 解调器
D/A
LPF
R F
部
同步提取与跟踪
直扩码
DDS
分
序列
发生器
跳频码 序列 发生器
开始
系统初始化
接收 接收串口数据
接收/发送 发送
读出数据
读出数据
数据发送 到D/A器件
数据发送 到串口
R
F
控制DDS
部
分
结束
图 9 软件流程图 Xilinx XST)进行综合 然后下载生成的配置 BIT 文件 到目标板上 利用 E D K 中提供的 G D B 调试工具可以
在 E D K 开发套件的 X P S 集成开发环境下进行系统硬 进行程序调试 有两种调试方法 软件仿真和硬件调
个应用系统的硬件模型
际运行完全满足设计要求
在 E D K 中 每一个外设 IP 模块都有自己的软件函数 库 利用 Libgen 工具 将所需外设函数库的头文件添加 进工程中 通过调用这些函数可以操作和控制这些外 设 例如对串口的操作如下 // 初始化串口 设置波特率等参数 清空发送和接收缓冲 禁止
结 语
件设计 在其界面环境下 添加 I P 核 进行系统连接 试 软件仿真可以进行程序的功能调试 在开发工具内
和各项参数设置 由于系统中包含的硬件算法模块不是 部就可以进行 不需要硬件支持 硬件调试就是通过
标准模块 因此工程需要设置成子模块方式 利用平台 J T A G 接口或串口( 可在硬件设计时选择) 连接到目标板
采用 FPGA 和 MicroBlaze 进行嵌入式系统设计 实 现了多片专用芯片的功能 大大缩小了接收机体积 便 于系统实现小型化 集成化 捕获及跳频同步等算法采
中断
用硬件实现 加快了捕获跟踪速度 实验结果表明
X u a r t L i t e _ I n i t i a l i z e ( & U A R T , X P A R _ F P G A 系统设计是正确可行的 如果在系统中配置大容
(1)片上外设总线(OPB)
内核通过片上外设总线( O P B ) 来访问低速和低性能的 系统资源 O P B 是一种完全同步总线 它的功能处于一 个单独的总线层级 它不是直接连接到处理器内核的 OPB 接口提供分离的 32 位地址总线和 32 位数据总线 处 理器内核可以借助 PLB to OPB 桥 通过 OPB 访问从 外设 作为 O P B 总线控制器的外设可以借助 O P B t o P L B 桥 通过 P L B 访问存储器
接收A/D数据
硬件算法 模块(发送)
数据写入 到存储器
数据写入 到存储器
硬件算法 模块(接收)
FPGA片上系统 图 7 混合扩频数据通信系统的接收机原理框图
数据包 TCM译码
调制器
D/A
BPF
直扩码 序列
发生器
跳频码 序列
发生器
DDS
FPGA片上系统 图 8 混合扩频数据通信系统的发射机原理框图
指 程序指针
令
(PC)
加/减
数
移位/逻辑
据
端 总 指指
乘法
端 DLMB 总
线 令令
线
接 缓 译 通用寄存器组 接 DOPB
口 冲码
32×32bit
口
图 1 MicroBlaze 内核结构框图
(1)内部结构
MicroBlaze 内部有 32 个 32 位通用寄存器和 2 个 32 位 特殊寄存器 P C 指针和 M S R 状态标志寄存器 为了 提高性能 MicroBlaze 还具有指令和数据缓存 所有的 指令字长都是 3 2 位 有 3 个操作数和 2 种寻址模式 指 令按功能划分有逻辑运算 算术运算 分支 存储器读 / 写和特殊指令等 指令执行的流水线是并行流水线 它 分为 3 级流水 取指 译码和执行 如图 2 所示
本课题的系统设计如图 7 和图 8 所示 F P G A 片上系 统主要完成两个任务 发送和接收数据 对于发送任 务 F P G A 完成硬件算法的初始化 接收串口数据 并 将数据存储在双口 S R A M 中 系统硬件算法部分对双口 S R A M 中数据进行基带处理 并将结果送给 D / A 转换器 对于接收任务 F P G A 接收 A / D 转换器送来的数据 进 行基带处理 并将数据存储在双口 S R A M 中 把存储在 双口 S R A M 中的数据通过串口发送回主机
(2)存储结构
MicroBlaze 是一种大端存储系统处理器 使用如图 3 所式的格式来访问存储器
(3)中断控制和调试接口
MicroBlaze 可以响应软件和硬件中断 进行异常处
理 通过外加控制逻辑 可以扩展外部中断 利用微处 理器调试模块( M D M ) I P 核 可通过 J T A G 接口来调试处 理器系统 多个 MicroBlaze 处理器可以用 1 个 MDM 来完 成多处理器调试
SOPC系统
LMB总线 接口
MicroBlaze 内核
LMB总线
BRAM
OPB JTAG
OPB GPIO
OPB UART
OPB总线 OPB BRAM
图 5 系统框图
E D K 中提供的 I P 核均有相应的设备驱动和应用接 口 使用者只需利用相应的函数库 就可以编写自己的 应用软件和算法程序 对于用户自己开发的 I P 核 需要 自己编写相应的驱动和接口函数 软件设计流程如图 6 所示
F P G A I P C o r e S O P C M i c r o B l a z e C o r e C o n n e c t 软处理器 软件无线电
Xilinx 公司的 MicroBlaze 32 位软处理器核是支持 CoreConnect 总线的标准外设集合 MicroBlaze 处理器运 行在 150MHz 时钟下 可提供 125 D-MIPS 的性能 非常 适合设计针对网络 电信 数据通信和消费市场的复杂 嵌入式系统
利用 MicroBlaze 构建基本的嵌入式系统如图 5 所示 通过标准总线接口 L M B 总线和 O P B 总线的 I P 核 MicroBlaze 就可以和各种外设 IP 核相连
调试接口 RS232接口
立于 P o w e r P C 但它让设计者可以选择芯片上的运行方 式 包括一个嵌入式 P o w e r P C 并共享它的外设
产生器 根据硬件描述文件( . M H S 文件) 生成嵌入式系 上的应用系统中的 X M D 调试接口 将软件程序下载到
统子模块的网表文件(.NGC) 然后在 ISE 设计环境下 从 系 统 中 进 行 调 试 本 课 题 使 用 的 目 标 板 上 的 主 芯 片 为
外部通过 G P I O 端口与硬件算法模块相连 从而构成整 Xilinx Spartan IIE 30万门的FPGA 系统时钟为50MHz 实
(2)处理器本机总线(PLB)
P L B 接口为指令和数据一侧提供独立的 3 2 位地址和 64 位数据总线 P L B 支持具有 P L B 总线接口的主机和从 机通过 P L B 信号连接来进行读写数据的传输 总线架构 支持多主从设备 每一个 P L B 主机通过独立的地址总 线 读数据总线和写数据总线与 P L B 连接 P L B 从机通 过共享但分离的地址总线 读数据总线和写数据总线与 P L B 连接 对于每一个数据总线都有一个复杂的传输控 制和状态信号 为了允许主机通过竞争来获得总线的所 有权 有一个中央判决机构来授权对 P L B 的访问
52
2004.7
万方数据
NEW PRODUCT & TECH 新器件新技术
DCR总线 系统核 系统核 系统核 外设核 外设核
wk.baidu.com
判
判
决 处理器本机总线 总线桥 片上外围总线 决
器
器
OCM接口
CoreConnect总线结构 APU接口
片上存储器 处理器核 协处理器
DCR总线
图 4 CoreConnect 总线架构
1 MicroBlaze 的体系结构
MicroBlaze 是基于 Xilinx 公司 FPGA 的微处理器 IP 核 和其它外设 I P 核一起 可以完成可编程系统芯片( S O P C ) 的设计 MicroBlaze 处理器采用 RISC 架构和哈佛结构的 32 位指令和数据总线 可以全速执行存储在片上存储器和 外部存储器中的程序 并访问其中的数据 如图 1 所示
(3)设备控制寄存器总线(DCR)
设备控制寄存器总线( D C R ) 是为在 C P U 通用寄存器 (GPRs)和 DCR 的从逻辑设备控制寄存器(DCRs)之间传输 数据而设计的
3 MicroBlaze 的开发
应用 EDK(嵌入式开发套件)可以进行 MicroBlaze IP 核 的开发 工具包中集成了硬件平台产生器 软件平台产 生器 仿真模型生成器 软件编译器和软件调试工具 等 EDK 中提供一个集成开发环境 XPS(Xilinx 平台工作 室) 以便使用系统提供的所有工具 完成嵌入式系统 开发的整个流程 E D K 中还带有一些外设接口的 I P 核 如 L M B O P B 总线接口 外部存储控制器 S D R A M 控
(4)快速单一链路接口
MicroBlaze 处理器具有 8 个输入和 8 个输出快速单一 链路接口(FSL) F S L 通道是专用于单一方向的点到点的 数据流传输接口 FLS 和 MicroBlaze 的接口宽度是 32 位 每一个 F S L 通道都可以发送和接收控制或数据字
2 CoreConnect 技术
新器件新技术 NEW PRODUCT & TECH
基于 MicroBlaze 软核的 FPGA 片上系统设计
北京科技大学 王磊
摘 要 关键词
分析软处理器 M i c r o B l a z e 的体系结构 给出 M i c r o B l a z e 内核在软件无线电系统中的应用 实现 S O P C (可编程系统芯片)
制器 U A R T 中断控制器 定时器等 利用这些资源 可以构建一个较为完善的嵌入式微处理器系统
在 F P G A 上设计的嵌入式系统层次结构为 5 级 可在 最低层硬件资源上开发 I P 核 或利用已开发的 I P 核搭建 嵌入式系统 这是硬件开发部分 开发 IP 核的设备驱动 应用接口(API) 和应用层(算法) 属软件开发内容
CoreConnect 是由 I B M 开发的片上总线通信链 它 使多个芯片核相互连接成为一个完整的新芯片成为可 能 C o r e C o n n e c t 技术使整合变得更为容易 而且在标 准产品平台设计中 处理器 系统以及外围的核可以重 复使用 以达到更高的整体系统性能
CoreConnect 总线架构包括处理器本机总线(PLB),片 上外围总线( O P B ) 1 个总线桥 2 个判优器 以及 1 个 设备控制寄存器(DCR)总线 CoreConnect 总线架构如图 4 所示 X i l i n x 将为所有嵌入式处理器用户提供 I B M CoreConnect 许可 因为它是所有 Xilinx 嵌入式处理器设 计的基础 MicroBlaze 处理器使用了与 IBM PowerPC 相 同的总线 用作外设 虽然 MicroBlaze 软处理器完全独
时钟周期1 时钟周期2 时钟周期3 时钟周期4 时钟周期5
指令1 取指
译码
执行
指令2
取指
译码
执行
指令3
取指
译码
执行
图 2 MicroBlaze 的流水线
31
24 23
16 15
87
0
地址A的字
地址A的半字
地址A+2的半字
地址A的字节 地址A+1的字节 地址A+2的字节 地址A+3的字节
图 3 大端数据格式