第一课:内存颗粒基础认知
DDR3/DDR4/DDR5 颗粒外观识别
做内存测试这么多年,我见过不少工程师拿到颗粒第一件事就是上机测,结果烧了片子才发现电压搞错了。其实啊,颗粒的外观就是它的第一张身份证。
DDR3、DDR4、DDR5 这三代颗粒,光用眼睛看就能分出个八九不离十。我个人的习惯是先看封装尺寸和引脚间距。
- DDR3 颗粒:通常是 78-ball BGA 封装,尺寸 9mm x 10.5mm 左右。球间距 0.8mm。你拿尺子量一下,球与球之间距离比较宽,肉眼能看清。
- DDR4 颗粒:升级到 78-ball 或 96-ball BGA,尺寸缩小到 7.5mm x 10mm 左右。球间距 0.65mm。嗯,这里要注意,DDR4 的球比 DDR3 密了不少,肉眼看起来有点费劲了。
- DDR5 颗粒:目前主流是 78-ball BGA,尺寸进一步压缩到 7.5mm x 8.5mm 左右。球间距 0.65mm 不变,但颗粒更扁了。
说白了,从 DDR3 到 DDR5,颗粒是越做越小,引脚越来越密。为什么?因为频率上去了,信号路径必须缩短,寄生参数要降下来。
封装类型:BGA vs TSOP
你想想看,现在谁还用 TSOP?我上次见到 TSOP 封装的 DDR 颗粒,还是十年前修一台老工控机的时候。TSOP 是两侧引脚伸出来的那种,像蜈蚣脚一样。DDR1、DDR2 时代的主流,现在基本绝迹了。
BGA 封装才是现代内存的标配。球栅阵列,焊球在芯片底部,焊接后你看不到引脚。好处很明显:
- 引脚更短,信号路径短,适合高频
- 散热更好,底部大面积接地
- 节省 PCB 面积
但 BGA 也有坑。我曾经遇到过一批 DDR4 颗粒,焊好后有几颗就是读不到数据。排查了半天,结果是 BGA 虚焊——有个角落的焊球没完全融化。用 X-ray 一照,清清楚楚。所以做 BGA 焊接,温度曲线一定要调好,别偷懒。
引脚定义与功能分组
内存颗粒的引脚,说白了就几大类:电源、地址、数据、控制。我习惯把它们分成几个功能组来记。
| 功能组 | 引脚名称 | 说明 |
|---|---|---|
| 电源 | VDD, VDDQ, VSS | 核心电压和 I/O 电压。DDR3 是 1.5V,DDR4 降到 1.2V,DDR5 更是低到 1.1V。VSS 就是地。 |
| 地址 | A0-A15, BA0-BA2 | 行地址和列地址复用。BA 是 Bank 地址,DDR3 有 8 个 Bank,DDR4 有 16 个。 |
| 数据 | DQ0-DQ63, DQS, DQS# | 数据线,64 位宽。DQS 是数据选通信号,差分对形式。DDR4 和 DDR5 还有 DMI 引脚用于数据屏蔽。 |
| 控制 | CS#, RAS#, CAS#, WE#, CKE, ODT | 片选、行选通、列选通、写使能、时钟使能、片上端接。ODT 是 DDR3 开始引入的,用来匹配阻抗。 |
| 时钟 | CK, CK# | 差分时钟对。DDR3 最高 800MHz,DDR4 到 1600MHz,DDR5 直接飙到 3200MHz 以上。 |
这里有个容易搞混的地方:DDR3 和 DDR4 的引脚定义不完全兼容。你拿 DDR3 的颗粒焊到 DDR4 的板子上,肯定点不亮。我见过有人把 DDR4 的 VREFCA 引脚当成 DDR3 的 NC 脚,结果烧了颗粒。所以每次换平台,一定要重新看 datasheet。
DDR3/DDR4/DDR5 关键差异速查
为了方便你快速对比,我整理了一张表。这张表我每次做项目都会贴在工位上。
| 参数 | DDR3 | DDR4 | DDR5 |
|---|---|---|---|
| 工作电压 | 1.5V | 1.2V | 1.1V |
| 数据速率 | 800-2133 MT/s | 1600-3200 MT/s | 4800-6400 MT/s |
| 预取宽度 | 8n | 8n | 16n |
| Bank 数量 | 8 | 16 | 32 |
| 封装 | 78-ball BGA | 78/96-ball BGA | 78-ball BGA |
| ODT | 有 | 有,更精细 | 有,支持动态 ODT |
| DMI | 无 | 有 | 有 |
你可能会问,为什么 DDR5 的预取宽度翻倍了?说白了就是为了在同样频率下获得更高带宽。16n 预取意味着每个时钟周期内,内部可以读取 16 个数据位,然后通过更高的 I/O 速率传出去。这个设计思路,从 DDR3 到 DDR5 一直在延续。
好了,这一课的内容就这些。记住,颗粒识别是基本功,就像医生看 X 光片一样,多练练就熟了。下一课我们聊聊怎么用示波器抓 DDR 的读写时序,那才是真正见功夫的地方。