Winbond 采购实际出错的环节 #

几乎没有人会为找不到 Winbond 串行闪存数据手册而发愁。真正导致返工的问题更具体、代价也更高:采购人员拿到 `W25Q128JV`,找到十几个可订购代码,全都写着“128 Mbit,SPI,SOIC-8”,于是挑一个有现货的,三周后却发现新批次上引导加载程序起不来。

Winbond 的订购规则很有章法——每个字母都有特定含义,而且这些含义都公布在每份数据手册的第 11 节。问题在于,其中两个字母会改变你在板子上看不到的行为,还有一个字母会改变固件回读的设备 ID。这些字母正是在把料号重新敲进 RFQ 时容易被漏掉的。

LimChip 目录目前收录了 50 个已发布的 Winbond 代码——33 个串行 NOR(W25Q 系列中 27 个、五个 W25X、一个 W25R)、五个串行 NAND、两个并行 NAND 和十个专用 DRAM。本指南介绍这些系列如何划分、如何逐字段解读代码,以及哪些后缀差异会真正阻碍替代。

对于 FPGA 板卡而言,料号管控只是其中一层。配套的FPGA 配置存储器指南说明了启动 ROM 支持、QSPI 寻址、eMMC 拓扑、认证和回退策略如何约束闪存的选择。

四大闪存系列及各自用途 #

Winbond 对代码存储闪存的划分依据是接口和裸片类型,而不是终端市场,所以看系列前缀基本就能判断出所需信息。

系列是什么我们目录中的容量典型用途
W25X传统 SpiFlash,仅支持 Standard 和 Dual SPI,无 Quad1–4 Mbit成熟板卡上的小型参数和配置存储
W25Q主流 SpiFlash NOR,Standard / Dual / Quad SPI,4 KB 扇区8 Mbit – 1 Gbit启动代码、XIP 固件、FPGA 配置
W25R与 W25Q 相同,另加 RPMC 安全模块256 Mbit需要回滚保护的平台上的 UEFI/BIOS 存储
W25N带片上 ECC 和坏块管理的串行 SLC NAND1–4 GbitNOR 容量变得不经济的场合——日志、镜像、文件系统

表中这两条分界线比其他内容更值得关注。

第一组是 W25X 与 W25Q。W25X 早于 Quad 接口出现,因此 W25X40CLSNIG 这类器件在 2.3–3.6 V 电源轨上支持最高 104 MHz 的 Standard 和 Dual SPI。如果某个设计原本基于 W25X,有人用同容量的 W25Q 器件来替代,封装通常一致,板子一般也能正常工作——但反过来不行。控制器若配置为 Quad I/O,在 W25X 裸片上根本无处可用。

第二组是 W25Q 与 W25N,也就是 NOR 与 NAND 的分界。串行 NAND 采用按页访问,页结构为 2048 + 64 字节,并且必须处理坏块。Winbond 在裸片上集成了 ECC 和坏块查找表,为宿主分担了大部分工作,但它仍然不能替代 NOR:你无法像从 W25Q 那样从它上面就地执行。在两者之间做选择是架构层面的决策,而非采购层面的决策。如果底层 NOR/NAND 的区别才是待解的问题,我们的存储器技术术语表会在你进入订购代码之前加以说明。

逐字段解读 W25Q 代码 #

Winbond W25Q 订购代码解析,展示 W25Q128JVSIQ 的六个字段以及其中哪些会改变板卡、哪些会改变固件
Winbond W25Q 订购代码解析,展示 W25Q128JVSIQ 的六个字段以及其中哪些会改变板卡、哪些会改变固件

对照 W25Q128JV 数据手册的订购表,逐段拆解 `W25Q128JVSIQ`:

字段值含义
系列`W25Q`SpiFlash NOR,4 KB 扇区,Dual/Quad I/O
容量 / 代次`128J`128 Mbit,J 代
供电电压`V`2.7–3.6 V(`W` = 1.7–1.95 V)
封装`S`8 引脚 SOIC 208 mil
温度`I`工业级,−40 至 +85 °C(`J` = +105 °C)
特殊选项`Q`绿色封装,状态寄存器-2 中的 QE 位固定为 1

关于这张表,有两点需要实际注意。

封装字母是按各数据手册定义的,并非整个系列通用。 在 W25Q128JV 上,封装字段是单个字母——`S` 表示 SOIC-8 208 mil,`F` 表示 SOIC-16 300 mil,`E` 表示 WSON 8×6 mm,`P` 表示 WSON 6×5 mm。在 32 Mbit 器件上,同一字段是两个字母,因为需要区分的选项更多:`SS` 和 `SN` 区分 208 mil 与 150 mil 的 SOIC,`ZP` 和 `ZE` 区分两种 WSON 尺寸,`UU` 是 USON 4×3 mm。而且这些字母的含义在不同容量之间甚至都不一致——`UU` 在 W25Q32JV 上是 USON 4×3 mm,而我们目录中 16 Mbit 器件(W25Q16JVUXIQ)的 USON 选项是 `UX`,尺寸为 2×3 mm。请查阅你实际要购买的那个容量的订购表。

器件打标不是料号。 Winbond 自己的说明写得很清楚:`W` 前缀不会标在器件上,WSON 器件也不标 `ZP`/`ZE` 封装代码。来料检验如果把激光打标与采购订单逐字符比对,完全合格的材料也会被误判为不合格。

四种不能直接替换的后缀变化 #

选项字母会改变设备 ID #

这一项最耗时间。在 W25Q128JV 上,选项 `Q` 出厂时状态寄存器-2 中的 Quad Enable 位固定为 1,并与较旧的 FV 系列向后兼容。选项 `M` 出厂时 QE 可编程且默认为 0,并且——根据数据手册注释——使用新的设备 ID 来标识 JV 系列。

所以 `W25Q128JVSIQ` 和 `W25Q128JVSIM` 容量相同、2.7–3.6 V 电源轨相同、SOIC-8 封装相同、温度等级相同,但对软件而言并不是同一器件。驱动程序读取 JEDEC ID 并与表格比对时,会遇到不认识的 ID;控制器如果假定 Quad 模式已启用,在 `M` 器件上就会出错。我们的目录在 128 Mbit 和 64 Mbit 上都列出了这两种后缀,正是出于这个原因,它们作为单独条目备货和报价。某些容量上还有 `N` 选项,它像 `Q` 一样将 QE 固定为 1,但还会把输出驱动强度设为 75%。

1.8 V 与 3 V 封装相同,但供电轨不同 #

`W25Q128JVSIQ` 要求 2.7–3.6 V,`W25Q128JWSIQ` 要求 1.7–1.95 V。两者型号只差一个字母,封装可互换,但电气上并不兼容。这类问题目视检查发现不了,一上电就会暴露;而只要有人在邮件里把料号简写,就很容易埋下隐患。在较新的 SoC 平台上,闪存常与低压 I/O 组共用一条供电轨,因此 1.8 V 版本用得很多,两类器件同时出现在同一个 BOM 库中也属正常。

硬件 /RESET 引脚只出现在两种封装上 #

在 JV 系列中,专用硬件 `/RESET` 引脚仅 SOIC-16 和 TFBGA 封装才有。8 引脚和 8 焊盘封装的第 7 引脚是 `/HOLD` 与 `/RESET` 复用功能,且仅支持 Standard 和 Dual SPI——在 Quad 模式下该引脚为 IO3。

正因如此,W25Q256JVFIQ 才作为独立型号存在,与 8 引脚 256 Mbit 型号区分开来:`F` 代表带专用复位引脚的 16 引脚 SOIC 300 mil 本体。如果设计中依靠拉低复位来恢复挂死的闪存,那么为节省板面积而改用 8 引脚封装,就等于去掉了这一恢复手段。此时换封装是功能变更,而非占位变更。更多封装类型说明见我们的 IC 封装识别指南。

W25R 与 W25Q 引脚兼容——但只能单向替换 #

W25R 中的 `R` 代表 Replay-Protected Monotonic Counter(防重放单调计数器)。Winbond 推出该系列,是为了满足 Intel 的 RPMC 规范和 Microsoft 的 UEFI 安全启动要求,为此增加了 SHA-256 加速器、32 位单调计数器、一旦烧录便无法再访问的 256 位根密钥,以及易失性 HMAC 密钥。Winbond 在 2018 年 10 月的公告中明确说明,这些器件采用标准闪存封装,因此 PC 厂商无需重新设计主板,就能从标准 W25Q 换用支持 RPMC 的 W25R。

这一点要仔细看,因为替换只能单向进行。从 W25Q 换成 W25R,增加的功能平台可以不用。从 W25R 换成 W25Q,则去掉了安全启动平台要检查的计数器,主板会拒绝启动。使用闪存工具的人还会遇到第二个陷阱:W25R256JW 与 W25Q256JW 的 JEDEC 器件 ID 相同,靠 ID 无法区分二者,但两者支持的块擦除指令并不一样。如果编程工具把器件 ID 当作足够的识别依据,就会把其中一款处理错。

同样的“隐形字母”现象也出现在 NAND 一侧。在串行 NAND 产品线上,末尾的选项字母决定了默认读取模式——Winbond 自己的参数表显示,1 Gbit 代码出货时默认采用 Buffer Read,而其他代码默认采用 Continuous 或 Sequential Read,另一种模式则作为可选项提供。引脚兼容、同属一个裸片系列,但上电后首次读取时的行为却不同。

末尾的 G 并不代表不同器件 #

有一个后缀特别值得留意,因为它乍看之下容易让人警觉:Winbond 料号第 13 位上的 `G` 表示该物料采用可再生能源制造——Winbond 给出的例子是 W25H02JVTBIMG 与 W25H02JVTBIM。两者的所有规格和特性完全相同,区别仅在于制造所用的电力来源。

如果供应商针对没有该后缀的 BOM 行提供 `…G` 版本,从工程角度看这根本算不上替代。这种情况应核实,不能想当然,也不应因此触发重新验证。

在订购代码层面检查生命周期 #

Winbond 在自家产品页面上按具体料号公布生命周期数据,比笼统地标一个系列“在产”对采购更有参考价值。在敲定设计或大批量下单之前,有两个字段值得先查:

  • 工业/汽车级状态 — `P` 量产,`S` 样品,`UD` 开发中,`N` 不推荐用于新设计,`EOL` 停产。即使物料仍有供应,如果你准备采用的准确型号上标着 `N`,就需要重新考虑。
  • 长寿命 — `Y` 表示该型号在 Winbond 产品长寿命计划覆盖范围内;`N` 表示没有长寿命承诺。对于设计寿命十年的工业设备,这一区别比当前库存量更重要。

汽车级单独列出,值得对照实际环境要求核实,而不是想当然:`AG1` 覆盖 −40 至 125 °C,`AG2` 覆盖 −40 至 105 °C,`AG2+` 覆盖 −40 至 115 °C,`AG3` 覆盖 −40 至 85 °C。另请注意,Industrial Plus(105 °C)器件在 105 °C 下做功能测试,而耐久性测试在 85 °C 下进行——如果应用确实会在温度范围上限反复循环,那么该看的是可靠性报告,而不是等级字母。

Winbond 闪存 RFQ 应包含哪些内容 #

这里的风险很大程度上集中在料号最后两个字符上,所以用截断的料号去询价,是收到错误物料最常见的原因。一份可用的询价应写明:

  • 完整可订购代码,包括电压、封装、温度和选项字母——`W25Q128JVSIQ`,而不是“W25Q128 SOIC-8”;
  • 选项字母是否由固件固定,这样就能立即判断某个替代后缀可用还是不可用,不必等收货后再确认;
  • 包装,因为 Winbond 这些 SOIC 器件的标准散装出货是管装,卷带或托盘需在订购时指定——WSON 器件则默认托盘。若按卷带备料却收到管装,SMT 产线就会停线;
  • 可接受的日期码窗口、数量以及批次一致性要求(如果该批次是单次生产)。

结论 #

Winbond 这四个系列解决的是不同问题:W25X 用于传统低密度参数存储,W25Q 用于主流启动和 XIP,W25R 用于平台要求回滚保护的场合,W25N 则用于密度超出 NOR 的情况。在 W25Q 内部,决定两个代码能否互换的字段,并不是那些看起来重要的字段。密度和封装一目了然,通常都会核对。电压字母、温度等级和选项字母都是单个字符,转录时容易被漏掉——而选项字母可能改变固件匹配的器件 ID,这就使它成为一种功能差异,只是披着包装代码的外衣。

实用规则很简单:把完整订购代码当作器件本身,针对具体密度核对数据手册中的封装表,并在批准任何替代料之前,对照固件预期确认选项字母。我们发布的 Winbond 串行闪存代码 按完整后缀逐项列出,而不是按系列分组,所以你引用的代码就是你收到的代码。

来源 #

最终设计决策请以原厂数据手册及获批准的工程资料为准。