0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

STM32单片机 来源:未知 2023-03-25 20:30 次阅读

本文档描述在 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 进行保存和恢复。

更多详细信息,请参见[1]。

本文档主要描述在 STM32MP1 系列 MPU产品上配置 DDR 子系统(DDRSS)所需的流程和步骤。由于文章篇幅有限仅展示部分信息,完整内容请点击“阅读原文”下载原文档。

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

长按扫码关注公众号

更多资讯,尽在STM32

点击“阅读原文”,可下载原文档


原文标题:应用笔记|STM32MP1 系列 MPU 的 DDR 配置

文章出处:【微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620830
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348739

原文标题:应用笔记|STM32MP1 系列 MPU 的 DDR 配置

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记

    MPU之间的区别变得越来越模糊。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的场景。米尔的STM32MP135开发板提供基于
    发表于 03-29 18:35

    STM32MP157 MPU的评估板

    ®的两个 A7 32 位和 Cortex®-M4 32 位 MPU 的完整演示和开发平台来设计的。它们利用 STM32MP1 系列微控制器的功能帮助用户开发应用,对主处理器使用 STM32
    发表于 10-09 17:31 1次下载

    如何选择米尔基于STM32MP1系列核心板和开发板

    一款合适的处理器,是每个工程师在开发设计前期调研必须面对的难题。而如何挑选一款符合产品开发的处理器呢?今天我们就以ST公司的STM32MP1系列处理器进行分析比较。 ST公司目前已经发布了两款不同类
    发表于 09-28 16:54

    如何选择STM32MP1系列核心板和开发板

    一款合适的处理器,是每个工程师在开发设计前期调研必须面对的难题。而如何挑选一款符合产品开发的处理器呢?今天我们就以ST公司的STM32MP1系列处理器进行分析比较。ST公司目前已经发布了两款不同类
    的头像 发表于 09-28 08:01 2954次阅读
    如何选择<b class='flag-5'>STM32MP1</b><b class='flag-5'>系列</b>核心板和开发板

    零基础快速入手STM32MP1

    /stm32mpu 的指南,先安装运行 linux 操作系统的 PC,再一步一步使用 linux 上的命令行,将STM32MP1 跑起来。然而,很多 STM32 用户,虽然有着非常好的嵌入式开发能力,但
    发表于 09-27 06:24

    STM32MP1多核实时低功耗处理器

    STM32MP1系列具有灵活的内核架构,在单芯片内嵌入了双ARMR CortexR-A7核、一个CortexR M4核及一个3DGPU单元,轻松实现高速的实时处理。它提供大型芯片封装以实现最低
    发表于 09-25 07:17

    STM32MP1系列密钥生成器软件说明

    电子发烧友网站提供《STM32MP1系列密钥生成器软件说明.pdf》资料免费下载
    发表于 09-20 10:36 0次下载
    <b class='flag-5'>STM32MP1</b><b class='flag-5'>系列</b>密钥生成器软件说明

    STM32MP1系列签名工具软件说明

    电子发烧友网站提供《STM32MP1系列签名工具软件说明.pdf》资料免费下载
    发表于 09-20 10:35 0次下载
    <b class='flag-5'>STM32MP1</b><b class='flag-5'>系列</b>签名工具软件说明

    STM32MP1系列使用低功耗模式

    电子发烧友网站提供《STM32MP1系列使用低功耗模式.pdf》资料免费下载
    发表于 09-20 10:17 0次下载
    <b class='flag-5'>STM32MP1</b><b class='flag-5'>系列</b>使用低功耗模式

    如何连接STM32MP1系列产品与MIPI CSI-2摄像头的信息

    本应用笔记提供关于如何连接 STM32MP1 系列产品与 MIPI CSI-2 摄像头的信息。STM32MP1 系列产品(如
    发表于 09-07 08:16

    STM32MP1系列MPU配置DDR子系统所需的流程和步骤

    本文档描述在 STM32MP1 系列 MPU配置 DDR 子系统(DDRSS)所需的流程和步骤。通过设定
    发表于 09-07 07:52

    如何使用STM32MP151、STM32MP153和STM32MP157系列

    本应用笔记展示了如何使用STM32MP151、STM32MP153和STM32MP157系列,同时讲述了基于这些
    发表于 09-06 07:33

    STM32MP1充电桩全数字交互实现

    STM32MP1充电桩全数字交互实现内容包括:充电桩市场简介、充电桩方案系统构成和STM32MP1在充电桩中优势特点。
    发表于 09-05 07:07

    STM32MP1系列MPUDDR配置

    电子发烧友网站提供《STM32MP1系列MPUDDR配置.pdf》资料免费下载
    发表于 07-31 14:16 0次下载
    <b class='flag-5'>STM32MP1</b><b class='flag-5'>系列</b><b class='flag-5'>MPU</b>的<b class='flag-5'>DDR</b><b class='flag-5'>配置</b>

    用笔记 | MPU 子区话题

    关键字:MPU, SubRegion 目录预览 1 问题起因  2 问题解析 3 问题小结 1. 问题起因 有人询问STM32F7 和STM32H7 系列库例程中有关
    的头像 发表于 07-25 17:40 502次阅读
    应<b class='flag-5'>用笔记</b> | <b class='flag-5'>MPU</b> 子区话题