news 2026/10/20 4:51:49

一文搞定 ROM 芯片实战:型号解码、参数选型与电路连接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文搞定 ROM 芯片实战:型号解码、参数选型与电路连接

一文搞定 ROM 芯片实战:型号解码、参数选型与电路连接

系列:微机原理与存储器系列(第 4 篇:ROM 芯片实战篇)
摘要:本文教你从型号看懂 ROM 芯片的容量与类型,详解 EPROM(2716/2764/27256)、EEPROM(24C02/28C64)、NOR Flash(W25Q 系列)、NAND Flash 的典型型号与引脚,解读存储容量、速度、擦写寿命、电压、接口等核心参数,给出并行 ROM、SPI Flash、I²C EEPROM 的连接方法与极简示例代码。关键词:ROM、EPROM、EEPROM、NOR Flash、NAND Flash、W25Q、24C02、SPI、I²C、选型。
关键词/标签:微机原理存储器ROMEPROMEEPROMFlashSPII²C选型嵌入式
首图建议:统一系列风格,标注"系列 04:ROM 芯片实战篇"。


1. 开篇:不同场景如何选 ROM 芯片,看懂型号是第一步

核心结论:固件固化、参数保存、大容量数据存储是三种截然不同的场景,分别对应 EPROM/Flash、EEPROM、NAND Flash;而看懂型号,是选对芯片的第一步。

ROM 家族从 EPROM 走到 NAND Flash,每种都对应一个典型场景:

应用场景首选类型理由
固件 / 程序固化(可小批量改写)EPROM 或 NOR Flash随机读取、可 XIP 运行代码
参数 / 配置等掉电数据保存EEPROM字节级擦写、免擦除、寿命长
大容量数据(U盘、存储卡)NAND Flash高密度、低成本

而这一切的前提,都是先看懂芯片型号——型号本身就包含了容量、类型、工艺等信息。


2. ROM 芯片命名规则拆解

核心结论:ROM/Flash 型号同样遵循"厂商 + 系列 + 容量 + 类型 + 速度 + 封装"的结构;EPROM 以"27"为系列代号、EEPROM 以"28"为系列代号,其后数字代表位容量。

2.1 从系列代号读懂"类型"

  • 27 系列 = EPROM:Intel 的 27 系列产品,型号后数字表示位容量[[1]]。如 2764 的"64"代表 64K 位(bit),按字节每字 8 位,即 8K×8 = 8KB[[2]]。
  • 28 系列 = EEPROM 或 Flash:如 28C16、28C17、2817A 是典型 EEPROM[[3]];数字"28"同时用于 EEPROM 和 FLASH 器件[[4]]。
  • 字母"C":表示 CMOS 工艺。如 27C64 中间加 C 代表 CMOS EPROM,相比普通 EPROM 功耗小得多、价格稍贵、使用方法相同[[5]][[6]]。

2.2 举例拆解 27C64(EPROM)与 28C64(EEPROM)

27C64:

27 C 64 │ │ └─ 位容量 64Kbit → 8K×8 = 8KB[[7]][[8]] │ └────── C = CMOS 工艺,功耗低[[9]] └───────── 27 = EPROM 系列代号

28C64:

28 C 64 │ │ └─ 64Kbit 容量(8K×8) │ └────── C = CMOS 工艺制造[[10]] └───────── 28 = EEPROM 系列代号

容量换算口诀:EPROM/EEPROM 型号后的数字是位容量,除以 8 即得字节容量[[11]]。如 2764 = 64Kbit ÷ 8 = 8KB[[12]]。

2.3 EPROM 型号容量速查

型号位容量字节容量地址范围
271616Kbit2KB0000H-07FFH[[13]]
273232Kbit4KB0000H-0FFFH[[14]]
2764 / 27C6464Kbit8KB0000H-1FFFH[[15]][[16]]
27128 / 27C128128Kbit16KB0000H-3FFFH[[17]][[18]]
27256 / 27C256256Kbit32KB0000H-7FFFH[[19]][[20]]
27512512Kbit64KB0000H-0FFFFH[[21]]

(型号容量分档参考[[22]][[23]][[24]])


3. 各类典型 ROM 芯片详解

3.1 EPROM 经典型号:2716、2764、27256

核心结论:2716 是 24 引脚 2KB EPROM,2764/27256 是 28 引脚 8KB/32KB EPROM;三者引脚具有兼容性,2764 以 PN 引脚(紫外线擦除)为典型特征。

  • 2716:2KB×8,24 引脚,是 27 系列早期典型[[25]][[26]];
  • 2764:8K×8,28 引脚[[27]]。2764 是 8K×8 紫外线擦除、电可编程 ROM,单一 +5V 供电,最大工作电流 75mA、维持电流 35mA,读出时间最大 250ns[[28]];2764 编程需 Vpp 加高压(如 25V)[[29]];
  • 27256:32K×8,28 引脚[[30]][[31]]。

引脚兼容性:2716 与 2732 均为 24 引脚,2764、27128、27256 均为 28 引脚,引脚具有兼容性[[32]][[33]]。2764 的引脚包含 A12-A0 地址、D7-D0 数据、VPP(编程电压)、VCC、OE、CE 等[[34]]。

3.2 EEPROM 经典型号:24C02、28C64

核心结论:28C64 是"28"系列的并行 EEPROM,常见于存 BIOS;24C02 是 2Kbit 的 I²C 串行 EEPROM(256 字节),广泛用于单片机掉电数据保存,可反复写 30 万-100 万次。

28C64(并行 EEPROM):

  • 28C64 是 EEPROM 的典型示例;"C"表示 CMOS 工艺;EEPROM 通常用于产品数据存储,因为可被计算机写入[[35]];
  • 主板通常用 EEPROM 芯片储存 BIOS[[36]],BIOS ROM 正是这类并行 EEPROM 的经典应用。

24C02(I²C 串行 EEPROM):

  • 容量 2Kbit =256 字节[[37]][[38]];
  • 基于I²C 协议与单片机连接[[39]]:SDA(数据)、SCL(时钟)两线[[40]][[41]];
  • 地址由A0/A1/A2引脚决定,可多器件共线;写地址 0xA0、读地址 0xA1[[42]];
  • 可反复写入30 万-100 万次、读取无限次[[43]];
  • 相比单片机内部 Flash,24C02 写入次数多、无需擦除操作,适合掉电保存(如电表度数、频道记忆)[[44]][[45]][[46]];
  • EEPROM 与 RAM 读写操作几乎无差别,只是写入速度慢,断电后能保存[[47]][[48]]。

3.3 NOR Flash 典型芯片:W25Q 系列

核心结论:W25Q 系列是应用最广的 SPI NOR Flash,有 W25Q32/64/128 等容量档,体积小、功耗低,广泛用于嵌入式与消费电子;其特点是"先擦除后写入"。

  • W25Q 系列是大容量SPI Flash 存储器,体积小巧、功能强大,广泛应用于嵌入式,尤其适合 STM32 项目[[49]];
  • 常见容量档:W25Q32、W25Q64、W25Q128[[50]];
  • 采用SPI 协议通信,简化硬件设计[[51]];
  • 特性是先擦除后写入;通过通信接口(片选 CS 低电平有效)与 MCU 通信[[52]];
  • 型号后缀数字通常代表容量(如 64 = 8MB,128 = 16MB)。

3.4 NAND Flash:典型型号、结构、应用

核心结论:NAND Flash 用于大容量数据存储,需按块/页读写、易出现坏块,通常需 ECC 纠错和坏块管理,典型应用是 U 盘与本地大容量存储。

  • 应用定位:大容量存储[[53]](U 盘、存储卡等本地存储设备);
  • 结构特点:单元串联成串行结构,需按块/页读写,不提供随机访问[[54]];
  • 读取最慢(25-50μs)[[55]];
  • 需错误探测/更正(EDC/ECC)算法处理不可靠的位交换现象,使用 NAND 一般要配合 ECC/坏块管理[[56]];
  • NAND 使用时需先写驱动程序,且不能向坏块写入,需虚拟映射管理[[57]];
  • 成本低、功耗低、密度高[[58]]。

4. 核心参数解读与选型指南

核心结论:选 ROM 芯片要看容量、速度、擦写寿命、工作电压、接口类型五大参数;场景决定类型:固件用 Flash/EPROM、参数用 EEPROM、大容量用 NAND。

4.1 五大核心参数

参数含义与说明参考案例
存储容量可容纳数据量,注意"位"与"字节"换算2764=8KB[[59]]、24C02=256B[[60]]
读取速度读出时间 / 访问时间2764 读出最大 250ns[[61]]
擦写寿命可擦写次数上限24C02 可写 30万-100万次[[62]]
工作电压读电压与编程电压(Vpp)2764 读 +5V,编程需高压[[63]][[64]]
接口类型并行(地址/数据总线)或串行(SPI/I²C)28C64 并行、24C02 走 I²C[[65]][[66]]

4.2 选型指南

场景推荐理由
固件 / 程序固化NOR Flash(如 W25Q)或 EPROM随机读取、可 XIP 运行代码[[67]]
配置数据 / 参数掉电保存EEPROM(如 24C02)字节擦写、写入次数多、免擦除[[68]][[69]]
大容量数据存储NAND Flash密度高、成本低[[70]]
大批量量产固件掩膜 ROM成本最低
低功耗场景CMOS 型(C 后缀)CMOS 功耗远低于普通型[[71]]

参考一行:SRAM 用于 CPU 缓存、DRAM 做主内存、ROM 存固件、EEPROM 存配置、NOR Flash 存代码、NAND Flash 做大容量存储[[72]]。


5. 基础配置与典型电路

核心结论:并行 ROM 走"地址-数据-控制"三总线连接;串行 Flash 走 SPI 四线;EEPROM 走 I²C 两线;三者接线与编程方式截然不同。

5.1 并行 ROM 的连接(地址 / 数据 / 控制)

以 2764 并接单片机为例:

单片机 ──A12~A0────→ 2764.A12~A0(地址总线) ├──D7~D0────━━→ 2764.D7~D0(8 位数据) ├──读选通/PSEN─→ 2764.OE ├──译码输出────→ 2764.CE(片选) └──VPP 接编程电压(读时接 +5V)[[73]][[74]]

2764 引脚含 A12-A0 地址、D7-D0 数据、VPP(编程电压)、VCC、CE、OE 等[[75]];CE(芯片使能)与 OE(输出使能)共同控制读取[[76]]。

5.2 串行 Flash(SPI)的接线

W25Q 系列走 SPI 协议,典型接线:

MCU ── SPI_SCK ──→ W25Q.CLK ├── SPI_MOSI ──→ W25Q.DI ├── SPI_MISO ←── W25Q.DO └── GPIO/SS ──→ W25Q./CS(片选,低有效)[[77]][[78]]

特点:先擦除后写入,通过 SPI 底层函数与 MCU 通信[[79]]。

5.3 单片机读写 EEPROM(24C02,I²C)极简示例

I²C 两线:SDA(数据)+ SCL(时钟),线上挂上拉电阻[[80]];器件地址 0xA0(写)/0xA1(读)[[81]]。

// 以 STM32 为例(伪代码框架,参考 HAL 库)I2C_HandleTypeDef hi2c;// 写一字节到 addr 处uint8_twrite_byte=0xAA;HAL_I2C_Mem_Write(&hi2c,0xA0,addr,I2C_MEMADD_SIZE_8BIT,&write_byte,1,100);HAL_Delay(5);// EEPROM 写周期需等待[[82]]// 读一字节uint8_tread_byte;HAL_I2C_Mem_Read(&hi2c,0xA0,addr,I2C_MEMADD_SIZE_8BIT,&read_byte,1,100);

注:写入时需要延时等待 EEPROM 内部写周期,读取则无需等待[[83]];若 I²C 总线死锁,可将 SCL/SDA 设为 GPIO 翻转 9 个时钟复位[[84]]。


6. 开源硬件中的应用

核心结论:Arduino/STM32 常外接 W25Q 与 24C02,主板 BIOS 用并行 EEPROM/Flash,这些都是 ROM 家族在真实硬件中的典型落地。

  • STM32 外接 W25Q(SPI Flash):W25Q 广泛配合 STM32 做数据存储,提供sFLASH_Init()初始化等驱动[[85]][[86]];
  • STM32/51 外接 24C02(I²C EEPROM):基于 I²C 读写 24C02 是开发板最常用掉电存储方案[[87]][[88]][[89]];
  • BIOS ROM 芯片:主板上通常用EEPROM芯片存储 BIOS[[90]]。

7. 常见误区澄清

核心结论:ROM 不是"只能读";Flash 与 EEPROM 的本质区别在擦除单位——一个是字节、一个是扇区/块。

  1. 误区一:ROM 只能读,不能写。
    →纠正:EPROM、EEPROM、Flash 都可改写。EEPROM 可像 RAM 一样逐字节读写,只是写入慢;EPROM 可紫外线擦除重写[[91]]。

  2. 误区二:Flash 就是 EEPROM,二者一样。
    →纠正:Flash 可理解为 EEPROM 的升级版,核心区别在擦除单位——EEPROM 按字节擦除、成本高;Flash 按扇区/块擦除、密度更高成本更低(详见第 3 篇)。EEPROM(如 24C02)支持字节级擦写且免擦除即可覆盖写[[92]];而 W25Q 等 Flash必须先擦除后写入[[93]]。

  3. 误区三:只看容量不看接口。
    → 并行(28C64)与串行(24C02、W25Q)接线和驱动完全不同,选型时接口类型与容量同等重要[[94]][[95]]。


结语:从"看懂型号"到"选对芯片"

ROM 芯片实战的核心是四步:

  1. 拆型号:27=EPROM、28=EEPROM/Flash、C=CMOS,后数字是位容量÷8=字节容量[[96]][[97]];
  2. 识场景:固件用 NOR Flash、参数用 EEPROM、大容量用 NAND Flash[[98]];
  3. 对参数:容量、速度、寿命、电压、接口逐项核对;
  4. 连电路:并行三总线 / SPI 四线 / I²C 两线,按接口接入[[99]][[100]][[101]]。

下一篇预告:《存储器扩展与地址译码实战》——讲清地址译码器、存储器与 CPU 的地址分配、位/字扩展的完整工程实践。
系列闭环:

  • 第 1 篇:RAM 基础原理篇
  • 第 2 篇:RAM 芯片实战篇
  • 第 3 篇:ROM 演进史篇
  • 第 4 篇:ROM 芯片实战篇(本文)
  • 第 5 篇:存储器扩展与地址译码实战(下一篇)

注:本文事实来自公开教材、厂商文档与技术综述。W25Q 型号后缀与具体容量档、片内页/扇区大小等细节以具体数据手册为准;24C02 程序为教程示范框架,实际需按目标单片机与 HAL 库适配。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 4:51:12

Agent频繁跑飞?关键不在压缩Prompt,而在工程兜底

这段时间后台经常有人问我:Agent 老是跑飞,把 Prompt 压缩到极限还是不行,是不是模型选得不对?我发现很多团队看到 token 账单之后,第一反应就是把 Prompt 剪了又剪,恨不得把所有示例都删掉。其实这个方向大…

作者头像 李华
网站建设 2026/10/20 4:51:11

A* 算法(最详细中文版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/20 4:50:51

AI电商带货分镜工具:1秒生成18字段超精细脚本

最近有个做电商运营的朋友跟我抱怨,说团队里最怕的不是直播翻车,而是写分镜脚本改到凌晨两点。主播状态要写、机位景别要标、卖点话术要铺、卡片弹层要卡时间点,一版脚本改八遍,最后拍出来还是觉得哪里不顺。我把手头用了一阵子的…

作者头像 李华
网站建设 2026/10/20 4:48:19

基于Redis+Lua的分布式限流器设计与Go实战

1. 为什么要在网关层做分布式限流做过线上服务的人大概都有过这种经历:某个接口突然被刷,QPS 从几百飙到几万,数据库连接池瞬间打满,紧接着整个服务雪崩,连正常的用户请求都进不来。事后复盘发现,攻击者或者…

作者头像 李华
网站建设 2026/10/20 4:47:49

VXLAN内核态与Open vSwitch实现对比:性能、机制与选型指南

1. 项目缘起与核心问题拆解搞网络虚拟化的人,绕不开两个东西:一个是内核自带的VXLAN实现,另一个是Open vSwitch的VXLAN实现。很多人在搭建overlay网络时,面对这两种方案往往凭感觉选,或者干脆哪个能跑通就用哪个&#…

作者头像 李华