第四章 DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用

DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用

说明

一般芯片是用内部存储,但是内部存储空间是有限的。
所以在嵌入式开发过程中,需要用到外部设备DDR3。
QSPI FLASH是为了将程序固化,固化之后每次都可以上电后对程序进行烧写。

实验过程

本实验所用软件为vivado 19.2版本和vitis软件

搭建microblaze

(1)建立工程,打开bd设计
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)确定系统的时钟
确定时钟信号,复位信号,复位管脚
输出时钟确定,166.167Mhz,200Mhz,50Mhz
复位低电平有效

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)添加DDR3的ip核
系统时钟(开发的用户手册)166.167Mhz
参考时钟(mig ip核的用户手册)200Mhz
由分配器提供时钟

在这里插入图片描述
(4)添加microblaze软核
在这里插入图片描述
(5)添加QSPI FLASH IP核
flash的输入时钟为50Mhz

在这里插入图片描述
在这里插入图片描述

(6)run block automation
32kb,16kb
时钟连接,ui_clk(时钟连接很重要,一定要熟悉每个时钟端口

在这里插入图片描述

(7)添加LED,uart,swtich
波特率:115200

在这里插入图片描述
(8)run connection automation
在这里插入图片描述
(9)create hdl wrapper 创建封装文件
在这里插入图片描述
在这里插入图片描述

(10)生成bit流文件(注意硬件文件的导出路径)

打开vitis

在这里插入图片描述
在这里插入图片描述
(1)新建工程,导入硬件说明文件,其他next,连接开发板
在这里插入图片描述
(2)可查看硬件的存储空间,已经是DDR3(mig)了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)查看BSP,修改flash为5,这是由板卡上的flash决定的
在这里插入图片描述
(4)多了个out of data,即是需要更新了,进行编译
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
(5)新建工程,作为flash烧录的启动器
此处需要修改硬件平台

在这里插入图片描述
(6)编译之后生成一个.elf文件
在这里插入图片描述
(7)运行一下应hello,world应用工程
在这里插入图片描述
(8)打开串口,run as 运行我们的工程
在这里插入图片描述
(9)结果显示,可知工程无误

flash烧写(重点)

(1)目的:每次上电后,开发版自动从flash读取bootloader,之后bootloader加载我们的应用工程,烧写到开发版上运行
在这里插入图片描述在这里插入图片描述

(2)首先blconfig这里需要设置flash中的应用工程烧写的偏移量
官方偏移量0x00c00000,编译一下

在这里插入图片描述
(3)可以看到其存储空间在local memory中,并不是在DDR3上
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
(4)已经自动绑定了elf文件,generate,生成download.bit文件
目标:将download.bit文件烧写到flash中

在这里插入图片描述
(5)烧写到flash中(时间比较长)
注意:文件为download.bit文件,偏移量为0x00,
flash类型会自动识别,提醒我们的

在这里插入图片描述
(6)选择直接烧写flash
在这里插入图片描述
(7)bit流文件和之前的一致,偏移量和flash一致
要勾选,将elf文件转变为SREC文件
点击program,固化完成

验证

在这里插入图片描述
串口部分,说明已经将程序固化到flash上了

细节注意

(1)时钟的分配
DDR3:166.667MHZ,200MHz
QSPI :50MHz
Microblaze:DDR3的ui clk时钟

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来介绍一款我所熟知的FPGA开发板——Digilent Arty S7。 Digilent Arty S7是一款基于Xilinx Spartan-7系列FPGA的开发板。它具有灵活性高、性价比优良、易用性强等特点,因此在学术研究、原型设计、开发调试等领域得到了广泛的应用。 硬件架构方面,Digilent Arty S7采用了一些常见的电路设计,包括FPGA、时钟、存储、通信等模块。下面我将分别对这些模块进行介绍。 1. FPGA模块 Digilent Arty S7采用了Xilinx Spartan-7系列FPGA芯片,型号为XC7S50。这款FPGA芯片具有50,000个逻辑单元、1,800个千兆位传输率(GTP)通道、5,200个数字信号处理(DSP)单元、1.3 Mb的Block RAM等硬件资源,可以满足大部分应用场景的需求。 此外,FPGA模块还包括了与其他模块进行通信的接口,如JTAG、UART、SPI、GPIO等。 2. 时钟模块 时钟模块是Digilent Arty S7的重要组成部分,它为整个系统提供了统一的时序。时钟模块由两个晶振和一个时钟分配器组成。其中,一个晶振为100 MHz,用于FPGA内部逻辑的时钟;另一个晶振为32.768 kHz,用于实时时钟(RTC)。 时钟分配器可以为FPGA提供多个时钟信号,包括50 MHz、100 MHz、125 MHz、150 MHz等。此外,时钟分配器还可以通过可编程时钟源(PLL)产生任意频率的时钟信号。 3. 存储模块 存储模块包括了闪存和DDR3 SDRAM两部分。闪存用于存储FPGA的配置文件,它可以通过JTAG或者USB进行编程。DDR3 SDRAM用于存储系统的数据。 Digilent Arty S7采用了128 Mb的DDR3 SDRAM,工作频率为333 MHz,带宽达到10.6 GB/s。此外,DDR3 SDRAM还具有ECC功能,可以提高系统的可靠性。 4. 通信模块 通信模块包括了以太网、USB、UART、SPI等接口,用于与外部设备进行通信。其中,以太网接口采用了10/100/1000 Mbps自适应速率,可以实现高速网络通信;USB接口可以用于FPGA的编程、数据传输等;UART和SPI接口可以用于与其他设备进行串行通信。 总体来说,Digilent Arty S7的硬件架构设计合理,具有良好的性能和易用性。它可以作为一个强大的开发平台,用于各种应用领域的原型设计、系统开发、算法验证等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值