W25Q128
1. 芯片总容量
“W25Q128”中的“128”代表128Mbit(兆比特)。
总容量(字节) = 128 Mbit / 8 = 16,777,216 字节 (即16MB)。
2. 页大小(Page Size)
根据W25Q128的官方数据手册(Datasheet),其编程操作的基本单位是页(Page)。
一页 = 256 字节。
这是最重要的写入单位。你可以一次连续写入最多256个字节到一页中。如果你想写入的数据量超过256字节或者发生了“跨页”(即写入的起始地址加上数据长度超过了当前页的边界),就必须将这次写入操作分成多个“页编程”命令来执行。
3. 总页数计算
知道了总容量和一页的大小,总页数就很容易计算了:
总页数 = 总容量 / 页大小
总页数 = 16,777,216 字节 / 256 字节/页 = 65,536 页
4. 更大的擦除单位:扇区(Sector)和块(Block)
对于Flash芯片(如W25Q128),除了写入的基本单位“页”,擦除有更大的单位,了解这一点至关重要:
扇区(Sector): 4 KB (即16页)。这是最常用的擦除单位。如果你想改写某个扇区里的任何一个字节,都必须先擦除整个4KB的扇区,然后再重新写入数据。
块(Block): 64 KB (即16个扇区,或256页)。提供了更大的擦除单位,用于大规模数据管理。
整片擦除(Chip Erase): 还可以一次性擦除整个芯片。
重要提示: Flash存储器(如W25Q128)与EEPROM的一个关键区别是:它不能像EEPROM那样直接覆盖(覆盖写)单个字节。它的标准操作流程是:
读取: 如果需要修改一个扇区内的部分数据,需要先将整个扇区的数据读取到微控制器的RAM中。
修改: 在RAM中修改需要改变的数据。
擦除: 擦除目标扇区(整个4KB)。
写入: 将修改好的整个扇区数据重新编程(写入)回去。
总结表
参数 值 说明 芯片型号 W25Q128JV (常见版本) 总容量 128 Mbit / 16 MB 16,777,216 字节 页大小 (Page) 256 字节 写入/编程的基本单位 扇区大小 (Sector) 4 KB (4096 字节) 擦除的基本单位 (包含16页) 块大小 (Block) 64 KB (65536 字节) 大擦除单位 (包含16个扇区) 总页数 65,536 (16,777,216 / 256)