1. 初始化期间的默认寄存器设置
- PIR.ZCALBYP 设置为‘0’,表示在初始化过程中不会绕过阻抗校准。
- ZQCR.PGWAIT 设置为
0x5
,这个值适应控制时钟(ctl_clk)频率为 333 MHz 至 400 MHz。 - ZQCR.ZCALT 设置为
0x1
,表示启用始终开启的背景校准。 - ZQCR.AVGEN 设置为
0
,表示禁用代码平均,这样可以加快校准的完成时间。 - ZQCR.IODLMT 设置为
0x2
,表示当电压温度漂移(VT drift)导致与之前校准的代码相差2个代码时,会触发VT相关的更新请求。 - ZQnPR.PU_ODT_ONLY 设置为
0
,禁用LPDDR3/DDR4的只上拉ODT(On Die Termination)校准。 - ZQnPR.ZPROG_ASYM_DRV_PU 和 ZQnPR.ZPROG_ASYM_DRV_PD 设置为
0xb
,这两个寄存器用于设置典型工作条件下的上拉和下拉驱动强度校准代码。 - ZQnPR.ZPROG_PU_ODT_ONLY 设置为
0x7
,设置上拉终端(ODT)仅进行校准的代码。 - ZQnPR.PU_DRV_ADJUST 和 ZQnPR.PD_DRV_ADJUST 设置为
0x0
,表示禁用上拉和下拉驱动强度调整。 - ZQnPR.ODT_ZDEN 设置为
0
,禁用终端代码覆盖功能。 - ZQnPR.DRV_ZDEN 设置为
0
,禁用驱动强度代码覆盖功能。 - ZQnPR.ZSEGBYP 设置为
0
,禁用校准段旁路。
2. 初始化后的正常操作期间
- 初始化后的默认设置保持不变,除了以下几点:
- ZQCR.AVGEN 被设置为
1
,表示始终启用代码平均(对校准过程进行多次平均,减少误差)。
- ZQCR.AVGEN 被设置为
3. 用户期望的编程模式
a. 非对称驱动强度校准(LPDDR3/DDR4)
- 设置 ZQnPR.PU_ODT_ONLY 为
1
,表示启用只上拉ODT校准。 - 设置 ZQnPR.ZPROG_ASYM_DRV_PU 为所需的上拉驱动强度分频比。
- 设置 ZQnPR.ZPROG_ASYM_DRV_PD 为所需的下拉驱动强度分频比。
b. 仅上拉ODT校准(LPDDR3/DDR4)
- 设置 ZQnPR.PU_ODT_ONLY 为
1
,表示启用仅上拉ODT校准。 - 设置 ZQnPR.ZPROG_PU_ODT_ONLY 为所需的上拉终端分频比。
c. 在非默认ctl_clk频率下进行校准(默认频率为400 MHz)
- 根据操作频率设置 ZQCR.PGWAIT 寄存器的等待周期数。
d. 控制校准重复(默认是背景模式,始终开启校准)
设置
ZQCR.ZCALT
为所需的校准粒度模式。- 注意:某些模式需要触发DFI控制/PHY更新才能继续校准。
e. 代码平均控制
设置 ZQCR.AVGEN 为
1
启用代码平均,或设置为0
禁用代码平均。设置
ZQCR.AVGMAX
来控制平均轮次数量。- 注:该值越大,校准时间越长。
f. 驱动强度调整
- 设置 ZQnPR.PU_DRV_ADJUST 为所需的上拉驱动强度调整。
- 设置 ZQnPR.PD_DRV_ADJUST 为所需的下拉驱动强度调整。
g. 代码覆盖
设置 ZQnPR.ODT_ZDEN 为
1
,启用终端代码覆盖功能。设置 ZQnPR.DRV_ZDEN 为
1
,启用驱动强度代码覆盖功能。设置 ZQnDR.ZDATA[15:0] 为所需的驱动强度ZCTRL代码,强制软件在该段上使用。
设置
ZQnDR.ZDATA[31:16]
为所需的终端ZCTRL代码,强制软件在该段上使用。- 注:这些值需要由软件更新,并且不会进行VT补偿。
h. 校准旁路
- 设置 PIR.ZCALBYP 为
1
,这将禁用自动校准和VT补偿。
4. VREF使用设置
- IOVCR1.ZQREFIEN 设置为 ‘1’,表示使用内部生成的VREF为PZQ单元提供电压参考(VREF)。
- IOVCR1.ZQREFPEN 设置为 ‘0’,表示不使用外部VREF。
- 如果使用外部VREF,需将 IOVCR1.ZQREFIEN 设置为 ‘0’,并将 IOVCR1.ZQREFPEN 设置为 ‘1’。
总结
这段文档详细描述了阻抗校准过程中的寄存器编程,涵盖了从初始化到正常操作阶段,如何通过设置不同的寄存器来控制阻抗校准的细节,包括校准模式、驱动强度、代码覆盖、校准频率、平均控制等方面的内容。通过灵活的编程配置,用户可以根据实际需求调整DDR的性能和稳定性。
本文作者:
ICXNM-ZLin
本文链接: https://talent-tudou.github.io/2024/11/09/DDR/PUB Architecture-Register Programming for Impedance Calibration/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
本文链接: https://talent-tudou.github.io/2024/11/09/DDR/PUB Architecture-Register Programming for Impedance Calibration/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!