摘要: 本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。 关键词:SPI;Verilog HDL;Flash 【SPI协议通信模式】 SPI是Motorola公司推出的一种同步串行接口,是一种高速、全双工、同步的通信总线,广泛应用于存储器,数模...
关于FLASH存储器,请参考“常用存储器介绍”章节,实验中FLASH芯片的具体参数,请参考其规格书《W25Q64》来了解。25.1. SPI协议简介 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合...
FLASH芯片中规定了许多指令,只要SPI向FLASH发送相应的指令,FLASH就会执行相应的操作,所以我们对FLASH的一切操作都是基于这个指令集的,接下来介绍一下FLASH的控制指令: 表中第一列为指令名,第二列为相应的指令代码,第三列及后面的内容根据指令的不同而意义不同,其中带括号的字节参数,方向为 FLASH 向主机传输,即命令...
学习本章时,可与I2C章节对比阅读,体会两种通讯总线的差异以及EEPROM存储器与FLASH存储器的区别。下面我们分别对SPI协议的物理层及协议层进行讲解。 24.1.1. SPI物理层 SPI通讯设备之间的常用连接方式见 图24_1。 图24‑1 常见的SPI通讯系统 SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为...
FLASH的读数据有三种方式: 第一种是普通读方式: 先拉低片选信号CS,再发送命令0X03,发送读取数据的地址,3个字节。后面每个SPI周期,就是读取的数据。 第二种是快速读方式(fast read): 先拉低片选信号CS,再发送命令0X0b,发送读取数据的地址,3个字节。发送一个dummy的SPI周期,后面每个SPI周期,就是读取的数据。
每一个命令必须要其支持的频率下才有效果,以我用的flash为例,最后支持频率为104M,高频模式下能用的命令有FAST READ、RDSFDP、PP、SE、BE32K、CE、WREN、RDSR等。 而低频命令只能跑低频率,但是高频命令既能跑高频,也能跑低频。 气不气人,用高频命令跑低频的,就是为了低功耗。
FLASH芯片中还有WP和HOLD引脚。WP引脚可控制写保护功能,当该引脚为低电平时,禁止写入数据。我们直接接电源,不使用写保护功能。HOLD引脚可用于暂停通讯,该引脚为低电平时,通讯暂停,数据输出引脚输出高阻抗状态,时钟和数据输入引脚无效。我们直接接电源,不使用通讯暂停功能。
#define DRV_SPI_FLASH_READ_STATUS_REG (0x05) //Read Status Register #define DRV_SPI_FLASH_WRITE_STATUS_REG (0x01) //Write Status Register #define DRV_SPI_FLASH_READ_DATA (0x03) //Read Data #define DRV_SPI_FLASH_FAST_READ (0x0B) //Fast Read ...
Quad Output Fast Read (6BH) :QSPI读命令,时序如下: Quad Page Program (32H) :QSPI写命令,时序如下: Sector Erase (SE) (20H) :Sector擦除命令,时序如下: GD25Q32ESIGR就介绍到这里,读者可以在兆易创新官网下载该NOR FLASH的datasheet以获取更多信息。 11.3硬件设计 紫藤派开发板SPI——NOR FLASH的硬件设...
4.2、 W25Q128BV Qual SPI Flash存储器时序分析 W25Q128BV,支持SPI, Dual SPI和Quad SPI接口方式。在Fast Read模式,接口的时钟速率最大可以达到 104Mhz。 FLASH 的容量由 65536个256-byte的Page组成。W25Q128 的擦除方法有三种,一种为 Sector 擦除(16 个 page,共 4KB),一种为 Block 擦除(128 个 page,共...