LPDDR4概述与CA/DQS基本概念
各位工程师朋友,今天我们正式开始聊LPDDR4的CA与DQS训练参数调优。先别急着调参数,咱们得把基础打扎实。第一章,咱们就围绕三个问题:LPDDR4是什么?CA和DQS这两个信号到底干嘛用的?它们的电气特性为何至关重要?
LPDDR4内存标准简介
LPDDR4,全称是Low Power Double Data Rate 4。说白了,就是第四代低功耗双倍数据速率内存。它主要用在手机、平板、车载以及各种嵌入式设备里。跟桌面端的DDR4不同,LPDDR4把功耗放在了第一位。我个人做嵌入式系统时,碰到过功耗跑不满设计指标的项目,最后发现内存子系统的优化是关键。
LPDDR4有几个核心参数你得记住:
- VDD1:内核电压,1.8V
- VDD2:I/O电压,1.1V
- 数据速率:3200 Mbps起步,最高能到4266 Mbps甚至更高
- 通道架构:双通道,每个通道16位数据位宽,两个通道合起来就是32位
有个细节我提一下:LPDDR4的供电设计非常敏感。VDD2的电压纹波如果超过2%,信号完整性就会出问题。我曾经在一个项目里遇到过系统频繁死机,排查到最后发现是LPDDR4的供电不合格。
LPDDR4和上一代LPDDR3比,最大的变化是什么?咱们看这张表:
| 参数 | LPDDR3 | LPDDR4 |
|---|---|---|
| 数据速率 | 最高2133 Mbps | 最高4266 Mbps |
| I/O电压 | 1.2V | 1.1V |
| 时钟架构 | 单端CK | 差分CK_t/CK_c |
| 数据选通 | 单端DQS | 差分DQS_t/DQS_c |
| 命令地址接口 | 单沿 | 双沿 (CA_CS, CA_ODT) |
从上表能看出来,LPDDR4在信号质量和抗干扰方面下了很大功夫。差分时钟和差分DQS就是典型的例子。
CA信号的作用与电气特性
CA,是Command和Address的缩写。它负责把内存控制器发过来的读写命令和行/列地址传给DRAM颗粒。跟我念一遍:命令+地址,在LPDDR4里合在一起了。
CA信号的特点是:
- 它是单端信号,但采用伪差分的方式接收
- 在一个时钟周期内,可以传送两个命令(上升沿和下降沿各一个)
- CA总线是共享的:同一个通道内的所有DRAM颗粒共享一组CA信号
- CA信号在内部是经过延迟锁定环处理的,用于采样时钟的相位对齐
这里有一点要注意:CA信号的电平标准是1.1V(VDD2),属于LVSTL(Low Voltage Swing Terminated Logic)接口。它的摆幅小,但速度快,对反射和串扰特别敏感。
我建议大家在PCB设计时,对CA信号的走线长度要严格控制。你想想看,如果CK时钟到了DRAM引脚,但CA信号还在半路上,那采样就会出错。LPDDR4规范里要求CA信号与CK时钟的飞行时间偏差要小于几十皮秒。嗯,这个在后面训练流程中我们会具体算。
CA_CS信号来标记CA总线上传输的是命令还是地址。在读训练时,要先确认CA_CS的时序正确,否则后面的训练全是白费。
DQS信号的作用与电气特性
DQS,数据选通信号。它的工作很简单:告诉DRAM(写操作)或内存控制器(读操作),DQS边沿对齐的就是有效数据。LPDDR4的DQS是差分信号,由DQS_t和DQS_c两根线组成。
为什么用差分?原因有两点:
- 抗共模噪声:差分对能有效抑制地弹和电源噪声引入的共模干扰
- 电压摆幅小:差分摆幅只需要400mV左右,就能达到很高的信号质量
DQS在操作时有两种模式:
- 写DQS(WDQS):由内存控制器发出,DRAM接收。DQS的边沿对齐数据。
- 读DQS(RDQS):由DRAM发出,内存控制器接收。DQS的边沿也对齐数据。
这里有个关键点:读操作时,DQS的相位需要经过训练才能和CK保持特定关系。否则,读回来的数据可能全是错的。
我见过不少工程师,调了半天写训练没发现问题,一到读就出错。其实就是RDQS和CK的相位关系没调好。咱们后面会专门讲这个训练流程。
CA与DQS在系统中的地位
用一张SVG图来展示整个LPDDR4接口的核心结构,这样会清晰很多。
从上图能看出,CA总线和DQS总线各自独立,但在时序上必须严格配合。CA信号在CK时钟的边沿被DRAM采集,而写数据的DQS是控制器自己控制的,读数据的DQS则是由DRAM发出的。这就引出了训练的必要性。
没有训练,CA的采样窗口会偏移,DQS的相位会错位,数据读写全是误码。LPDDR4的初始化流程里,第一步就是CA训练,第二步是写DQS训练,第三步是读DQS门限训练。
好了,这一章的内容就到这里。你心里应该清楚LPDDR4的双沿发送、差分DQS以及CA信号在系统中的地位了。接下来,我们会详细拆解CA训练的每一个步骤和参数细节。