查看: 7964|回复: 7

[原创] 【学习笔记】i.MX RT 上 HyperRAM/PSRAM 的高级用法

[复制链接]
  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3942

    主题

    7563

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    40257
    最后登录
    2025-9-10
    发表于 2021-11-30 11:20:05 | 显示全部楼层 |阅读模式
    i.MX RT 上 HyperRAM/PSRAM 的高级用法
    1 引言
    i.MX RT 系列单片机是恩智浦的跨界产品。i.MX RT 包含了一个 FlexSPI 控制器,该控制器支持 HyperBus 设备(HyperFlash/HyperRAM),串行 NORFlash 或者其他使用类似于 SPI 协议的设备等。How to Enable HyperRAM with i.MX RT(文档 AN12239)介绍了在 i.MX RT上使用 HyperRAM 的基础知识以及相关配置等。本应用笔记在此基础上,主要介绍 i.MX RT 上 HyperRAM/PSRAM 的一些高级用法,包括 FlexSPI 预取功能,HyperRAM 刷新间隔以及 i.MX RT 支持的 HyperRAM/PSRAM 设备等。本应用笔记选用 i.MX RT1050 以及 RT1170 作为示例,并测试了不同厂商的HyperRAM/PSRAM 设备。
    2 FlexSPI 控制器
    i.MX RT1050 上的 FlexSPI 控制器支持如下功能:
    • 支持多种不同类型设备:
    — Serial NOR/NAND Flash
    — HyperBus 设备(HyperFlash/HyperRAM)
    — FPGA 设备
    • 支持的 Flash 访问模式:
    — Single/Dual/Quad/Octal 模式
    — SDR/DDR 模式
    — Individual/Parallel 模式
    • 通过 AHB 总线进行内存映射访问读写:
    — AHB RX Buffer 用于减少读数据延迟,AHB RX Buffer 总大小: 128 × 64 Bits
    — AHB RX Buffer 共有 4 个可灵活配置的 buffer
    — AHB TX Buffer 用于缓存一个 AHB burst 中所有的写数据,AHB TX Buffer 总大小: 8 × 64 Bits
    • 通过 IP 总线进行软件触发 flash 读/写访问:
    — IP RX FIFO 用于缓存从外部设备读取的数据,FIFO 总大小: 16 × 64 Bits
    — IP TX FIFO 用于缓存写到外部设备的数据,FIFO 总大小: 16 × 64 Bits
    3 HyperBus 接口
    FlexSPI 控制器可以支持 HyperBus 设备,HyperRAM 是使用 HyperBus 接口的设备之一。
    HyperBus 支持 DDR 接口,可以实现高速率数据读写。命令、地址和数据通过 HyperBus 的 8 根数据线 DQ[7:0]进行传输。当
    HyperBus 从设备接收命令、地址和数据时,时钟(CK#, CK)用于采样这些数据信息。

    CS 信号拉低代表一次传输的开始,首先通过数据线传输 6 个 CA 字节(命令地址数据),接着传输初始访问延迟,最后读/写数据
    会在数据线上进行传输,直到 CS 信号拉高为止。
    图 1 是一个数据读取过程。
    13.png
    图 2 给出了写数据传输流程。
    14.png
    4 PSRAM 简介
    本章简单介绍了在该应用笔记中使用的 PSRAM 设备的一些特性。
    4.1 QSPI PSRAM
    使用的其中一款 PSRAM 是 APS6404L-3SQR, 它是 apmemory 厂商的一种 QSPI PSRAM。
    这款 PSRAM 设备拥 有 4 个 SDR (单数据速率)I/O 引脚 , 使用 SPI 或 QPI 接口,工作频率高达 133 MHz。该设备的数据输
    入依靠时钟来锁存所有指令,地址和数据,适用于低功耗和低成本便携式应用。该设备拥有自我管理的刷新机制,因此无需主机

    系统支持对 DRAM 的刷新。


    SPI / QPI PSRAM 设备是字节寻址的。设备可以识别以下各种命令:
    15.png

    4.2 Octal SPI PSRAM
    另一款使用的 PSRAM 设备是 APS12808L-OBM-BA, 它也是 apmemory 厂商的,是一种 Octal SPI PSRAM。
    这款 PSRAM 设备拥有 8 个 DDR(双数据速率)I/O 引脚,每个时钟周期传输两个字节,使用 SPI 接口,工作频率高达 200 MHz。
    Octal DDR PSRAM 设备也是通过字节寻址的。不过,对该设备内存空间的寻址必须从偶地址开始(地址最后一位时钟为 0)。模
    式寄存器的寻址没有什么特殊要求。
    该 PSRAM 设备可以识别在 A/DQ 引脚定义的指令周期上指定的以下命令:

    16.png

    5 高级用法
    本章主要介绍在 i.MX RT 上使用 HyperRAM/PSRAM 的一些高级知识点,包括 FlexSPI 预取功能,HyperRAM 自刷新,以及 i.MX
    RT 支持的 HyperRAM/PSRAM 设备等。
    5.1 预取
    FlexSPI 支持 AHB RX prefetch buffer,当从外部存储器读取数据时,该 buffer 用于预取数据并缓存,从而减少读数据访问延迟,
    提高整体性能。
    i.MX RT1050 将 AHB RX buffer 分为 4 个缓冲区。AHB RX buffer 总大小为 1K 字节,每个缓冲区大小通过寄存器域
    AHBRXBUF0CR0[BUFSZ] - AHBRXBUF3CR0[BUFSZ]进行配置。
    NXP Semiconductors
    高级用法
    i.MX RT 上 HyperRAM/PSRAM 的高级用法, 版本 2, 2021 年 11 月 29 日
    应用笔记 4 / 11
    17.png

    FlexSPI 可以给不同的 master 分配不同的 AHB RX 缓冲区,通过配置寄存器域 AHBRXBUF0CR0[MSTRID] -
    AHBRXBUF3CR0[MSTRID]将 AHB RX 缓冲区分配给特定的 master 使用。
    一些 master 有特定的 master ID。如 表 1 所示,Core, eDMA 以及 DCP 这些 master 都有独立的 ID,其他 master 共用一个相同
    的 ID。
    表 1. Master IDs
    18.png

    通过配置寄存器域 AHBCR[PREFETCHEN]和 AHBRXBUFxCR0[PREFETCHEN]来控制 AHB 读预取功能的使能与否。只有当
    AHBCR[PREFETCHEN]和 AHBRXBUFxCR0[PREFETCHEN]同时设置为 1 时,AHB 读预取功能才会使能。预取的数据大小由分
    配给该 master 的 AHB RX 缓冲区的大小决定。
    19.png

    NXP Semiconductors
    高级用法
    i.MX RT 上 HyperRAM/PSRAM 的高级用法, 版本 2, 2021 年 11 月 29 日
    应用笔记 5 / 11
    接下来以 HyperRAM 为例介绍一下 AHB 预取的流程。当 AHB 预取使能时,一旦接收到总线的读命令,FlexSPI 首先确认需要读取
    数据的地址是否在当前 AHB 缓冲区地址范围内。如果在,则直接返回相应地址的数据,如果不在,FlexSPI 会触发 对 HyperRAM
    的读访问。当读取到相应的数据并返回给总线后,FlexSPI 会继续从 HyperRAM 中预取数据到 AHB RX 缓冲区,直到存满整个缓
    冲区。新的 IP 或者 AHB 命令请求会打断当前正在进行的 AHB 读预取过程。
    图 7 给出了读预取一般流程。
    20.png

    5.2 TCSH/TCSS 域
    访问外部设备时,在片选(CS)信号和串行时钟(SCLK)信号之间,FlexSPI 需要遵循特定的时序要求。
    对于 SDR 访问模式,CS 拉低到 SCLK 第一个上升沿之间需要至少(TCSS+0.5)个串行时钟周期,SCLK 最后一个下降沿到 CS拉高之间至少需要 TCSH 个串行时钟周期。图 8 给出了 SDR 模式下 CS 和 SCLK 之间的时序关系图。
    21.png

    对于 DDR 访问模式,CS 拉低到 SCLK 第一个上升沿之间需要至少(TCSS+0.5)个串行时钟周期,SCLK 最后一个下降沿到 CS拉高之间至少需要(TCSH+0.5)个串行时钟周期。图 9 给出了 DDR 模式下 CS 和 SCLK 之间的时序关系图。

    想要查看详细内容,请参与下方回复:






    qiandao qiandao
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    14 小时前
  • 签到天数: 1882 天

    连续签到: 7 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112743
    最后登录
    2025-9-9
    发表于 2021-11-30 13:37:14 | 显示全部楼层
    还有隐藏内容呢~~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3942

    主题

    7563

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    40257
    最后登录
    2025-9-10
     楼主| 发表于 2021-11-30 15:53:00 | 显示全部楼层
    stm1024 发表于 2021-11-30 13:37
    还有隐藏内容呢~~

    主要是我没更新完,隐藏完整版哈哈
    qiandao qiandao
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-3-21 22:25
  • 签到天数: 44 天

    连续签到: 1 天

    [LV.5]常住居民I

    0

    主题

    110

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    228
    最后登录
    2022-3-21
    发表于 2021-12-1 08:53:03 | 显示全部楼层
    不错,学习了
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    3
    最后登录
    2022-2-21
    发表于 2022-2-21 19:27:35 | 显示全部楼层
    想要的内容
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    0

    新手上路

    Rank: 1

    积分
    3
    最后登录
    2022-3-2
    发表于 2022-3-2 04:31:04 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    2020-7-21 09:03
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    39
    最后登录
    2024-7-16
    发表于 2022-4-20 15:48:31 | 显示全部楼层
    mark一下!!学习
    解决问题!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-4 14:25
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    176

    帖子

    0

    高级会员

    Rank: 4

    积分
    740
    最后登录
    2025-9-8
    发表于 2022-5-9 11:14:09 | 显示全部楼层
    学习了,多谢
    每天登陆学习一下
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 15:18 , Processed in 0.113777 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表