This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM3351:DDR2信号完整性 AM3351测量失败

Guru**** 2539430 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/782779/am3351-ddr2-signal-integrity-am3351-measurements-fail

器件型号:AM3351

您好!

目前、我正在使用具有自定义 DDR2路由的 CPU 板、我们已根据数据表(图7-39)实现了该路由、其中一个 DDR2器件连接了16位数据总线宽度。

DDR2 implementation

DDR2可以正常工作、我们能够在其上运行固件、因此它是稳定的、但当我测量信号(使用 MSO Tektronix 示波器和 DDR2分析工具)时、我会遇到无法真正理解的故障。

失败与 CK (#)和 DQS (#)上的 Vswing (max)有关。 JEDEC 中规定的最大值应为1V、但我们使用具有1V8电源的 DDR2、因此我们将要求至少为0.5V、因此测试失败。

Vswing(max)

是否有关于此信号的任何信息/知识? JEDEC 确实会说它是一个"测试信号波形"、因此我是否需要启用测试信号以进行 DDR2测量?

感谢您的支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Francois、

    我有几个问题:

    1. 进行此测量时、示波器的带宽和采样率是多少?
    2. 示波器探头的带宽是多少?  是否已正确校准?
    3. 您是否对 CK 和 CK#进行差分测量(DQS 和 DQS#相同)?
    4. 如果使用差分探头、您是否使用差分探头或2个单端探头?
    5. 请提供您参考的 JEDEC 规范编号和版本。

    Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tom、


    感谢您的回复、以下是我的回答:

    进行测量时、示波器的带宽为2GHz、示波器的采样率设置为10GS/s。

    探针带宽为1.5GHz

    3/4. 是的、我使用2个单端探头。 来测量 CK 和 CK#。 (与 DQS 和 DQS#类似、但在这里、我还测量了 DQ、以便在写入时对齐。)

    我参考 JESD79-2F (第6节、第64页)

    François μ A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    François μ A、

    请发布 CK 和 DQS 的示波器捕获。

    Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tom、

    您可以在此处找到 CK 的测量值:

    DDR2 CK

    (黄色-> CK;蓝色-> CK#)

    和 DQS 测量(写入):

    DDR2 DQS (write)

    其中黄色-> DQS;蓝色-> DQ7;紫色-> DQS#。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Francois 看起来、时钟信号具有正确的摆幅、但数据太高。 您是否曾尝试调整驱动强度以查看这是否有帮助?

    此致、
    James
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Francois、

    请下载以下诊断脚本:

    git.ti.com/.../am335x-ddr-analysis.dss

    它应在 DDR 完全配置后运行。 有关如何运行它的说明、请访问:

    git.ti.com/.../README

    请在此处将您的桌面上生成的*。txt 文件附加到此主题中。

    此致、
    Brad
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    James、Brad、您好。

    很抱歉、应答延迟、但我正在尝试让我的 XDS510、CCS8.3和 AM335x 协同工作。 (以前在 Win7笔记本电脑上工作过、但我不得不切换到 Win 10。 但现在它给出了误差:
    "连接到目标时出错:
    错误0x20000220/-1266
    执行期间出现严重错误、OCS、
    目标保持在复位状态。 这可能是由于等待复位(WIR)或应用引起的复位。"

    @James:CK/CK#符合我的测量结果、也不好、我将再次检查。 对于 DQS、我已将驱动强度设置为低电平、将 ODT 设置为50E。
    @Brad:当 JTAG 再次工作时、我将尝试使脚本运行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Francois、

    我不确定这是否是长期解决方案、但我听说可能需要以下内容才能使 CCS8在 Windows 10上运行:

    这需要将   c:\ti\ccsv8\utils\cygwin\sh.exe”添加 到 Windows Defender 排除列表中

    请查看这是否解决了问题。

    Tom

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brad、Tom、

    我设法使其运行(在 Windows 7 PC 上、我无法使其在 Windows 10 PC 上运行)、但我不确定它是否正常运行。 我得到以下输出:

    自从 EMIF 时钟被禁用后、跳过对 EMIF 寄存器的读取。
    *处于 DS0状态时、EMIF 寄存器不可读
    *如果您尝试输入 DS0,这是正常的。

    *****
    *** IOCTRL 寄存器***
    *****

    控制:DDR_CMD0_IOCTRL = 0x00000000
    *禁用 DDR_BA2上拉/下拉
    *禁用 DDR_Wen 上拉/下拉
    *禁用 DDR_BA0上拉/下拉
    *禁用 DDR_A5上拉/下拉
    *禁用 DDR_ck 上拉/下拉
    *禁用 DDR_ckn 上拉/下拉
    *禁用 DDR_A3上拉/下拉
    *禁用 DDR_A4上拉/下拉
    *禁用 DDR_A8上拉/下拉
    *禁用 DDR_A9上拉/下拉
    *禁用 DDR_A6上拉/下拉
    *位9:5控制 DDR_CK 和 DDR_ckn
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_BA0、DDR_BA2、DDR_Wen、DDR_A[9:8]、DDR_A[6:3]
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_CMD1_IOCTRL = 0x00000000
    *禁用 DDR_a15上拉/下拉
    *禁用 DDR_A2上拉/下拉
    *禁用 DDR_A12上拉/下拉
    *禁用 DDR_A7上拉/下拉
    *禁用 DDR_B1上拉/下拉
    *禁用 DDR_A10上拉/下拉
    *禁用 DDR_a0上拉/下拉
    *禁用 DDR_A11上拉/下拉
    *禁用 DDR_casn 上拉/下拉
    *禁用 DDR_rasn 上拉/下拉
    *位4:0控制 DDR_15、DDR_A[12:10]、DDR_A7、DDR_A2、DDR_a0、 DDR_B1、DDR_casn、DDR_rasn
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_CMDS2_IOCTRL = 0x00000000
    *禁用 DDR_cke 上拉/下拉
    *禁用 DDR_resetn 上拉/下拉
    *禁用 DDR_odt 上拉/下拉
    *禁用 DDR_A14上拉/下拉
    *禁用 DDR_A13上拉/下拉
    *禁用 DDR_csn0上拉/下拉
    *禁用 DDR_A1上拉/下拉
    *位4:0控制 DDR_cke、DDR_resetn、DDR_odt、DDR_csn0、DDR_[A14:13]、 DDR_A1
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_DATA_IOCTRL = 0x00000000
    *禁用 DDR_D8上拉/下拉
    *禁用 DDR_D9上拉/下拉
    *禁用 DDR_d10上拉/下拉
    *禁用 DDR_D11上拉/下拉
    *禁用 DDR_d12上拉/下拉
    *禁用 DDR_D13上拉/下拉
    *禁用 DDR_D14上拉/下拉
    *禁用 DDR_D15上拉/下拉
    *禁用 DDR_dqm1上拉/下拉
    禁用* DDR_dqs1和 DDR_dqsn1上拉/下拉
    *位9:5控制 DDR_dqs1、DDR_dqsn1
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_d[15:8]、DDR_dqm1
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_Data1_IOCTRL = 0x00000000
    *禁用 DDR_d0上拉/下拉
    *禁用 DDR_D1上拉/下拉
    *禁用 DDR_D2上拉/下拉
    *禁用 DDR_D3上拉/下拉
    *禁用 DDR_D4上拉/下拉
    *禁用 DDR_D5上拉/下拉
    *禁用 DDR_d6上拉/下拉
    *禁用 DDR_D7上拉/下拉
    *禁用 DDR_dqm0上拉/下拉
    禁用* DDR_dqs0和 DDR_dqsn0上拉/下拉
    *位9:5控制 DDR_dqs0、DDR_dqsn0
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_d[7:0]、dqm0
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_IO_CTRL = 0x00000000
    *位31:由 EMIF 控制的 DDR_RESETn。
    *为 SSTL 配置的位28 (mDDR_SEL)、即 DDR2/DDR3/DDR3L 操作。
    控制:VTP _CTRL = 0x00000000
    禁用* VTP (在 DS0中是预期的)。
    控制:Vref_CTRL = 0x00000000
    * VREF 由外部提供(典型值)。
    控制:DDR_CKE_CTRL = 0x00000000
    * CKE 门控(强制引脚处于低电平)。

    以下情况下、我会得到该结果:
    -未加载 SPL 文件
    -通过(通过 x 调制解调器接口)加载 SPL 文件
    -加载 SPL 文件(通过 x 调制解调器接口)和 u-boot 映像(通过 Y 调制解调器接口)。

    此外、我可以运行正在通过(通过 JTAG)的 GEL 文件存储器测试。 (此外、我找不到"在目标配置窗口中、右键单击您的 CCXML 文件并选择"启动所选配置"、因此我只启用了调试模式、连接到目标并运行脚本。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Francois、运行脚本时出错了。 它应该在 EMIF 被配置后运行。 看起来脚本是在配置 EMIF 之前运行的(或者 EMIF 可能无法正确配置)。 是否可以尝试引导至 uboot,然后运行脚本?

    此致、
    James
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    我想我确实这么做了、当我加载 SPL 时、DDR2会被初始化。 (我在使用 GEL 文件时已经验证了这一点)。

    我连接 XDS510USB 并为电路板供电。 我启动调试会话并将 UART 连接到"Extra putty"窗口、并启用 x 调制解调器以加载 SPL。 之后、我为电路板提供一个循环通电、使其通过 UART 加载 SPL。

    加载 SPL 后、我会在 CCS 中连接 Cortex-A8 CPU。 状态为"已暂停"。 然后我加载 GEL 文件、并能够运行"DDR_DataTransferCheck"。 这将使通过。 (当我在未加载 SPL 的情况下运行时、它会按预期失败。)

    现在、我在脚本控制台中运行"AM335x-DDR-analysis.dSS"脚本、它在禁用 EMIF 的情况下(无论是否连接 CPU)提供输出之前的样子。

    我在代码中检查了一个位、检查"是否(//original_CM_PER_L3_CLKSTCTRL & 1<<2){"时、似乎出错了。 当我将其更改为"if (1){"时、它会提供以下输出:

    EMIF:SDRAM_CONFIG = 0x43845732
    *位26:24 (REG_DDR_TERM)设置为50欧姆(011b)
    *为弱驱动器(01b)设置的位19:18 (REG_SDRAM_DRIVE)
    EMIF:PWR_Mgmt_CTRL = 0x00000000
    *错误:位7:4 (REG_SR_TIM)违反了最大自刷新命令限制
    *有关更多详细信息、请参阅器件勘误表。
    DDR PHY:DDR_PHY_CTRL_1 = 0x00100306
    *位9:8 (reg_phy_rd_local_odt)配置为 Venin 端接的一半

    (图2
    ***寄存器转储***
    (图2

    *(0x4c000000)= 0x40443403
    *(0x4c000004)= 0x40000004
    *(0x4c000008)= 0x43845732
    *(0x4c00000c)= 0x00000000
    *(0x4c000010)= 0x2000040d
    *(0x4c000014)= 0x0000040d
    *(0x4c000018)= 0x0666a392
    *(0x4c00001c)= 0x0666a392
    *(0x4c000020)= 0x142431ca
    *(0x4c000024)= 0x142431ca
    *(0x4c000028)= 0x0000021f
    *(0x4c00002c)= 0x0000021f
    *(0x4c000038)= 0x00000000
    *(0x4c00003c)= 0x00000000
    *(0x4c000054)= 0x00ffff
    *(0x4c000058)= 0x8000140a
    *(0x4c00005c)= 0x00021616
    *(0x4c000080)= 0x0aac61c9
    *(0x4c000084)= 0x0115a596
    *(0x4c000088)= 0x00010000
    *(0x4c00008c)= 0x00000000
    *(0x4c000090)= 0xf61fc0a5
    *(0x4c000098)= 0x00050000
    *(0x4c00009c)= 0x00050000
    *(0x4c0000a4)= 0x00000000
    *(0x4c0000ac)= 0x00000000
    *(0x4c0000b4)= 0x00000000
    *(0x4c0000bc)= 0x00000000
    *(0x4c0000c8)= 0x00000000
    *(0x4c0000d4)= 0x00000000
    *(0x4c0000d8)= 0x00000000
    *(0x4c0000dc)= 0x00000000
    *(0x4c0000e4)= 0x00100306
    *(0x4c0000e8)= 0x00100306
    *(0x4c000100)= 0x00000000
    *(0x4c000104)= 0x00000000
    *(0x4c000108)= 0x00000000
    *(0x4c000120)= 0x00000305

    *****
    *** IOCTRL 寄存器***
    *****

    控制:DDR_CMD0_IOCTRL = 0x00000000
    *禁用 DDR_BA2上拉/下拉
    *禁用 DDR_Wen 上拉/下拉
    *禁用 DDR_BA0上拉/下拉
    *禁用 DDR_A5上拉/下拉
    *禁用 DDR_ck 上拉/下拉
    *禁用 DDR_ckn 上拉/下拉
    *禁用 DDR_A3上拉/下拉
    *禁用 DDR_A4上拉/下拉
    *禁用 DDR_A8上拉/下拉
    *禁用 DDR_A9上拉/下拉
    *禁用 DDR_A6上拉/下拉
    *位9:5控制 DDR_CK 和 DDR_ckn
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_BA0、DDR_BA2、DDR_Wen、DDR_A[9:8]、DDR_A[6:3]
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_CMD1_IOCTRL = 0x00000000
    *禁用 DDR_a15上拉/下拉
    *禁用 DDR_A2上拉/下拉
    *禁用 DDR_A12上拉/下拉
    *禁用 DDR_A7上拉/下拉
    *禁用 DDR_B1上拉/下拉
    *禁用 DDR_A10上拉/下拉
    *禁用 DDR_a0上拉/下拉
    *禁用 DDR_A11上拉/下拉
    *禁用 DDR_casn 上拉/下拉
    *禁用 DDR_rasn 上拉/下拉
    *位4:0控制 DDR_15、DDR_A[12:10]、DDR_A7、DDR_A2、DDR_a0、 DDR_B1、DDR_casn、DDR_rasn
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_CMDS2_IOCTRL = 0x00000000
    *禁用 DDR_cke 上拉/下拉
    *禁用 DDR_resetn 上拉/下拉
    *禁用 DDR_odt 上拉/下拉
    *禁用 DDR_A14上拉/下拉
    *禁用 DDR_A13上拉/下拉
    *禁用 DDR_csn0上拉/下拉
    *禁用 DDR_A1上拉/下拉
    *位4:0控制 DDR_cke、DDR_resetn、DDR_odt、DDR_csn0、DDR_[A14:13]、 DDR_A1
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_DATA_IOCTRL = 0x00000000
    *禁用 DDR_D8上拉/下拉
    *禁用 DDR_D9上拉/下拉
    *禁用 DDR_d10上拉/下拉
    *禁用 DDR_D11上拉/下拉
    *禁用 DDR_d12上拉/下拉
    *禁用 DDR_D13上拉/下拉
    *禁用 DDR_D14上拉/下拉
    *禁用 DDR_D15上拉/下拉
    *禁用 DDR_dqm1上拉/下拉
    禁用* DDR_dqs1和 DDR_dqsn1上拉/下拉
    *位9:5控制 DDR_dqs1、DDR_dqsn1
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_d[15:8]、DDR_dqm1
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_Data1_IOCTRL = 0x00000000
    *禁用 DDR_d0上拉/下拉
    *禁用 DDR_D1上拉/下拉
    *禁用 DDR_D2上拉/下拉
    *禁用 DDR_D3上拉/下拉
    *禁用 DDR_D4上拉/下拉
    *禁用 DDR_D5上拉/下拉
    *禁用 DDR_d6上拉/下拉
    *禁用 DDR_D7上拉/下拉
    *禁用 DDR_dqm0上拉/下拉
    禁用* DDR_dqs0和 DDR_dqsn0上拉/下拉
    *位9:5控制 DDR_dqs0、DDR_dqsn0
    -压摆速度最快
    -驱动强度5mA
    *位4:0控制 DDR_d[7:0]、dqm0
    -压摆速度最快
    -驱动强度5mA
    控制:DDR_IO_CTRL = 0x00000000
    *位31:由 EMIF 控制的 DDR_RESETn。
    *为 SSTL 配置的位28 (mDDR_SEL)、即 DDR2/DDR3/DDR3L 操作。
    控制:VTP _CTRL = 0x00000000
    禁用* VTP (在 DS0中是预期的)。
    控制:Vref_CTRL = 0x00000000
    * VREF 由外部提供(典型值)。
    控制:DDR_CKE_CTRL = 0x00000000
    * CKE 门控(强制引脚处于低电平)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Francois、抱歉、脚本似乎仍然有问题。  我已经检查了我的 EVM 并发现了类似的问题。  当我尝试在 git 树中修复它时、请尝试附加.dss。  

    您报告的驱动强度和 ODT 是在 DDR 中设置的。  我要查找的是您在 EMIF 控制器中设置的内容、IOCTRL 寄存器中对此进行了介绍(到目前为止、由于 DSS 脚本中的错误、正在读取零)。  运行新脚本后、我们应该能够看到您在 EMIF 控制器中设置了什么。

    此致、

    James

    e2e.ti.com/.../am335x_2D00_ddr_2D00_analysis.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    我已使用以下输出再次运行更新的脚本:

    EMIF:SDRAM_CONFIG = 0x43845732
    *位26:24 (REG_DDR_TERM)设置为50欧姆(011b)
    *为弱驱动器(01b)设置的位19:18 (REG_SDRAM_DRIVE)
    EMIF:PWR_Mgmt_CTRL = 0x00000000
    *错误:位7:4 (REG_SR_TIM)违反了最大自刷新命令限制
    *有关更多详细信息、请参阅器件勘误表。
    DDR PHY:DDR_PHY_CTRL_1 = 0x00100306
    *位9:8 (reg_phy_rd_local_odt)配置为 Venin 端接的一半

    (图2
    ***寄存器转储***
    (图2

    *(0x4c000000)= 0x40443403
    *(0x4c000004)= 0x40000004
    *(0x4c000008)= 0x43845732
    *(0x4c00000c)= 0x00000000
    *(0x4c000010)= 0x2000040d
    *(0x4c000014)= 0x0000040d
    *(0x4c000018)= 0x0666a392
    *(0x4c00001c)= 0x0666a392
    *(0x4c000020)= 0x142431ca
    *(0x4c000024)= 0x142431ca
    *(0x4c000028)= 0x0000021f
    *(0x4c00002c)= 0x0000021f
    *(0x4c000038)= 0x00000000
    *(0x4c00003c)= 0x00000000
    *(0x4c000054)= 0x00ffff
    *(0x4c000058)= 0x8000140a
    *(0x4c00005c)= 0x00021616
    *(0x4c000080)= 0x0aab60c8
    *(0x4c000084)= 0x011845c6
    *(0x4c000088)= 0x00010000
    *(0x4c00008c)= 0x00000000
    *(0x4c000090)= 0xa4dfd2f5
    *(0x4c000098)= 0x00050000
    *(0x4c00009c)= 0x00050000
    *(0x4c0000a4)= 0x00000000
    *(0x4c0000ac)= 0x00000000
    *(0x4c0000b4)= 0x00000000
    *(0x4c0000bc)= 0x00000000
    *(0x4c0000c8)= 0x00000000
    *(0x4c0000d4)= 0x00000000
    *(0x4c0000d8)= 0x00000000
    *(0x4c0000dc)= 0x00000000
    *(0x4c0000e4)= 0x00100306
    *(0x4c0000e8)= 0x00100306
    *(0x4c000100)= 0x00000000
    *(0x4c000104)= 0x00000000
    *(0x4c000108)= 0x00000000
    *(0x4c000120)= 0x00000305

    *****
    *** IOCTRL 寄存器***
    *****

    控制:DDR_CMD0_IOCTRL = 0x00000373
    *禁用 DDR_BA2上拉/下拉
    *禁用 DDR_Wen 上拉/下拉
    *禁用 DDR_BA0上拉/下拉
    *禁用 DDR_A5上拉/下拉
    *禁用 DDR_ck 上拉/下拉
    *禁用 DDR_ckn 上拉/下拉
    *禁用 DDR_A3上拉/下拉
    *禁用 DDR_A4上拉/下拉
    *禁用 DDR_A8上拉/下拉
    *禁用 DDR_A9上拉/下拉
    *禁用 DDR_A6上拉/下拉
    *位9:5控制 DDR_CK 和 DDR_ckn
    -压摆最慢
    -驱动强度8mA
    *位4:0控制 DDR_BA0、DDR_BA2、DDR_Wen、DDR_A[9:8]、DDR_A[6:3]
    -压摆快速
    -驱动强度8mA
    控制:DDR_CMD1_IOCTRL = 0x00000373
    *禁用 DDR_a15上拉/下拉
    *禁用 DDR_A2上拉/下拉
    *禁用 DDR_A12上拉/下拉
    *禁用 DDR_A7上拉/下拉
    *禁用 DDR_B1上拉/下拉
    *禁用 DDR_A10上拉/下拉
    *禁用 DDR_a0上拉/下拉
    *禁用 DDR_A11上拉/下拉
    *禁用 DDR_casn 上拉/下拉
    *禁用 DDR_rasn 上拉/下拉
    *位4:0控制 DDR_15、DDR_A[12:10]、DDR_A7、DDR_A2、DDR_a0、 DDR_B1、DDR_casn、DDR_rasn
    -压摆快速
    -驱动强度8mA
    控制:DDR_CMDS2_IOCTRL = 0x00000373
    *禁用 DDR_cke 上拉/下拉
    *禁用 DDR_resetn 上拉/下拉
    *禁用 DDR_odt 上拉/下拉
    *禁用 DDR_A14上拉/下拉
    *禁用 DDR_A13上拉/下拉
    *禁用 DDR_csn0上拉/下拉
    *禁用 DDR_A1上拉/下拉
    *位4:0控制 DDR_cke、DDR_resetn、DDR_odt、DDR_csn0、DDR_[A14:13]、 DDR_A1
    -压摆快速
    -驱动强度8mA
    控制:DDR_DATA_IOCTRL = 0x00000373
    *禁用 DDR_D8上拉/下拉
    *禁用 DDR_D9上拉/下拉
    *禁用 DDR_d10上拉/下拉
    *禁用 DDR_D11上拉/下拉
    *禁用 DDR_d12上拉/下拉
    *禁用 DDR_D13上拉/下拉
    *禁用 DDR_D14上拉/下拉
    *禁用 DDR_D15上拉/下拉
    *禁用 DDR_dqm1上拉/下拉
    禁用* DDR_dqs1和 DDR_dqsn1上拉/下拉
    *位9:5控制 DDR_dqs1、DDR_dqsn1
    -压摆最慢
    -驱动强度8mA
    *位4:0控制 DDR_d[15:8]、DDR_dqm1
    -压摆快速
    -驱动强度8mA
    控制:DDR_Data1_IOCTRL = 0x00000373
    *禁用 DDR_d0上拉/下拉
    *禁用 DDR_D1上拉/下拉
    *禁用 DDR_D2上拉/下拉
    *禁用 DDR_D3上拉/下拉
    *禁用 DDR_D4上拉/下拉
    *禁用 DDR_D5上拉/下拉
    *禁用 DDR_d6上拉/下拉
    *禁用 DDR_D7上拉/下拉
    *禁用 DDR_dqm0上拉/下拉
    禁用* DDR_dqs0和 DDR_dqsn0上拉/下拉
    *位9:5控制 DDR_dqs0、DDR_dqsn0
    -压摆最慢
    -驱动强度8mA
    *位4:0控制 DDR_d[7:0]、dqm0
    -压摆快速
    -驱动强度8mA
    控制:DDR_IO_CTRL = 0x00000000
    *位31:由 EMIF 控制的 DDR_RESETn。
    *为 SSTL 配置的位28 (mDDR_SEL)、即 DDR2/DDR3/DDR3L 操作。
    控制:VTP _CTRL = 0x00010167
    * VTP 未被禁用(正常运行时需要,但 DS0不需要)。
    控制:Vref_CTRL = 0x00000000
    * VREF 由外部提供(典型值)。
    控制:DDR_CKE_CTRL = 0x00000001
    *由 EMIF 控制的 CKE (正常/非门控操作)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Francois、
    很棒! 最后、您得到了良好的输出。 您能否尝试将所有 DDR_DATAx_IOCTRL 寄存器更改为0x18B。

    谢谢、
    James