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

news/2024/12/2 13:57:36/

本文只对 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)。


http://www.ppmy.cn/news/117694.html

相关文章

配置FTP协议 并且连接交换机进行文件传输

配置FTP连接交换机进行文件传输 文章目录 配置FTP连接交换机进行文件传输前言一、FTP文件传输协议1.配置环境电脑验证(使用CMD直接ftp进行连接的设备IP) 前言 本文为网络工程师培训中的学习笔记,知识点简单,适合初学者了解观看。…

RabbitMQ集群架构模式

搭建Mirror镜像集群: 4369是erlang的发现端口 5672是rabbitmq的通信端口 15672是rabbitmq的可视化控制台的端口号 25672是erlang底层发送消息和分配消息的底层端口 firewall-cmd --zonepublic --add-port4369/tcp --permanent firewall-cmd --zonepublic --add-port…

移动定制机s5820刷机,root

端午回家了一趟,发现老爸换了个新手机,s5820,移动的定制机。老爸和我抱怨说手机越来越慢了,问我能不能清理变一点。 拿过了一看果然是定制机,安装了很多的软件,新浪微博呀,人人呀,一大堆乱七八糟…

h3c 交换机 s5048PV5-EI stp配置

1 生成树协议概述 1.1 STP简介 1.1.1 STP的协议报文 1.1.2 STP的基本概念 1.1.3 STP的拓扑计算过程 1.1.4 STP算法实现举例 1.1.5 STP的BPDU传递机制 1.1.6 STP的时间参数 1.2 RSTP简介 1.2.1 RSTP的协议报文 1.2.2 RSTP的基本概念 1.2.3 RSTP的工作原理 1.2.4 RST…

H3C S5820V2_5830V2交换机IRF2堆叠后升级方法

升级前的准备工作l 准备好升级所需的软件版本文件S5820V2_5830V2-CMW710-R2208P01.ipe; l 通过ftp或tftp将版本文件上传到slot1和slot2的flash:/目录下; 1.1. 先升级Master设备,再升级Slave步骤 步骤 工作内容 1 先删除配置中关于mad检测…

华为S5720-52X-PWR-LI/S5720-52X-LI交互机堆叠和VLAN配置

主要配置流程为: 交换机设备上电通过console线或网线连接到交换机后,进行参数和堆叠配置断电,连接好光纤重新上电 1. 首次登录交换机 使用Putty软件,通过串口,连接到交换机: 2. 机上交换机配置 (1&…

H3C双向NAT典型组网配置案例

组网说明: 本案例采用H3C HCL模拟器来模拟实现双向NAT的组网,由于模拟器和本物理机的局限性,因此采用模拟器的S5820交换机开启WEB功能模拟成为WEB服务器。在该网络拓扑图中,内网和外网已经有了明确的标识,某局点申请了…

华为交换机S5720命令

1.OSI 七层模型 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 2.华为产品文档: http://support.huawei.com 3.ACL 访问控制列表 访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表&a…