一文搞定 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 库适配。

相关新闻

从文档到能力单元:如何从零搭建可复用的skills体系

从文档到能力单元:如何从零搭建可复用的skills体系

1. 从“skills”这个词说起:它为什么值得单独拎出来聊“skills”这个词,单独看平平无奇,但如果你最近在开发者社区、效率工具圈或者个人成长类内容里泡过,就会发现它出现的频率高得离谱。有人把它当成一个能力清单,有人…

2026/10/20 4:51:51 阅读更多 →
TensorFlow入门指南:从张量到部署的完整实操与避坑经验

TensorFlow入门指南:从张量到部署的完整实操与避坑经验

1. 为什么“tensorflow”这个标题值得单独拎出来聊很多人第一次看到“tensorflow”这个词,脑子里蹦出来的画面大概是满屏的数学公式、一堆看不懂的报错,还有那种“装了两小时环境,跑起来三秒就崩”的绝望感。我特别理解这种感受,因…

2026/10/20 4:51:51 阅读更多 →
多Agent系统通信与上下文共享:架构设计与实战避坑指南

多Agent系统通信与上下文共享:架构设计与实战避坑指南

多Agent系统这两年热度一直居高不下,但很多人搭完Demo之后会发现一个很尴尬的事:Agent一多,大家各说各话,A辛辛苦苦算出来的中间结果,B根本看不到,最后汇总出来的东西驴唇不对马嘴。问题就出在一件事上——…

2026/10/20 4:51:51 阅读更多 →

最新新闻

Agent记忆系统完全指南:从架构拆解到工程实战

Agent记忆系统完全指南:从架构拆解到工程实战

做智能体(Agent)的项目时间越长,我越觉得“记忆系统”是最容易被低估、却又最能拉开体验差距的一块。大家平时聊天都喜欢盯着模型参数、工具调用、提示词模板,真正让一个 Agent 从“答非所问”变得“像个靠谱的同事”的&#xff0…

2026/10/20 5:37:12 阅读更多 →
用Python+Markdown+JSON自动生成PPTX,告别机械排版

用Python+Markdown+JSON自动生成PPTX,告别机械排版

每次接到PPT任务,我下意识做的第一件事不是打开幻灯片软件,而是先想怎么用最少的时间做出一套能看的片子。别误会,这不是偷懒,是因为大多数商务汇报、课程分享、项目总结,结构上真的高度重复:封面、目录、章…

2026/10/20 5:37:12 阅读更多 →
MySQL子查询实战:分类、性能优化与常见坑

MySQL子查询实战:分类、性能优化与常见坑

说个我早年写报表时遇到的真实需求:把每个部门工资最高的人捞出来。第一次写的时候我直接GROUP BY dept_id然后MAX(salary),以为一句SQL收工,结果一看结果集,部门是出来了,可人员信息完全对不上——分组之后你只能拿到…

2026/10/20 5:37:12 阅读更多 →
销售单据模板配置方法:打单软件的字段、纸型与多端打印

销售单据模板配置方法:打单软件的字段、纸型与多端打印

门店打印可以拆成一条清晰流程:选择单据类型,确定纸张规格,配置字段与店铺信息,保存模板,再由电脑或移动端调用。销售单据模板如果脱离这条流程单独维护,往往会出现版本混乱、纸型错位和重复修改。 下面以打…

2026/10/20 5:37:12 阅读更多 →
MySQL排序规则冲突:Illegal mix of collations报错排查与修复实战

MySQL排序规则冲突:Illegal mix of collations报错排查与修复实战

1. 报错现场:先用"翻译法"看懂这条Java异常在说什么下午三点多,测试环境突然开始刷日志,一条异常卡在中间特别扎眼:Caused by: java.sql.SQLException: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf…

2026/10/20 5:37:12 阅读更多 →
从零搭建能干活的Bot:环境搭建、创建与群组集成实战

从零搭建能干活的Bot:环境搭建、创建与群组集成实战

1. 从零搭建一个能干活儿的 Bot:整体思路与方案选型很多人第一次接触 Bot 这个概念,脑子里浮现的都是那种只会回复“你好,请问有什么可以帮您”的机械应答器。但真正在团队里干过活的人都知道,一个能拉进群、能接任务、能自动处理…

2026/10/20 5:36:12 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* 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 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* 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 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* 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 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/18 12:16:16 阅读更多 →