构建并测试三星 KMFN60012B-B214 eMCP 存储模块
现代嵌入式系统通常需要高速运行内存和非易失性存储。
典型的方案是使用独立的 LPDDR 内存设备和 eMMC 存储设备。而 eMCP(嵌入式多芯片封装)则将这两种存储技术整合到一个单一封装中,从而减少电路板面积,并简化系统集成。
在本项目中,我正在研究三星 KMFN60012B-B214 这款 eMCP 芯片,它集成了 8GB 的 eMMC 5.1 存储和 8GB 的 LPDDR3 DRAM。根据可用的器件参考信息,该设备采用 221-FBGA 封装,LPDDR3 最高工作频率可达 1866 Mbps。
有趣的是,这不仅仅是阅读数据手册的问题。
真正的工程挑战在于理解这类存储器如何被集成进嵌入式系统中。
为什么选择 eMCP?
eMCP 可以节省 PCB 空间,因为多个存储组件被集成在一个封装内。
对于空间受限的紧凑型嵌入式设备而言,这一点非常有用。
KMFN60012B-B214 集成了:
- 8GB eMMC 5.1
- 8GB LPDDR3 DRAM
- 1866 Mbps LPDDR3 速度
- 221-FBGA 封装
这种组合使得该设备对于在紧凑型计算平台上的嵌入式系统工程师具有吸引力。
项目目标
本项目的目标是围绕KMFN60012B-B214开发一个实用的开发与测试平台。
项目重点关注以下四个方面:
•硬件集成
•eMMC接口验证
•Linux存储检测
•存储性能测量
LPDDR3部分被视为应用处理器内存子系统的一部分,需要兼容的内存控制器以及经过验证的布线方案。
这一点非常重要,因为eMCP不仅仅是一个更大的eMMC芯片。
硬件架构
简化后的系统架构如下:
关键点在于,尽管LPDDR3和eMMC位于同一物理封装内,但它们采用的是不同的接口。
原理图与电路图
下图所示为功能架构图,而非完整的球面级原理图。设计团队必须从制造商提供的文档中获取KMFN60012B-B214的具体球面映射、电源域、时序参数以及PCB逃逸布线信息。
功能eMMC原理图
PCB设计考虑因素
1. BGA 逃逸布线
221-FBGA 套装需要仔细进行逃逸布线。
PCB 应根据实际封装图纸及制造商推荐的焊盘图案进行设计。
2. eMMC信号完整性
保持eMMC时钟和数据布线的可控性与一致性。
重点关注以下方面:
•时钟(CLK)布线
•数据(DAT[0:7])布线
•命令(CMD)布线
•返回路径
•过孔数量
•阻抗
•走线长度匹配
3. 电源完整性
切勿将电源供应视为次要问题。
请在器件附近使用合适的局部去耦电容,并根据制造商的文档核实实际的功耗需求。
4. LPDDR3 信号路由
与低速外设接口相比,LPDDR3 的要求要高得多。
LPDDR3 接口需要:
- 控制的阻抗
- 合适的长度匹配
- 清洁的参考平面
- 仔细选择走线孔
- 合理的电源分配
- SoC 特定的时序约束
因此,精确的 LPDDR3 信号路由规则应来自 SoC 制造商的硬件设计指南以及三星内存文档。
软件测试
组装电路板后,第一步是确认 Linux 能够检测到 eMMC 设备。
运行以下命令:
如果主机控制器和 eMMC 接口配置正确,应该能看到一个 MMC 块设备。
例如:
请勿将此输出作为实际项目数据复制。这是 Linux 预期显示的一个示例;实际可用容量和分区布局取决于系统配置。
检查 eMMC 信息
安装 mmc-utils:
然后:
这使您能够查看 eMMC 的 EXT_CSD 信息。
您可以保存结果:
这尤其有用,因为你可以将实际的设备配置与产品的标称规格进行对比。
存储性能测试
使用 fio 进行可重复的存储测试。
安装方法:
读取测试示例:
顺序写入测试示例:
测试完成后移除测试文件:
重要提示:请在专用的测试分区或一次性文件系统上运行这些测试。切勿对已挂载的生产/根文件系统使用破坏性写入模式进行性能测试。
一个更实用的测试脚本
你可能会发现,使用一个可复用的脚本比多个独立命令更加实用。
emmc_benchmark.sh
运行方式:
我学到的收获
从这个项目中最重要的启示是,eMCP 不仅仅是一个体积更小的 eMMC 设备。
KMFN60012B-B214 将两种存储技术集成在一个封装内:
eMMC 部分可通过 Linux 的 MMC 工具和存储性能测试来探索。
而 LPDDR3 部分则与应用处理器及 PCB 实现紧密耦合。
这使得 eMCP 对设计紧凑型嵌入式系统的工程师来说尤为有价值。
这对嵌入式设计师的意义
对于原型开发而言,使用现成的开发板通常要方便得多。
但在向生产设计推进时,板面积、元器件数量、功耗、内存带宽和物料清单(BOM)成本都变得至关重要。
当产品需要以下特性时,eMCP技术具有吸引力:
- 紧凑的PCB尺寸
- 集成DRAM和存储
- 嵌入式Linux系统
- 本地非易失性存储
- 减少元器件数量
- 高密度内存集成
但相应的代价是,BGA封装和高速内存布线的需求显著增加。
可能的应用领域
该项目可围绕以下应用展开:
- 嵌入式Linux系统
eMMC可用于嵌入式Linux系统的启动和大容量存储。
- 物联网网关
紧凑的内存子系统有助于减少网关设计中的PCB面积。
- 工业控制器
嵌入式存储可用于操作系统、配置文件和数据日志记录。
- 智能显示屏
DRAM与eMMC的结合适用于紧凑型多媒体和人机界面(HMI)平台。
- 消费电子设备
eMCP技术历史上曾广泛应用于空间受限的嵌入式产品,如智能手机和平板电脑。
本文编译自hackster.io





