Flash芯片

Flash ROM 是近些年应用最广、速度最快的只读存储器,原理是从 EEPROM 基础上改进发展来的,特点是擦除和编程速度快,因此得名为闪速(或闪烁)存储器,简称闪存。

存储区域

描述 Flash 的存储区域常用到扇区这些专用名词,其实是从早期的软盘、硬盘等存储器发展而来,目的是将一个存储器划分为多个区域,更方便的编程管理这些存储单元。

根据容量大小来说,它们的关系是  页(Page)< 扇区(Sector) < 块(Block)< 芯片(Chip)

通常的换算关系如下:

每块每扇区每页
16 扇区16 页256 Byte(2048 bit)

常用 FLASH 型号大小如下

型号W25Q80W25Q16W25Q32
163264
扇区2565121024
4096819216384
字节数1M Byte(8M bit)2M Byte(16M bit)4M Byte(32M bit)

写入和擦除

Flash 写入数据时和 EEPROM 类似,不能跨页写入,一次最多写入一页,如 W25Q128 的一页是 256 字节。写入数据一旦跨页,必须在写满上一页的时候,等待 Flash 将数据从缓存搬移到非易失区,重新再次往里写。写入时的最小单位:1 Byte,即一次可写入 1~256 Byte 的任意长度字节。

未进行写入时,FLASH 里面的数据为全 1,即 0xFF。写入数据时只能将 1 写入为 0,而不能将 0 写入为 1,只能先进行擦除再重新写入。如对于 0xF0(1111 0000),只有高 4 位可写入,低 4 位不可直接写入。

Flash 擦除数据时的最小单位通常为扇区,也可选择按块或全片擦除。

引脚功能

如图为常见的 8pin flash 芯片引脚。

  • CS:chip select 片选. CS 拉高时,芯片处理省电模式,各数据引脚 (D0/D1/D2/D3) 处理高阻态;CS 拉低时芯片工作,数据引脚可以传输数据。
  • DO:(在 CLK 下降沿) 输出数据或状态。正常情况下只有 DI/DO 作为 IO 引脚,启用 Quad 模式需要置 QE (Quad Enable) 位. QE=1 时,WP 和 HOLD 分别变为 IO2,IO3.
  • WP:低电平有效,保护状态寄存器不被写入。
  • GND:接地
  • DI:(在 CLK 上升沿) 向 Flash 输入指令,地址 或 数据.
  • CLK:提供输入输出操作的同步时钟.
  • HOLD:当多个芯片共用 SPI 总线时非常有用. HOLD 为低电平时,DO 引脚变为高阻态,且此时 DI/CLK 上的信号被忽略。相当于芯片此时不工作。假设对一个 SPI FLASH 的页写操作只进行到一半,此时一个中断来了,另一个更高优先级的任务要占用 SPI 总线,此时就可以使用 HOLD 拉低来暂停 SPI FLASH 内部的工作,等到任务切换回来再让操作继续下去.
  • VCC:通常 2.7 ~ 3.6V
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇