详细介绍一下华邦 W25QXX 系列 FLASH 芯片的操作流程
深圳市星际芯城科技有限公司
发表:2024-07-29 16:31:32 阅读:17

华邦 W25QXX 系列 FLASH 芯片的操作流程大致如下(以下操作以 W25Q64JV 为例):

1. 初始化:

- 使能相关 GPIO 时钟,配置片选信号(CS)引脚为推挽输出、上拉模式。

- 初始化 SPI 接口,可设置时钟频率等参数。

- 读取 FLASH ID,确定芯片型号。对于 W25Q256 等大容量芯片,还需检查地址模式,若不是 4 字节地址模式,则进入该模式。

2. 读操作:

- 读状态寄存器:通过发送相应指令(如 0x05)读取状态寄存器的值,以了解芯片的当前状态,如是否忙碌等。

- 读数据:根据不同的读取指令,如标准 SPI 读取数据指令(0x03)、单线快速读取数据指令、双线快速读取数据指令、四线快速读取数据指令等,发送指令、地址等信息,从指定地址读取数据。

3. 写操作:

- 写使能:在进行页编程、擦除或写状态寄存器等操作前,需发送写使能指令(0x06)。

- 页编程:使用指令(0x02)进行页编程,一次最大可写 256 字节的数据。注意写入地址需满足页对齐(对于 W25Q64JV,地址需能被 256 整除),若部分写且超过当前页地址范围,会回到页首覆盖写。编程过程中可检查 BUSY 位确定是否完成。

4. 擦除操作:

- 区擦除:发送指令(0x20),一次擦除 4KBytes。擦除前需发送写使能指令。

- 块擦除:指令为(0xD8),一次擦除 32KBytes;或指令(0x52),一次擦除 64KBytes。同样需先写使能。

- 芯片擦除:使用全擦除指令(0xC7),不建议经常使用,因耗时且会损耗 FLASH。

5. 其他操作:

- 软复位:依次执行使能复位指令(0x66h)和复位指令(0x99h)。

- 写保护:上电后设备自动进入写禁止状态,在特定编程或擦除指令前需先进行写使能,相关指令完成后,写使能自动变为 0。

- 等待空闲:通过读取状态寄存器的 BUSY 位,等待芯片处于空闲状态,再进行其他操作。

- 掉电与唤醒:可使用指令(0xB9)进入掉电模式,指令(0xAB)唤醒。



实际操作时,需要根据所用的具体芯片型号(如 W25Q80、W25Q16、W25Q32 等)以及硬件连接情况,来调整代码中的相关参数和指令。同时,确保正确配置 SPI 接口的时钟、极性和相位等参数,以满足芯片的通信要求。


在进行写操作(页编程、擦除等)后,务必使用`w25qxx_wait_busy`函数等待芯片空闲,以确保操作完成。另外,由于 FLASH 芯片的特性,擦除操作只能按扇区、块或全片进行,写操作之前通常需要先擦除相应的区域,且写入的数据位只能从 1 变为 0。


具体的操作指令、寄存器定义和详细的操作细节,可以参考华邦 W25QXX 系列芯片的数据手册,以确保操作的正确性和兼容性。不同型号的 W25QXX 芯片在容量、地址空间、指令等方面可能会有所差异,但基本的操作流程是相似的。

核心供货商
营业执照: 已审核
组织机构代码: 已审核
会员等级: 一级会员
联系人: 李先生
电话: 18689475273(微信同号)
QQ: 2885145320
地址: 深圳市龙岗区坂田街道象角塘社区中浩一路2号科尔达大厦1266
简介: 深圳市星际芯城科技有限公司,致力于助力人类走向星际,探索宇宙星辰大海。是国际知名的电子元器件现货分销商,国产品牌代理商。公司销售的产品有IC集成电路。销售的品牌有圣邦微、ST、ON、TI、Microchip、ADI等知名品牌。为消费类电子、工控类电子、医疗类电子、汽车类电子企业提供一站式服务,并成为全球众多EMS/OEM的首选供应商。