关于SDRAM在STM32系统中的应用

本文详细介绍了SDRAM在STM32系统中的应用,包括SDRAM的寻址机制、管脚功能、初始化过程及关键操作如预充电、自动刷新、模式寄存器设置。还提及了FMC(灵活存储器控制器)在STM32F429中的作用,以及SDRAM控制器的主要特性和初始化序列。
摘要由CSDN通过智能技术生成

关于SDRAM在STM32系统中的应用

  1. SDRAM(以W9825G6KH为例)在这里插入图片描述

    W9825G6KH内部结构框图
    

    W9825G6KH内部结构框图
    存储单元
    每个存储单元(bank)可以看成是一个表格,寻址的时候,首先 RAS 信号为低电平,选通行地址,地址线 A0-A12 所表示的地址,会被传输并锁存到行地址译码器里面,最为行地址,同时 BANK 地址线上面的 BS0, BS1 所表示的 BANK 地址,也会被锁存,选中对应的 BANK(BANK被激活),然后, CAS 信号为低电平,选通列地址,地址线 A0~A12 所表示的地址,会被传输并锁存到列地址译码器里面,作为列地址,这样,就完成了一次寻址。

管脚说明:
A0-A12:地址线。A0-A8 Multiplexed pins for row and column address(行列地址线复用).
Row address(行地址): A0-A12. Column address(列地址):A0-A8.
A10 is sampled during a precharge command to determine if all banks are to
be precharged or bank selected by BS0, BS1.
BS0, BS1:BANK选择 Select bank to activate during row address latch time, or bank to read/write during address latch time.
DQ0-DQ15:数据线 Multiplexed pins for data output and input.
#CS:片选信号 Disable or enable the command decoder. When command decoder is disabled, new command is ignored and previous operation continues.
#RAS:行地址选通 Command input. When sampled at the rising edge of the clock, nRAS ,nCAS and nWE define the operation to be executed.
nCAS: 列地址选通 Command input.
nWE:写使能 Command input.
LDQM,UDQM:输入输出MASK The output buffer is placed at Hi-Z(with latency of 2) when DQM is sampled high in read cycle. In write cycle, sampling DQM high will block the write operation with zero latency.在实际使用的时候,我们可能会以: 8 位、 16 位、 24 位和 32 位等宽度来读写数据,这样的话,并不是每条数据线,都会被使用到,未被用到的数据线上面的数据,必须被忽略,这个时候就需要用到数据掩码( DQM)线来控制了
在这里插入图片描述

CLK:时钟 System clock used to sample inputs on the rising edge of clock.
CKE:时钟使能 CKE controls the clock(时钟) activation and deactivation. When CKE is low, Power Down mode, Suspend mode, or Self Refresh mode is entered

名词解释
突发长度 – 突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(Burst Lengths,简称BL)。
预充电 --由于SDRAM的寻址具体独占性,所以在进行完读写操作后,如果要对同一L-Bank(逻辑 Bank)的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。L-Bank关闭现有工作行,准备打开新行的操作就是预充电(Precharge)。
刷新: --刷新操作与预充电中重写的操作一样,都是用S-AMP先读再写。但为什么有预充电操作还要进行刷新呢?因为预充电是对一个或所有L-Bank中的工作行操作,并且是不定期的,而刷新则是有固定的周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。刷新操作分为两种:自动刷新(Auto Refresh,简称AR)与自刷新(Self Refresh,简称SR)。
自动刷新: SDRAM 内部有一个行地址生成器(也称刷新计数器)用来自动的依次生成要
刷新的行地址。由于刷新是针对一行中的所有存储体进行,所以无需列寻址。刷新涉及到所有
Bank,因此在刷新过程中,所有 Bank 都停止工作,而每次刷新所占用的时间为 9 个时钟周期
( PC133 标准),之后就可进入正常的工作状态,也就是说在这 9 个时钟期间内,所有工作指
令只能等待而无法执行。刷新操作必须不停的执行,完成一次所有行的刷新所需要的时间,称
为刷新周期,一般为 64ms。显然,刷新操作肯定会对 SDRAM 的性能造成影响,但这是没办法
的事情,也是 DRAM 相对于 SRAM(静态内存,无需刷新仍能保留数据)取得成本优势的同
时所付出的代价。
Mode Register Set 即设置模式寄存器。我们通过设置模式寄存器命令,来完成对模式寄存器
的设置,这个命令在每次对 SDRAM 进行初始化的时候,都需要用到。
在这里插入图片描述
SDRAM的初始化 SDRAM 上电后,必须进行初始化,才可以正常使用。
在这里插入图片描述

1.上电。此步,给 SDRAM 供电,使能 CLK 时钟,并发送 NOP( No Operation 命令),注意ÿ
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值