首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
利用FPGA实现MMC2107与SDRAM接口设计 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-11 00:03:16 点击数:[] ![]() |
|||||
SDRAM存储系统的实际存储容量为32M×32位,使用4片三星公司生产的K4S560832A存储器芯片。系统MMC2107支持对存储单元的读写和刷新。MMC2107对读写存储器的读写以32位单位进行(数据宽度32位),每次读写由外部决定访存周期。采用分散刷新方式,7.8μs执行1次自动刷新命令;如果长时间没有访存操作,自动进入低功耗模式。 4.1 SDRAM存储接口结构 本文使用了1片FPGA可编程器件来设计SDRAM控制接口(下文称为SDRAM控制器),SDRAM控制器接受MCU的写、读命令。由于K4S560832A时钟频率为133MHz,SDRAM要求在64ms内刷新8192行数据,因此该器件每间隔7.8μs执行一次自动刷新命令,计数器数值应小于7.8μs×133MHz=1037.4。当计数器计满1037次时,内部设置一个刷新定时器给出刷新命令,由SDRAM内部状态控制器产生对K4S460832A的相应操作命令序列。数据线不通过SDRAM控制器,4片SDRAM各输出1字节宽度的数据。SDRAM存储系统基本结构如图3所示。 SDRAM状态机用来实现其初始化、命令仲裁、单字读/写、猝发读/写、自动刷新和自刷新操作。 (1)存储器器件初始化 存储器初始化过程严格按照K4S560832A上电顺序要求,对器件完成初始化设置。上电后延时200μs后对所有体进行预充电,计数器数值=200μs×133MHz=26 000次。然后,给出两个自动刷新命令,进行模式设置,初始化结束后进入空闲状态T0,等待对存储器的访问命令。其过程状态如图4所示。 (2)命令仲裁 完成存储器上电初始化后,SDRAM进入空闲态T0,在该状态进行命令仲裁。由于读写命令来自MCU,在同一时刻只能有一个有效,它们之间不需要仲裁。读写命令和刷新命令的仲裁原则为先来先服务,同时到达时读写优先。若长时间没有访问请求(SDRAM控制状态机内部定时器探测),则令存储器进入低功耗模式。在存储器进入低功耗模式后,读写命令可以把状态从低功耗模式拉出,而自动刷新请求则被屏蔽。 由于嵌入式系统时钟频率较低,置存储器读延时节拍数(CL)为“2”,读操作由四个状态组成。由于存储器件读操作分为单字读和猝发读两种方式,因此,设计一个计数器来区分两种读操作,并用该计数器定义猝发读的长度。当计数器=0时,进行单字读操作;当计数器≠0时,进行猝发读操作,计数器在时钟信号的触发下递减,连续读出若干个数据,直至计数器=0,完成猝发读操作。其状态转换及时序关系如图5所示。 (4)存储器写 存储器写操作由三个状态组成。其状态转换及时序关系如图6所示。由于存储器件写操作分为单字写和猝发写两种方式,因此设计一个计数器来区分两种写操作,并用该计数器来定义猝发写的长度。当计数器=0时,进行单字节写操作;当计数器≠0时,进行猝发写操作。计数器在时钟信号的触发下递减,连续写入若干个数据直至计数器=0,完成猝发写操作。 自动刷新操作由2个节拍组成,自刷新由11个节拍组成。进入自刷新模式之前和退出自刷新模式后各进行1次自动刷新操作。自动刷新和自刷新操作状态转换关系如图7所示。 SDRAM状态机设计完成后,利用VHDL语言对SDRAM状态机进行行为描述,然后编译、模拟仿真和适配下协,并注意合理的引脚定义,充分利用芯片资源,由于FPGA通用、高速及价廉的特点,因此具有很好的应用前景,尤其适用于需要大容量存储器扩展的嵌入式系统中。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |