嵌入式学习小组
直播中

李淑珍

7年用户 255经验值
私信 关注

采用FPGA和MicroBlaze进行嵌入式系统设计

本文采用FPGA 和MicroBlaze 进行嵌入式系统设计,文中在分析了FFT算法后,描述了运算的蝶形单元,地址生成单元及FFT的实现过程。从实际设计出发,完成了基于FPGA的单精度浮点运算器的FFT设计,精度达到10-6。大大缩小了接收机体积,便于系统实现小型化、集成化。捕获及跳频同步等算法采用硬件实现,加快了捕获跟踪速度。实验结果表明FPGA系统设计是正确可行的。
                                
                                                               
                                
      

回帖(2)

曾艳

2021-2-22 14:08:49
  MicroBlaze的体系结构
  MicroBlaze是基于Xilinx 公司FPGA 的微处理器IP 核和其它外设IP 核一起可以完成可编程系统芯片(SOPC)的设计MicroBlaze 处理器采用RISC 架构和哈佛结构的32位指令和数据总线可以全速执行存储在片上存储器和外部存储器中的程序并访问其中的数据。
  (1)内部结构。MicroBlaze 内部有32个32位通用寄存器和2 个32位特殊寄存器——PC指针和MSR状态标志寄存器。为了提高性能,MicroBlaze还具有指令和数据缓存所有的指令字长都是32位,有3个操作数和2种寻址模式。指令按功能划分有逻辑运算、算术运算、分支、存储器读/写和特殊指令等。指令执行的流水线是并行流水线,它分为3级流水:取指、译码和执行。
  (2)存储结构。MicroBlaze 是一种大端存储系统处理器,使用如图1所示的格式来访问存储器。
  (3)中断控制和调试接口。MicroBlaze可以响应软件和硬件中断,进异常处理,通过外加控制逻辑,可以扩展外部中断。利用微处理器调试模块( MDM)IP核可通过JTAG 接口来调试处理器系统。多个MicroBlaze 处理器可以用1个MDM来完成多处理器调试。
  (4)快速单一链路接口。MicroBlaze处理器具有8个输入和8个输出快速单一链路接口(FSL) 。FSL通道是专用于单一方向的点到点的数据流传输接口。FLS 和MicroBlaze 的接口宽度是32位,每一个FSL通道都可以发送和接收控制或数据字。
举报

陈英

2021-2-22 14:10:54
  基于MicroBlaze和FPGA的开发
  (1)基本开发流程。
  应用EDK(嵌入式开发套件)可以进行MicroBlaze IP 核的开发。工具包中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试工具等。EDK 中提供一个集成开发环境XPS(Xilinx 平台工作室) ,以便使用系统提供的所有工具,完成嵌入式系统开发的整个流程。EDK 中还带有一些外设接口的IP核,如LMB、 OPB 总线接口、外部存储控制器、SDRA M 控制器、UART、 中断控制器、定时器等。利用这些资源,可以构建一个较为完善的嵌入
  式微处理器系统。在FPGA上设计的嵌入式系统层次结构为5 级。可在最低层硬件资源上开发IP核,或利用已开发的IP 核搭建嵌入式系统,这是硬件开发部分;开发IP 核的设备驱动、应用接口(API)和应用层(算法),属软件开发内容。通过标准总线接口LMB 总线和OP B总线的IP核,microBlaze 就可以和各种外设IP 核相连。EDK中提供的IP核均有相应的设备驱动和应用接口,使用者只需利用相应的函数库就可以编写自己的应用软件和算法程序对于用户自己开发的IP 核需要自己编写相应的驱动和接口函数软件设计流程。
  (2)FFT的地址产生单元。
  地址产生单元主要是跟踪FFT运算进度,进而更好地调配存储单元,及控制各相关模块的运行。1.通过计数器来跟踪记录FFT计算的状况。为方便对存储单元操作,采用计数器来记录FFT的计算情况。8点的FFT,每个单元包括4个数据,所以用一个4位计数器Butterfly表示全部的运算状态。一个2位级计数器Stage表示三级蝶形单元。当Butterfly计数为4时,级计数器Stage加1,当Stage计数为3时,表示FFT的计算操作完成。当Butterfly计数为15时,输入输出信号置“1”,反馈回控制器输入输出操作完成。
  2.ROM读取的地址。旋转因子Wkn存储在ROM中,由实部cos(2kPi/8)和虚部sin(2kPi/8)两部分组成,读取由时钟单元的信号控制。可以看出每一级参加蝶形运算的旋转因子不同。
  3.RAM数据地址。在整个地址单元中,分配RAM中数据的地址是重点,8点蝶形运算共需l6个存储单元,数据地址的产生遵循一定规则。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分