微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 多路读写的SDRAM接口设计

多路读写的SDRAM接口设计

时间:06-06 来源:互联网 点击:

存储器是容量数据处理电路的重要组成部分。随着数据处理技术的进一步发展对于存储器的容量和性能提出了越来越高的要求。同步动态随机存储器SDRAM(Synchronous Dynamic Random Access Memory)因其容量大、读写速度快、支持突发式读写及相对低廉的价格而得到了广泛的应用。SDRAM的控制比较复杂,其接口电路设计是关键。

本文首先介绍SDRAM的主要控制信号和基本命令;然后介绍接口电路对SDRAM的主要操作路径及操作过程,应用于解复用的SDRAM接口电路的设计方法;最后给出了实现结果。

1 SDRAM的主要控制信号和基本命令

SDRAM的主要控制信号为:

·CS:片选使能信号,低电平有效;

·RAS:行地址选通信号,低电平有效;

·CAS:列地址选通信号,低电平有效;

·WE:写使能信号,低电平有效。

SDRAM的基本命令及主要控制信号见表1。

表1 SDRAM基本操作及控制信号

命 令 名 称CSRASCASWE
命令禁止(NOP:Command inhibit)HXXX
空操作(NOP:No operation)LHHH
激活操作(ACT:Select bank and active row)LLHH
读操作(READ:Select bank and column,and start READ burst)LHLH
写操作(WRITE:Select bank and column,and start WRITE burst)LHLL
突发操作停止(BTR:Burst terminate)LHHL
预充电(PRE:Deactive row in bank or banks)LLHL
自动刷新或自我刷新(REF:Auto refresh or self refresh)LLLH
配置模式寄存器(LMR:Load mode register)LLLL

所有的操作控制信号、输入输出数据都与外部时钟同步。

2 接口电路对SDRAM的主要操作路径及操作过程

一个完备的SDRAM接口很复杂。由于本文的SDRAM接口应用于解复用,处理的事件相对来说比较简单,因而可以简化设计而不影响性能。接口电路SDRAM的主要操作可以分为:初始化操作、读操作、写操作、自动刷新操作。

(1)初始化操作

SDRAM上电一段时间后,经过初始化操作才可以进入正常工作过程。初始化主要完成预充电、自动刷新模式寄存器的配置。操作过程如图1所示。

(2)读写操作

读写操作主要完成与SDRAM的数据交换。读操作过程如图2所示,写操作过程如图3所示。

(3)刷新操作

动态存储器(Dynamic RAM)都存在刷新问题。这里主要采用自动刷新方式,每隔一段时间向SDRAM发一条刷新命令。刷新过程如图4所示。

3 接口电路的设计

(1)解复用电路

本解复用电路主要完成将1路高速数据流解复用为4路数据流,其结构框图如图5所示。1路数据流进入解复用器后,经过SDRAM缓冲,解复用为4路数据流。

由于要解复用为4路数据流,为了充分利用时隙,满足高速的要求,采用4个bank的SDRAM,各路数据缓冲对应不同的bank。为简化设计,数据流1的缓冲区定为bank0,数据流2的缓冲区定为bank1,数据流3的缓冲区定为bank2数据流4的缓冲区定为bank3。对于每路数据实际上是以高速率集中写入,然后以低速率均匀读出。

由于进行的是解复用,因此写入的数据只有1路,但是有可能4路数据同时都要读出。所以对于4路数据流,其读写地址和读写使能信号是分开的。

(2)SDRAM接口电路的时序控制

高速数据流的速率为3M字节/秒,采用的系统时钟为20倍的字节时钟。送入SDRAM的时钟为60MHz系统时钟。在一个字节时钟内对SDRAM的操作最多有5次(1次读,4次写),而且为了满足刷新的要求,每个字节时钟进行一次刷新操作。根据SDRAM的时序要求,这样的操作是难以实现的。因而要通过多bank操作,尽量做到时分复用来实现。图6给出了在一个字节时钟周期的内数据流1进行读写操作,其它3路数据进行读操作的命令排序时序图。可以看出通过多bank操作,时分复用,在20个系统时钟节拍内所需的读写操作命令刚好很紧凑地排开。

一个字节时钟内对SDRAM读写操作是随机的,这与数据流的复用比例有在。为了满足时序,根据上面的说明,需要把一个字节时钟周期内对SDRAM的命令合理排序,然后按照排好的顺序执行命令。这样就需要把一个字节时钟周期内对SDRAM的操作进行缓存,然后在下一个字节时钟周期内进行排序、与SDRAM命令相对应、将命令译码产生相应的控制信号线,完成操作。缓存排序过程如图7所示。

(3)SDRAM接口电路

SDRAM接口电路中需要专门操作缓冲区存储一个字节时钟周期内的操作,以备下一字节时钟的排序。为了方便处理,对每路数据的缓冲操作内容(或读或写)放在一个缓冲区。由于数据流的连续性,排序的同时仍然会有操作要求,因此每路的操作内容缓冲区分为两块。对一块缓冲区写入时,读出另一块缓冲区中的操作内容,进行排序、译码、执行。根据字节时钟切换对缓冲区的读写,从而避免冲

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top