PotatoPie 2.1/3.0 教程(7)——实验6 EF2 FPGA芯片内部FLASH读写-Anlogic-安路社区-FPGA CPLD-ChipDebug

PotatoPie 2.1/3.0 教程(7)——实验6 EF2 FPGA芯片内部FLASH读写

功能概括:

使用 SPI 模块对 Flash 进行读写。
功能说明:

设计 SPI 模块对PotatoPie  板中EF2芯片内置的 Flash 存储资源进行读写,并设计读写验证模块
验证
flash 读写的数据是否正确。

PotatoPie 板FPGA内置容量为 4Mb Flash, 本例程主要使用 TD 软件中的 SPI IP 接口将 bin 文件写入
PotatoPie  
板的 Flash 中,同时利用 SPI IP 接口读出 Flash 中的 bin 文件内容,该例程包含读写验
证模块,用以测试读写是否正确, 此
Flash 用户也可对其操作。
本例程使用
25MHz 的系统时钟,利用 PLL IP 进行倍频处理,输出 12.5MHz 的时钟作为 SPI Flash
控制模块的输入时钟。其中 FPGA 内置 Flash 引脚接口如下图所示。

安路 ELF2 FPGA 器件中包含 1 个内置的 SPI FLASH, 型号为 GD25Q40BSIG。 该 FLASH 容量为 4Mbit, 支持标准 SPI 单线读写模式, 及 2 线、 4 线读模式。 该 FLASH 已连接到 ELF2 的配置接口, 可以
存储
ELF2 的上电配置文件。

20231220223235454-image

FPGA 内置 Flash 引脚图

从上图可以看出 Flash 有六个引脚,对于 Flash 这六个引脚的具体功能描述如下表所示。

管脚名称 I/O 描述 是否接到 FPGA 外部端口
CS_N I FLASH 片选信号
MISO_IO1 O FLASH 数据 output
WP_N_IO2 I/O 写保护 input, 单线模式置 1
MOSI_IO0 I FPGA 数据 input
CCLK I 串行时钟 input
HOLD_N_IO3 I/O 保持信号 input, 单线模式置 1

功能描述


Flash 控制器可以支持读写 16Mb 以下的存储空间读写。硬件上电后,开始进行标准单线写使能
操作, 写
0x00~0xFF 的递增内容, 当对此时地址全部写完后便进行读操作,由于例程添加了读写验证
模块,当读取到的数据与
SPI 写入到 Flash 的数据相同时,读写验证模块中将拉高通过信号表示 SPIFlash 例程读写运行正确;当通过信号始终不拉高,则表示 SPI-Flash 读写不正确,将通过信号连接输
出管脚在保证例程准确运行的同时简化管脚分配。当全部操作进行完成后将把输出的结束信号拉高,
LED1 指示灯点亮。

演示方法
编译下载 FPGA 的位流文件,通过选取 ChipWatcher 窗口进行内置 Flash 写入读出数据验证信号的
抓取,实现内置
Flash 的写入与读出与判断例程进行写入和读出数据是否相等的功能。

内部FLASH读写时序

标准单线模式
端口: SCLKCS#SISOWP#HOLD#。 可读写 flash 数据, 擦除, 读写寄存器。
标准单线读时序如图
所示, 读命令 fast read command0BH

20231220223601691-image

标准单线读时序

标准单线写使能时序如图所示, 写使能命令 write enable command06H

20231220223636452-image

标准单线写使能时序

标准单线写数据时序如图所示, 写数据命令: page program command02H

20231220223653686-image

写数据时序

扇区擦除时序如图所示, 扇区擦除: sector erase command20H

20231220223800693-image

扇区擦除时序

块擦除时序如图所示, 块擦除: block erase (64KB) commandd8H

20231220223833703-image

块擦除时序

芯片擦除时序如图所示, 片擦除: chip erase command60H or c7H

20231220223855797-image

芯片擦除时序

请登录后发表评论

    没有回复内容