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单片机】欢迎添加关注!文章转载请注明出处。


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

    关注

    6036

    文章

    44557

    浏览量

    635132
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355923

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

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

收藏 人收藏

    评论

    相关推荐

    如何在STM32上运行AI应用

    1.X-Linux-AI概述X-LINUX-AI是STM32MPUOpenSTLinux扩展包,面向STM32MP1STM32MP2系列
    的头像 发表于 09-30 08:00 2487次阅读
    如何在<b class='flag-5'>STM32</b>上运行AI应用

    TLC3702 TLC3704系列用笔记

    电子发烧友网站提供《TLC3702 TLC3704系列用笔记.pdf》资料免费下载
    发表于 09-20 09:14 0次下载
    TLC3702 TLC3704<b class='flag-5'>系列</b>应<b class='flag-5'>用笔记</b>

    STM32mp157AAC3 1GB DDR编译运行报错的原因?

    开发板:野火电子STM32MP157 MPU:STM32MP157AAC3 DDR:1GB DDR
    发表于 07-23 06:17

    STM32MP157F-DK2配置的4G DDR3L,为什么输入free指令的时候,显示只有300M的运行内存?

    STM32MP157F-DK2配置的 4G DDR3L,但为什么输入free指令的时候,显示只有300M的运行内存。
    发表于 05-30 06:22

    STM32MP1STM32MP2有什么不同?

    想用MPU自学自制图像识别与建模系统,哪个系列更适合呢
    发表于 05-30 06:21

    芯海通用 MCU 应用笔记 :CS32F103 系列 MCU IAP 升级指南

    本应用笔记旨在帮助指导用户针对芯海 CORTEX-M3 MCU CS32F103 系列单片机 IAP 应用的快速开发。本应用笔记实现了 CAN 和 USART 两种接口方式来开发 IAP 应用,协议
    发表于 05-16 11:40

    芯海通用 MCU 应用笔记: CS32F03x 系列硬件设计指南

    本技术说明文档提供关于 CS32F03x 系列 MCU 的电源,启动引导配置,应用注意事项的说明,旨在帮助用户更好地使用 CS32F03x 系列 MCU,进行芯海科技 CS32F03x 系列
    发表于 05-16 11:32

    芯海通用 MCU 应用笔记: C32F03x 系列快速应用指南

    本应用笔记旨在指导用户搭建 CS32F03x/F03x-RA 系列 MCU 开发环境并进行开发和调试,包括:软件开发与移植、软硬件注意事项、开发板说明、如何 Keil/IAR/GCC 下安装 SDK
    发表于 05-16 11:29

    CSU18MX86应用笔记

    本应用笔记旨在为用户提供关于CSU18MX86的详细信息和使用指南,帮助用户快速开发基于CSU18MX86的应用。*附件:CSU18MX86应用笔记_V1.0.pdf
    发表于 05-16 10:21

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

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

    STM32MP157F-DK2 tsv下载错误的原因?

    问题 按照官网教程 Getting_started 操作测试开发板 进行到使用 CubeProgrammer 下载 STM32MP1 OpenSTLinux Starter Package 至
    发表于 03-29 08:11

    STM32MP157A-DK1老是提示电源有问题怎么解决?

    : STMicroelectronics STM32MP157A-DK1 Discovery Board Board: stm32mp1 in trusted mode (st
    发表于 03-27 08:07

    请问STM32MP135裸机开发DDR怎么配置

    使用STM32CubeMx 配置4Gb DDR3L,目前是这样配置
    发表于 03-11 08:35

    STM32MP135-DK的STM32MP13XX_CUSTOM_HW文件夹中DDR_init是否是通用的模板?

    使用的是STM32MP135DA芯片,搭载4GbMT41K256M16TW-107 IT:P,开发板, 请问 1、是否可以直接烧录DDR_init工程。 2、要使得程序在DDR中运行
    发表于 03-11 07:44

    STM32mp135裸机开发无法使用DDR吗?

    /STM32CubeMP13_Package_-_Getting_started#Integrating_AzureRTOS_middleware 咨询一下关于DDR的使用问题: 1.只有RTOS的才能对
    发表于 03-11 07:01