解读Datasheet系列:W25Q80DV(华邦 SPI Flash)
本文只对 W25Q80DV 数据手册的一部分进行解读,其涵盖的内容基本足够开发标准 SPI 接口的 Linux 驱动和裸板驱动。完整的 Datasheet 下载: 一般描述 W25Q80DV(8M-bit)是一个串行 Flash 存储器。容量为 8M-bit(存储器被组织成 4096 页,每页 256 字节),同一时间最多可以写 256 字节(一页)。 Anyway,先记住下面的参数:
供电: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)。 特性
芯片封装和管脚定义SOIC、WSON、PDIP 管脚描述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 串行时钟输入管脚为串行输入和输出操作提供时序。 结构图寄存器控制寄存器 & 状态寄存器 读 状态寄存器1 和 状态寄存器2 指令用于提供有效 Flash 存储器阵列的状态,比如设备的写使能、写保护、Quad SPI 设置、安全寄存器锁状态和 Erase/Program 挂起状态等。 状态寄存器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,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 在前。 厂商和设备标识指令表(Standard SPI Instructions)(只列出常用指令,码制为十六进制) SPI 操作W25Q80DV 支持标准 SPI 指令。W25Q80DV 允许通过 SPI 兼容总线进行操作,包括四个信号:串行时钟(CLK)、片选(/CS)、串行数据输入(DI)和串行数据输出(DO)。标准 SPI 指令使用 DI 输入管脚将指令、地址和数据连续地写到设备(在 CLK 上升沿),DO 输出管脚用于从设备端读数据或状态(在 CLK 下降沿)。 支持 SPI 总线操作模式0 (0,0) 和模式3 (1,1)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Ruby中实现`call_user_func_array`
- ruby-on-rails – 使用google contacts api通过我的rails应
- [寒江孤叶丶的Cocos2d-x之旅_31]lua的table深拷贝
- Cocos-JS 加载Cocos Studio文件获取按钮实现
- Flex 利用ActionScript接口实现Module模块间的数据通信
- ruby-on-rails – Google Oauth使用omniauth-google-oauth2
- cocos2dx-3.0的开发准备
- 从特定的Realm对象Swift中删除所有数据
- c# – 如何以编程方式读取web.config值?
- 第一章:hybrid app