W25Q16V 是华邦出的一颗 spi flash. 25系列是比较通用的一个系列. 后面的数字 16 跟容量有关, 16 表示 16Mbits, 相当于 2MB. 与此类似的还有 W25Q128V 等, 128 就表示容量 16MB. 对于 W25Q16V:
封装如图的 8-pin 是较常用的一种封装. 各 pin 的意义:
内部模块框图SPI 操作标准 SPI 有四根信号线: CS, CLK, DI, DO. 其中 DI 用于在CLK上升沿时输入指令, 地址或数据, DO用于在CLK下降沿时读数据或状态. SPI 总线有四种工作模式, 区别是 CLK 常态电平 和 数据采样时机. W25Q16V 支持 MODE0 和 MODE3. 详见这篇笔记 使用3B/BB指令可以进入"快速双路模式", 此时DI/DO变为IO0, IO1. 6B, EB 进入"四路"模式, 此时 WP, HOLD 分别变为 IO2, IO3 状态寄存器BUSY, 只读位,当 SPI FLASH 在执行 页编程, 扇区擦除, 块擦除, 整片擦除, 写状态寄存器指令 等操作时, BUSY位被置1, 这些操作完成之后, BUSY位自动清0. 当BUSY位为1时, 除了"读状态寄存器"操作和"擦除暂停"操作之外, 不接受任何其他操作. WEL, Write Enable Latch只读位. 当执行了一个"写使能"指令后, WEL置1, 表示可以写入了. "写禁止"时, WEL为0. "写禁止", "页编程", "扇区擦除", "块擦除", "整片擦除", "写状态寄存器", 执行完这些操作之后, WEL 自动被清0, 回到禁止写入状态. BP0, BP2, BP2 (Block Protect Bits) 块保护"写状态寄存器" 指令可以改变这些位的值. TBSECSRP1, SRP0, 状态寄存器保护这两个位 与 WP 引脚一起, 用于保护状态寄存器不被改写. QE指令有 26 个基本指令. DI 输入的第一个字节就是指令代码. DI在CLK上升沿采样, MSB . 指令有一个或多个字节, 可能后面还有地址, 数据, dummy. |
|