OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7869|回复: 1

SDRAM与STM32的FMC时序详解

[复制链接]

18

主题

422

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1139
金钱
1139
注册时间
2014-5-24
在线时间
116 小时
发表于 2015-9-10 11:22:22 | 显示全部楼层 |阅读模式

本文以STM32F746-DISCO为实例


SDRAM主要参数

Column addressing:256 A[7:0]
Bank addressing:4 BA[1:0]
Row addressing:4K A[11:0]
Speed Grade:-6A/-6/-7
Clock Frequency(MHz):167/167/143
tRCD-tRP-CL:3-3-3/3-3-3/3-3-3
tRCD(ns):18/18/20
tRP(ns) :18/18/20
CL(ns) :18/18/21

寄存器值与SDRAM参数

FMC_SDCR

  • CAS[1:0] <--> CL=CAS(READ)latency
  • SDCLK[1:0] <--> SDRAM clock
  • RPIPE[1:0] <--> 读延时与SDRAM无关
  • NB <--> 2/4 Banks
  • MWID[1:0] <--> 位宽(8/16/32)
  • NR[1:0] <--> 行地址位宽
  • NC[1:0] <--> 列地址位宽

FMC_SDTR

  • TRCD[3:0] <--> tRCD
  • TRP[3:0] <--> tRP
  • TWR[3:0] <--> tWR(WRITE recovery time)
  • TRC[3:0] <--> tRC/tRFC(ACTIVE-to-ACTIVE command period/AUTO REFRESH period)
  • TRAS[3:0] <--> tRAS(ACTIVE-to-PRECHARGE command)
  • TXSR[3:0] <--> tXSR(Exit SELF REFRESH-to-ACTIVE command)
  • TMRD[3:0] <--> tMRD(LOAD MODE REGISTER command to ACTIVE or REFRESH command)

FMC_SDRTR

  • COUNT[12:0] <--> COUNT = (SDRAM refresh period / Number of rows) - 20

SDRAM初始化时序

  1. 上电且时钟开启后,除INHIBIT/NOP,100us内不应发送任何命令
  2. 然后,执行至少1次INHIBIT/NOP命令
  3. 执行PRECHARGE-ALL命令,等待tRP的时间,期间应执行NOP/DESELECT命令
  4. 至少执行2次AUTO-REFRESH,中间等待tRFC时间,期间允许执行INHIBIT/NOP命令
  5. 执行完LMR命令后,等待tMRD时间,期间允许执行NOP/DESELECT命令
  6. 必要时,随后执行2次AUTO-REFRESH命令
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.  只给方向,不妨碍思考
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-9-10 11:35:54 | 显示全部楼层
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 06:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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