IC:

概述

什么是PSRAM?

PSRAM(伪静态随机存储器)是一种结合了SRAM的易用性和DRAM的高密度特性的存储器。它通过动态刷新机制实现类似SRAM的接口。

PSRAM特性

  • 定期自动刷新以维护数据完整性,对软件层完全透明,无需显式管理刷新操作。

  • 集成温度传感器,在高温(>85°C)环境下自动缩短刷新间隔,常温低温下延长间隔,优化功耗效率。

  • 访问速度快,适合高速数据处理。

  • 接口简单,易于集成。

  • 密度中等,提供了比SRAM更高的存储容量。

PSRAM应用场景

  • 嵌入式系统,如IoT设备、音频设备、Wi-Fi模块等。

  • 图形显示缓存,用于LCD/OLED屏幕驱动。

  • 低功耗场景(电池供电设备)。

PSRAM 架构

物理结构

  • 存储单元:基于DRAM的电容结构,集成内部刷新控制器。

  • 并行接口:数据线(DQ0~DQn),控制信号(CS, CK/CK#, DQS,RESET)。

  • 双沿触发:支持 DDR(Double Data Rate)传输模式。

  • 工作电压:1.7~2.0V,核心电压 1.8V。

控制结构

  • PHY:物理层,负责时序校准,可编程驱动强度,信号完整性增强。

  • SPIC:控制层,用于时序控制,协议转换,自刷新管理,仲裁,ECC等等。

  • Master:CPU、DMA、CRYPTO、WIFI等。

../../_images/psram_control_architecture.svg

psram control architecture

PSRAM功能特性

  • 随机访问:允许在任意地址读写数据。

  • Burst访问:支持连续读写多个数据,提高数据传输效率。

  • 待机模式(Standby):关闭部分电路以降低功耗,保留存储数据。

  • 休眠模式(Deep Sleep):关闭所有功能电路,所有刷新操作停止,存储单元中的数据将丢失。

PSRAM 使用方法

PSRAM 初始化流程

本流程描述SDK中自动初始化PSRAM的过程,涵盖硬件检测、参数配置、校准及内存布局规划等关键步骤。

硬件检测与型号识别

OTP 信息读取

操作步骤:

  • Boot 启动后,SDK 自动读取 OTP(One-Time Programmable)存储器的地址 0x7FF。

  • 解析该地址中的 BD Number(Bonding Diagram 编号),判断芯片是否封装了 PSRAM 和 PSRAM型号。

PSRAM 上电与初始化

电源与时钟使能

操作步骤:

  • bootloader阶段开启 PSRAM 电源域(Power Domain),电压配置为 1.8V。

  • 若芯片封装了PSRAM, 启动 PSRAM 专用时钟源,频率初始化为安全默认值。

关键 API:

1LDO_PSRAM(ENABLE); // 电源使能
2RCC_PeriphClockCmd(APBPeriph_PSRAM, APBPeriph_PSRAM_CLOCK, ENABLE); // 时钟使能

控制参数与寄存器初始化

操作步骤:

  • 根据检测到的 PSRAM 型号,加载预定义的 时序参数表(如 Tcem, Tcsh等),并配置 PSRAM 控制器寄存器。

  • 配置psram 设备寄存器,设置突发长度(Burst Length)、驱动强度(Drive Strength)等。

示例代码:

1// 设置 Burst Length, CS Latency
2PSRAM_WB_DEVIC_Init();
3// 配置时序参数
4PSRAM_CLK_Update();
5PSRAM_CTRL_Init();

PSRAM校准

主要进行DQS延迟校准,通过动态调整 DQS 与 DQ 信号的相位对齐,优化采样窗口。

校准 API:

1PSRAM_calibration(); // DQS 延迟校准

内存布局(LD)规划

Menuconfig 配置选项

通过 menuconfig 选择 PSRAM 的链接策略(Link Option):

PSRAM 使用注意事项—-ongoing

4.1 高温下使用psram

  • 在高温(如>85℃)环境下使用PSRAM时,可能需要调整TCEM值以确保稳定性。

4.2 Row Hammer问题

  • Row Hammer 是一种由**高频次访问特定存储行(Row)**引发的硬件级漏洞,最早在DRAM中发现,但同样可能出现在基于DRAM架构的PSRAM中。其核心机制是:

    电荷泄漏: 频繁激活某一行(Aggressor Row)会导致相邻行(Victim Row)的存储电容电荷被干扰,从而引发数据位翻转(Bit Flip)。

    刷新不足: PSRAM虽然内部集成刷新逻辑,但在极端访问频率下,刷新周期可能无法及时补偿电荷损失。

  • 如何避免

    在带有Cache属性的PSRAM系统中,Cache通过减少对物理内存的直接访问频率,可显著降低Row Hammer的发生概率。其核心原理如下:

    访问频率稀释:Cache作为CPU与PSRAM之间的缓冲层,会将多次逻辑访问合并为少量物理访问,减少了对同一存储行的高频激活。

    突发访问优化:Cache的预取(Prefetch)和批量写回(Write-back)机制,将随机访问转化为连续块传输,避免频繁切换行地址。

“本产品采用的PSRAM内置 目标行刷新(TRR) 机制,实时监测高频访问行,并主动刷新相邻行电荷,从根本上抑制Row Hammer效应。在极端访问模式下(每秒 10^6 次行激活),数据错误率为0。”

数据安全(internal)

Scramble

支持的PSRAM型号

PSRAM TP

  • 根据具体型号和应用场景,可能需要调整PSRAM的TP参数。