上个月给一款智能门锁项目改存储方案。主控是兆易创新的 GD32F450,板上原本挂着一颗 256Mb 的 NOR Flash,跑 LittleFS,OTA 升级几次之后出问题——固件写到一半断电,开机起不来。老板要求换方案,预算还不能涨。

我在立创商城筛了一圈,选中米客方德的 MKDV1GCL-ABF:1Gb 容量,SLC 颗粒,LGA-8 封装(6×8mm),工作温度 -25℃~+85℃,工作电压 2.7V~3.6V,SD 接口兼容 SPI 模式,内置 ECC、坏块管理和磨损均衡,规格书标称擦写寿命 6 万次、数据保留 10 年。折算下来单片容量是原 NOR 的 4 倍,单价反而更低。先买几片样片回板子实测。
第一步:和 NOR 比读写性能
原 NOR 走 QSPI 单线,实测读速 20MB/s 左右。MKDV1GIL-AS 走标准 SD 接口,时钟频率 50MHz。我用 GD32F450 的 SDIO 外设接逻辑分析仪跑分:顺序读接近 19MB/s,顺序写 8MB/s 上下——写速度是 NOR 的两倍多,读基本打平。
压力测试时掉了次链子。连续写 500MB,到 300MB 左右速率从 8MB/s 掉到 2MB/s 以下。查手册才搞明白:SLC 颗粒触发内部磨损均衡时会插入擦除操作,掉速是机制问题,不是个体缺陷。顺带测了待机功耗,规格书标称 80uA,我拿万用表实测 90uA 出头,对电池供电的门锁来说完全在预算内。门锁场景单次写入不过几十 KB,掉速实际感知不到。
第二步:异常掉电测试
门锁装在客户家门口,没人给它配 UPS,掉电保护是硬指标。官方规格里写着"万次异常断电保护",我不信宣传,自己做验证:用一路 MOSFET 由单片机控制供电,每 10 秒随机断电一次,断点覆盖写入中、擦除中、读取中三种状态。
跑了 72 小时,约 26000 次随机断电,只出现 2 次文件系统告警,fsck 修复后无数据丢失,零变砖。对比之下,原 NOR 方案断在写时直接丢数据——这是它没有掉电保护机制的必然结果。擦写寿命这块规格书标 6 万次,数据保留 10 年,按门锁每天写入 200 次日志估算,撑 8 年以上没问题。
第三步:跨平台兼容性踩坑
SD NAND 说是即贴即用,实际上不同主控表现差异很大。同型号物料,NXP i.MX6ULL(米客方德官网明确适配的平台)一次点亮;GD32F450 需要手动调 SDIO 的 clock divider 和总线宽度;STM32H7 上遇到 CMD8 响应超时,最后定位到上电时序没给够 JEDEC 规范要求的初始化窗口。

给同行三条建议:选型前先确认主控 SDIO 外设是否支持 SD2.0,SPI 模式兼容性更好但速度减半;上电时序严格照规范给;起不来先查 clock 配置,别急着怀疑料。这颗料在立创的编号是 C51966230,商城标注"新物料选型推荐",备货充足。北方户外严寒场景可以看同品牌的 GIL 工业宽温系列,规格到 -40℃~+85℃,选型前记得确认库存和交期。
MKDV1GCL-ABF 在这个项目里基本完成平替:容量 ×4,写速 ×2,掉电保护从无到有,单价还降了。它支持通过命令查询坏块数量和写入量,做远程健康诊断也方便。容量需求在 1Gb 以上、对启动速度不敏感的嵌入式场景,SD NAND 比 NOR 更划算;256Mb 以下、XIP 启动的场景,NOR 依然是正解。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。