H57V561620FTP SDRAM 参考手册

H57V561620FTP SDRAM 参考手册

一、器件概述

  • 容量:256Mbit = 16M × 16bit(4 Bank × 4M × 16bit)
  • Bank 结构:4 个独立 L-Bank,每 Bank 为 8192 行 × 512 列 × 16bit
  • 供电:VDD = VDDQ = 3.3V(标称 3.0 ~ 3.6V),LVTTL 接口
  • 刷新:8192 次刷新周期 / 64ms(单Bank有8192页)
  • CAS Latency:可编程 2 或 3
  • 突发长度(BL):1、2、4、8 或全页(顺序模式)/ 1、2、4、8(交错模式)
  • 封装:54 引脚 TSOPII(400mil × 875mil,引脚间距 0.8mm)
  • 速度等级:-6 = 166MHz(CL=3)/ 133MHz(CL=2);-H = 133MHz(CL=3)/ 100MHz(CL=2)
  • 工作温度:0 ~ 70°C

二、引脚说明

引脚 类型 功能
CLK 输入 系统时钟,所有输入信号在 CLK 上升沿被锁存
CKE 输入 时钟使能;拉低可进入掉电、时钟挂起或自刷新状态
CS 输入 片选,低有效;CS=高时忽略除 CLK、CKE、DQM 外所有输入
RAS / CAS / WE 输入 命令定义信号,与 CS 组合决定当前命令
BA0 / BA1 输入 Bank 地址:行激活时选 Bank,读写时选目标 Bank
A0 ~ A12 输入 地址线:行地址 RA0~RA12(ACT 时);列地址 CA0~CA8(读写时);A10 兼作自动预充电标志
LDQM / UDQM 输入 数据屏蔽:低/高字节;写屏蔽 0 延迟,读屏蔽 2 时钟
DQ0 ~ DQ15 I/O 16 位双向数据总线
VDD / VSS 电源 内部电路与输入缓冲电源(3.3V)
VDDQ / VSSQ 电源 输出缓冲电源(3.3V)

三、命令集

所有命令在 CLK 上升沿锁存,由 CS、RAS、CAS、WE 的电平组合定义:

命令 CS RAS CAS WE A10/AP BA 说明
器件取消(DESL) H X X X X X 忽略当前命令,内部状态保持
空操作(NOP) L H H H X X 无操作,内部操作继续
行激活(ACT) L L H H X V 激活指定 Bank 的指定行
读(READ) L H L H L/H V 突发读;A10=H 启用自动预充电
写(WRITE) L H L L L/H V 突发写;A10=H 启用自动预充电
预充电(PRE) L L H L L/H V 关闭行;A10=H 预充电所有 Bank
突发停止(BST) L H H L X X 终止读突发(不用于终止写)
模式寄存器设置(MRS) L L L L X 00 编程 CL、BL 等参数,需所有 Bank 空闲
自动刷新(AR) L L L H X X 刷新一行,地址由内部计数器产生
自刷新(SR) L L L H X X 掉电保持数据;进入时 CKE=低

四、模式寄存器(MRS)

MRS 命令时 BA0=BA1=低,操作码通过地址线送入:

位 定义
A0 ~ A2 突发长度(BL)
A3 突发类型:0 = 顺序,1 = 交错
A4 ~ A6 CAS 延迟(CL)
A9 写模式:0 = 突发读突发写,1 = 突发读单写

突发长度(A3=0 顺序模式):A2A1A0 = 000→1,001→2,010→4,011→8,111→全页

CAS 延迟:A6A5A4 = 010→CL2,011→CL3

五、上电初始化流程

上电后必须按以下顺序初始化,否则器件无法正常工作:

步骤1: VDD 与 VDDQ 同时上电,同时启动时钟
步骤2: 等待至少 200µs
步骤3: 发送 PRECHARGE ALL(预充电所有 Bank)
步骤4: 连续执行 8 次以上 AUTO REFRESH
步骤5: 执行 MRS,编程 CAS Latency、突发长度等
步骤6: 初始化完成,进入正常操作

六、读写操作流程

6.1 读操作

  1. ACT:给出 Bank 地址(BA0/BA1)与行地址(A0~A12)
  2. 等待 tRCD(RAS 到 CAS 延迟)
  3. READ:给出 Bank 与起始列地址;A10=H 启用自动预充电
  4. 等待 CL 个时钟,数据在 DQ 上连续输出,突发长度由 MRS 决定
  5. 突发结束自动高阻;若未启用自动预充电,需手动发 PRE 关闭行

读命令后首个数据在 CL 个时钟后有效(CL 只影响读);DQM 屏蔽读数据有 2 时钟延迟。

{ signal: [
  { name: "CLK", wave: "p...................." },
  { name: "CMD", wave: "4.4.4.4.4.4.4.4.4.4", data: ["ACT","NOP","NOP","READ","NOP","NOP","NOP","NOP","NOP","NOP"] },
  { name: "DQ",  wave: "8.8.8.8.8.8.4.4.4.4", data: ["","","","","","","D0","D1","D2","D3"] },
]}

CL=2、BL=4、tRCD=3clk:ACT 后经 tRCD 发 READ,再经 CL 后连续输出 4 个数据

6.2 写操作

  1. ACT:激活目标 Bank 与行
  2. 等待 tRCD
  3. WRITE:给出 Bank 与起始列地址,数据与写命令同拍送入(写延迟为 0)
  4. 后续数据每个时钟沿送入,长度由突发长度决定
  5. 最后数据后需满足 tDPL(数据入到预充电 ≥ 2 时钟),再发 PRE 关闭行

写数据无延迟;DQM 屏蔽写数据 0 延迟,需在 PRE 前用 DQM 屏蔽不写入的剩余数据。

{ signal: [
  { name: "CLK", wave: "p................." },
  { name: "CMD", wave: "4.4.4.4.4.4.4.4.4", data: ["ACT","NOP","NOP","WRITE","NOP","NOP","NOP","NOP","PRE"] },
  { name: "DQ",  wave: "8.8.8.8.4.4.4.4.8", data: ["","","","D0","D1","D2","D3","",""] },
]}

BL=4:数据与 WRITE 命令同拍开始,PRE 在最后数据后 2 时钟(tDPL=2clk)

七、刷新机制

  • SDRAM 依靠电容存储数据,需在 64ms 内完成全部 8192 行的刷新,即平均 约 7.8µs 一次
  • 自动刷新(AR):正常工作期间逐次发送,行地址由内部计数器产生
  • 自刷新(SR):进入时 CKE 拉低,内部定时器异步自动刷新,掉电不丢数据;退出自刷新后建议补发一次 AR
  • 刷新期间所有 Bank 必须空闲(先 PRE ALL)

八、关键时序参数

参数 含义 -6(166MHz) -H(133MHz)
tCK 时钟周期 6ns 7.5ns
tRCD ACT → READ/WRITE 延迟 18ns 20ns
tRP 预充电时间 18ns 20ns
tRAS 行激活最短时间 42ns 42ns
tRC 行周期(ACT→ACT 同 Bank) 60ns 63ns
tRRD 不同 Bank 连续 ACT 延迟 12ns 15ns
tMRD MRS 后到新命令延迟 2clk 2clk
tREF 刷新周期 64ms 64ms
tDPL 写数据到预充电延迟 2clk 2clk

九、使用注意事项

  1. 换行必须关行:同一 Bank 访问不同行时,必须先 PRE(等 tRP)再 ACT,不能直接跨行读写
  2. Bank 交错:不同 Bank 可同时保持激活,访问 Bank B 时预充电 Bank A,可隐藏预充电开销、提升带宽
  3. 读转写:读突发需先终止(BURST STOP 或 PRE)并让 DQ 进入高阻,再发写命令,避免总线冲突
  4. A10 自动预充电:READ/WRITE 时 A10=H 可自动关闭行,省去手动 PRE,但自动预充电后同 Bank 仍须等 tRP
  5. 行地址 13 位、列地址 9 位:本芯片列地址只用 A0~A8,A9 在部分命令中另有含义(如突发读单写),A10 为预充电标志
  6. 掉电模式:空闲时 CKE=低可进入掉电省电,但掉电期间不刷新,停留时间不能超过刷新周期要求
  7. 上电时序:VDD 与 VDDQ 必须同时上电,先 200µs 再 PRE ALL + 8 次 AR + MRS,顺序不可颠倒