1.ZQ calibration
为了提高信号完整性,并增强输出信号的强度,DDR内存中引入了终端电阻和输出驱动器,而为了在温度和电压发生变化的场景下仍然能够保持信号完整性,就需要对这些终端电阻和输出驱动器进行校准;未经校准的终端电阻会直接影响到信号质量,而调整不当的输出驱动器则会使得有效信号跃迁偏离参考电平,从而导致数据和选通信号之间出现偏差。
DDR3中的ZQ校准用于输出驱动器和ODT,每个DRAM的ZQ pin都被连接到外部的±1%精度的240ohm电阻,该电阻是可以在所有的Device之间共享的。
在DDR设置ODT的时候,就是通过使能相同的240ohm电阻的不同组合来实现不同的端接值。
LPDDR4的训练(training)和校准(calibration)--ZQ校准(Calibration)_zq calibration_wonder_coole的博客-CSDN博客
需要注意的是,每一个rank都需要一个独有的下拉电阻(240欧姆),但是不同rank可以共用同一个下拉电阻。
分为两种calibration:
ZQ calibration long:上电初始化的时候操作(512clk/640ns);
ZQ calibration short: 正常访问的时候,控制器会周期性的发送ZQ calibration short(64clk/80ns)
一般来说,在温度变化不超过0.25℃,电压变化不超过10mv的情况下,可以每隔128ms进行一次short calibration,也存在一些要求严格的芯片,他会不管电压和温度的变化,每隔64ms进行一次操作。
需要注意的是,在进行zq calibration的时候,需要先把CKE拉高,ODT拉低(也就是在校准ODT的时候需要先把ODT功能关闭)
2.read calibration/write leveling
这两个训练实际都是data数据密切相关的calibration。
read calibration是相当于厂商在内部会内置一个寄存器,这个寄存器的值已知,当把这个功能打开的时候,读取数据的通路就是读取相应预置的寄存器,通过这种方式来在校准的时候保证读通路是没有问题的。
RFU厂商自己定义?如何定义??
具体操作步骤:
precharge all -> 让整个memory处于idle状态
如果读回来的数据有问题,一般会调节DDR phy内部的DQS gate,增加DQS gate的延迟????
3.delay calibration
4.impedance calibration(阻抗校准)
和ODT是正好对应的
留个坑 周日补