解读Datasheet系列:W25Q80DV(华邦 SPI Flash)

本文只对 W25Q80DV 数据手册的一部分进行解读,其涵盖的内容基本足够开发标准 SPI 接口的 Linux 驱动和裸板驱动。完整的 Datasheet 下载:
  https://download.csdn.net/download/luckydarcy/10443182


##一般描述

W25Q80DV(8M-bit)是一个串行 Flash 存储器。容量为 8M-bit(存储器被组织成 4096 页,每页 256 字节),同一时间最多可以写 256 字节(一页)。
  页擦除方式可以按 16 页一组(4KB sector erase)、128 页一组(32KB block erase)、256 页一组(64KB block erase)或者整片擦除(chip erase)。擦除操作只能按扇区擦除或按块擦除,W25Q80DV 分别有 256 个可擦除扇区(sector,每个扇区4KB)和 16 个可擦除块(block,每个块64KB)。
  实际上,4 KB 的小扇区为需要存储数据和参数的应用程序提供了更大的灵活性。

Anyway,先记住下面的参数:

  • Page:256 Bytes
  • Sector:16 Pages(4KB)
  • Block:16 Sector(64KB)

供电:2.7V 到 3.6V,power-down 的电流低至 1μA。

W25Q80DV 支持标准的 SPI(Serial Peripheral Interface),也支持高性能的 Dual/Quad 输出,以及 Dual/Quad I/O SPI,即 Serial Clock,Chip Select,Serial Data I/O0(DI),I/O1(DO),I/O2(/WP)和 I/O3(/HOLD)。
  W25Q80DV 支持的 SPI 时钟频率高达 104MHz,以及当使用快速读 Dual/Quad I/O 指令时,Dual I/O 模式的等效时钟频率 208MHz(104MHz * 2)和 Quad I/O 模式的 416MHz(104MHz * 2)。这样的传输速率超过标准的异步 8 位和 16 位的并行 Flash 存储器。
  Hold 管脚和 Write Protect 管脚提供了更进一步的控制灵活性。
  此外,W25Q80DV 设备支持 64 位唯一的 JEDEC 标准厂商和设备标识序列号。


##特性

  • W25Q80DV:8M-bit/1M-byte(1,048,576)
  • 每个可编程页的大小为 256 字节
  • 标准 SPI:CLK,/CS,DI,DO,/WP,/Hold
  • Dual SPI:CLK,/CS,IO0,IO1,/WP,/Hold
  • Quad SPI:CLK,/CS,IO0,IO1,IO2,IO3
  • 统一的 4KB 扇区(Sector),32KB 和 64KB 的块(Block)

##芯片封装和管脚定义

SOIC、WSON、PDIP

![这里写图片描述](https://img-blog.csdn.net/20180613160928992?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y2t5ZGFyY3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![这里写图片描述](https://img-blog.csdn.net/2018061316204317?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y2t5ZGFyY3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

##管脚描述

###Chip Select(/CS,片选)

###Serial Data Input, Output and IOs(DI, DO and IO0, IO1, IO2, IO3)

###Write Protect(/WP,写保护)

写保护(Write Protect)管脚用于防治状态寄存器被写,该功能需要结合状态寄存器的块保护(Block Protect)位(CMP,SEC,TB,BP2,BP1 和 BP0)以及状态寄存器的保护位(SRP0)一起使用。小至 4KB 的扇区,大至整个存储亲阵列都能被硬件保护。/WP 管脚低电平有效,如果状态寄存器2 的 QE 位被置为 Quad I/O,/WP 管脚的功能不再是写保护,而是 IO2。

###HOLD(/HOLD)

/HOLD 管脚允许设备被选中后能够暂停,当 /HOLD 管脚被拉低且 /CS 为低电平时,DO 管脚将变成高阻抗,而 DI 和 CLK 管脚将会被忽略。当 /HOLD 被拉高,设备操作恢复。在多个设备共享同一个 SPI 信号时,/HOLD 功能就很有用了。/HOLD 管脚低电平有效,当状态寄存器2 的 QE 位被置为 Quad I/O 时,/HOLD 管脚功能失效,而变成 IO3。

###Serial Clock(CLK)

SPI 串行时钟输入管脚为串行输入和输出操作提供时序。


##结构图

![这里写图片描述](https://img-blog.csdn.net/20180613165606950?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y2t5ZGFyY3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

##寄存器

###控制寄存器 & 状态寄存器

读 状态寄存器1 和 状态寄存器2 指令用于提供有效 Flash 存储器阵列的状态,比如设备的写使能、写保护、Quad SPI 设置、安全寄存器锁状态和 Erase/Program 挂起状态等。
  写 状态寄存器 指令用于配置设备写保护特性、Quad SPI 设置、安全寄存器 OTP 锁等等。写 状态寄存器 的访问权限由 non-volatile 状态寄存器的保护位(SRP0,SRP1)控制,写使能指令,以及 Standard/Dual SPI 操作期间的 /WP 管脚状态。

###状态寄存器

####BUSY

状态寄存器(S0)中的 BUSY 位是只读的,当设备正在执行 Page Program、Quad Page Program、Sector Erase、Block Erase、Chip Erase、写状态寄存器或者 Erase/Program Security 寄存器指令时,BUSY 位就会置1。在 BUSY=1 期间,设备除了读状态寄存器和 Erase/Program Suspend 指令之外,其他指令都会被忽略。当这些 program、erase、write 状态或安全寄存器指令执行完毕,BUSY 位就会被清为 0,表示设备已经准备好执行其他指令了。

####Write Enable Latch (WEL)

状态寄存器(S1)中的 WEL 位是只读的,在执行完写使能(Write Enable)指令后会置1。当设备被设置为写失能(Write Disable)时则被清0。

####Block Protect Bits (BP2, BP1, BP0)

Block 保护位(BP2, BP1, BP0)是状态寄存器(S4, S3, S2)中的非易失读写位

####Top/Bottom Block Protect (TB)

####Sector/Block Protect (SEC)

####Complement Protect (CMP)

####Status Register Protect (SRP1, SRP0)

####Erase/Program Suspend Status (SUS)

####Security Register Lock Bits (LB3, LB2, LB1)

####Quad Enable (QE)

####Status Register Memory Protection (CMP = 0)

####Status Register Memory Protection (CMP = 1)


##指令

W25Q80DV 的指令集包含 34 个基本指令(完全通过 SPI 总线控制)。指令由片选信号的下降沿开始,数据的第一个字节是指令码,DI 输入管脚在时钟上升沿时采集数据,MSB 在前。
  指令长度从单个字节到多个字节变化,指令码后面可能带有 address bytes、data bytes、dummy bytes(不关心),在一些情况下,会组合起来。
  所有的读指令能在任意时钟位之后完成,但是所有的写、编程、擦除指令必须在一个字节界限之后才能完成,否则指令将会被忽略。

###厂商和设备标识

![这里写图片描述](https://img-blog.csdn.net/20180613170741454?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y2t5ZGFyY3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

###指令表(Standard SPI Instructions)

(只列出常用指令,码制为十六进制)

![这里写图片描述](https://img-blog.csdn.net/20180613171034116?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y2t5ZGFyY3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

##SPI 操作

W25Q80DV 支持标准 SPI 指令。W25Q80DV 允许通过 SPI 兼容总线进行操作,包括四个信号:串行时钟(CLK)、片选(/CS)、串行数据输入(DI)和串行数据输出(DO)。标准 SPI 指令使用 DI 输入管脚将指令、地址和数据连续地写到设备(在 CLK 上升沿),DO 输出管脚用于从设备端读数据或状态(在 CLK 下降沿)。
  支持 SPI 总线操作模式0 (0, 0) 和模式3 (1, 1)。

  • 11
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. W25Q80 (8M-bit)、W25Q16 (16M-bit)和W25Q32 (32M-bit)串行闪存为空间、引脚和电源有限的系统提供了存储解决方案。25Q系列提供的灵活性和性能远远超过普通的串行闪存设备。他们是理想的代码隐藏到RAM,执行代码直接从双/四SPI (XIP)和存储声音,文本和数据。设备运行在单一2.7V至3.6V的电源上,电流消耗低至5mA有源,断电1a。所有的设备都提供节省空间的包装。W25Q80/16/32数组被组织成4,096/8,192/16,384个可编程页,每个页有256个字节。多达256字节可以被编程一次使用页程序指令。页面可以按16组(扇区擦除)、128组(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)擦除。W25Q80/16/32分别有256/512/1024个可擦除扇区和16/32/64个可擦除块。小的4KB扇区为需要数据和参数存储的应用程序提供了更大的灵活性。(见图2)。W25Q80/16/32支持标准串行外围接口(SPI),和高性能双/四输出以及双/四I/O SPI使用SPI引脚:串行时钟,芯片选择,串行数据I/O0 (DI), I/O1 (DO), I/O2 (/WP),和I/O3 (/HOLD)。SPI时钟频率高达80MHz的支持允许等效时钟率160MHz的双输出和320MHz的四次输出时,使用快速读双/四次输出指令。这些传输速率可与8位和16位并行闪存存储器相媲美。一个保持针,写保护针和可编程写保护,顶部或底部阵列控制,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和设备识别64位唯一序列号。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿基米东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值