应用笔记|STM32MP1 系列 MPU 的 DDR 配置

发布时间:2023-08-17  

本文档描述在 STM32MP1 系列 MPU 产品上配置 DDR 子系统(DDRSS)所需的流程和步骤。


设定 DDR 控制器(DDRCTRL)、PHY 接口(DDRPHYC)和 SDRAM 模式寄存器的多个参数以及设置完成 DDRSS 配置。


根据 DDR 类型、DDR 大小、DRAM 拓扑、运行时间频率和 SDRAM 器件数据手册参数确定这些参数。所有这些参数必须在初始化序列期间设定。


STM32CubeMX DDR 测试套件使用直观的面板和菜单隐藏了与确定正确参数和初始化启动相关的复杂性(请参考[6])。为了快速设置要运行的 DDRSS,用户只需提供很少几个输入参数即可完成配置。可以使用一些高级用户模式和特殊功能(当它们对于应用而言十分重要时)。


在系统启动阶段,为了优化时序裕量,支持多种 PHY 调谐。可以使用 STM32CubeMX 启动这些调谐。PHY 调谐结果可以保存并在后续冷复位时恢复。


在启动阶段,用户可以运行大量测试套件。这些测试可以使用 STM32CubeMX 启动,并用于确认 DDR 配置的稳健性。


目录预览


1 概述

2 DDR 子系统初始化和配置

3 配置参数

4 配置序列和参数

5 DDR3/3L 配置

6 LPDDR2 配置

7LPDDR3 配置

8STM32CubeMX 的 DDR 测试

9 高级用户配置


1. 概述

本文档适用于 STM32MP1 系列基于 Arm的 MPU。


2.DDR 子系统初始化和配置

DDR 子系统包括 DDRCTRL 和 DDRPHYC(参见下图)。


DDRCTRL 支持在正常操作期间通过命令和刷新调度进行 DDR 命令调度。


DDRPHYC 是一种 DDR PHY 接口,具有连接 DDRCTL 的 DFI 接口[7]和字节通道架构,适合连接频率不超过 533MHz 的 DDR3/3L 和 LPDDR2/3。


DDRPHYC 完全支持具有多个 PHY 调谐选项(内置)的 DDR 初始化。


DDRPYC 包含 BIST 引擎,用于支持软件驱动的调谐。


8396fcbc-cb08-11ed-bfe3-dac502259ad0.png



2.1 DDRSS 和 SDRAM 初始化


器件根据 SDRAM 启动序列对电源、时钟和复位进行内部排序。


图 2 所示的 PHY 初始化序列由 DDRPHYC 物理实用模块(PUB)控制。这一基于 PUB 的初始化序列在DDRPHYC 从复位状态释放后启动,并根据 DDRPHYC.PIR 寄存器进行排序。


初始化序列包括以下步骤:

1.DDRCTRL 和 DDRPHYC 初始化包括内部时序模块(ITM)复位以及 DLL 复位和锁定


2. DDRPHYC I/O 初始校准(ZCAL),与 DLL 锁定同时启动


3. 通过模式寄存器写入和校准命令执行 SDRAM 初始化


4. 内置 DQS 门控训练(DQSTRN)


提示 :

• 在 SSTL 模式下为所有 SDRAM 设置 DDRPHYC I/O。

• DQS 门控训练是可选的。但是,建议在每次初始化时运行内置 DQS 门控训练。

83af09ce-cb08-11ed-bfe3-dac502259ad0.png



2.2DDRCTRL 配置


大多数 DDRCTRL 寄存器是静态的,并在 DDRCTRL 从复位状态释放和 AXI 端口使能前加载。这是在 DDR 软件驱动器的支持下实现的。


在 DDRPHYC 和 DDCTRL 完成初始化后,DDR 子系统就绪,使能 AXI 端口是最后一个步骤。


通过从 STM32CubeMX DDR 面板选择的菜单/选项提供的极少信息确定 DDRCTRL 和 DDRPHYC 寄存器的配置。


然后,DDRSS 配置被保存并恢复到 DDRCTRL 和 DDRPHYC 寄存器,用于后续的复位和正常操作。



2.3 DDR 配置


配置 DDR 所需的步骤如下:

1.为 DDRCTRL 和 DDRPHYC 寄存器确定并设定合适值。


2. 启动 DDRCTRL 和 DDRPHYC 初始化序列。


3. 启动具有参数保存和恢复功能的 DDR 调谐(可选)。


4. 启动 DDR 测试(可选)。完整配置流程和参数如下图所示

83c65a70-cb08-11ed-bfe3-dac502259ad0.png

按照第 3 节 配置参数中的类型描述配置参数。



2.4 DDR PHY 调谐


除了使用强制 DQS 门控训练(DQSTRN)确定读脉冲期间 DQS 门控的最佳位置,DDRPHYC 还支持两种读取时序优化,即 PHY 调谐。


以下从 STM32CubeMX 驱动的软件例程支持 PHY 调谐,以优化读时序裕量:

• DQS 门控训练(可在 DDR PHY 调谐期间以交互方式启动的软件)

• DQ 位去时滞,以补偿 DQ 位通道读取延迟

• DQS 眼图居中,用于调节 DQS/DQS#延迟以实现最佳 DQ 采样


建议在系统初启阶段进行 PHY 调谐。为每个字节通道执行调谐。由于 PHY 调谐时间可能较长(几十秒),必须为后续复位和 PHY 初始化(例如,在冷复位和待机退出时)保存和恢复调谐参数。


更多详细信息,请参见第 3.4 节 PHY 调谐。



2.5DDR 测试


在配置 DDR 并为优化时序调谐 PHY 后,必须通过运行从 STM32CubeMX 启动的大量测试序列检查配置的稳健性。


在初启阶段使用 DDR 之前, 必须运行 STM32CubeMx 建议的所有测试和级别。第 8 节 STM32CubeMX 的 DDR 测试中描述了 DDR 测试和测试流程,以及故障诊断和处理措施。


DDR 子系统初启在 DDR 配置、调谐和压力测试成功后完成。保存配置参数用于正常运行模式初始化和 DDR run 模式。


3.配置参数

DDR 配置参数(无论适用于 DDRCTRL 还是 DDRPHYC)可分为以下几组:

• 系统参数:DDR 类型(DDR3/LPDDR2/3)、总线宽度(16 位/32 位)、时钟频率和密度。脉冲长度和时序模式取决于系统配置并由 STM32CubeMX 设置,用户只需在 DDR 配置面板中输入几个必填项。


• 时序参数,根据 DDR 时钟频率和 SDRAM 数据手册确定。该组包括以下参数:

– 基础时序

– JEDEC 内核时序

– 次级时序


• 运行模式和特殊参数,与性能调度、刷新时序和地址映射有关。从配置面板上推荐给用户的预定义设置中选择这些参数。STM32CubeMX DDR 配置提示了一些参数和选项(例如,设置特定模式或扩展温度支持)。


• PHY 调谐参数,与在初始化期间使用一些 PHY 内置模块或执行的软件序列确定的 PHY 时序有关。该组包括以下参数:

– DQS 门控训练(DQSTRN)

– DQ 通道位去时滞细步长延迟

– DQS 眼图居中细步长延迟PHY 调谐结果可通过 STM32CubeMx 进行保存和恢复。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>