MCU

ADSP-BF533 EBIU接口学习之SDRAM

0
阅读(4810)

今天准备开始学Blackfin处理器的EBIU接口,EBIU接口是Blackfin处理器与外部存储器之前的接口,Blackfin处理器支持同步DRAM和兼容PC100和PC133的SDRAM标准。同样,Blackfin处理器也支持异步接口,如SRAM、ROM、FIFOs、FLASH MEMORY和ASIC/FPGA设计。由于开发板上跟EBIU接口相连的是SDRAM,所以今天的学习要点是SDRAM。下面说一下在Blackfin处理器跟SDRAM相关的几个知识点:

1.SDRAM 外部存储块列地址宽度

在Blackfin处理器上,通常把外部存储器块的列地址宽度称为SDRAM的page size(页大小)。Blackfin处理器可支持512字节(8 位),1 K字节(9 位),2 K字节(10 位),及4 K字节(11 位)的page size。

除字节地址位位于最低位(LSB)外,列地址是逻辑地址的最低位。根据列地址宽度的不同,行地址和存储块的位在逻辑地址中可能占有不同的位置。例如,当列地址宽度(CAW)为11位时,行地址的LSB处于逻辑32位地址[31:0]中的位12处。列地址宽度是连续访问SDRAM的一个非常重要参数。行地址数目取决于SDRAM的大小。要在数据手册中确定列寻址的宽度,以及查找有多少地址引脚用于列地址.

2. SDRAM 外部存储块大小

SDRAM外部存储块大小可由下面的公式来确定:

存储器大小=存储块大小*数据引脚数目*存储块数目/8.

例如,MT48LC32M16A2有8 M字节×16引脚×4存储块,一共是536,870,912位,相当于64M字节。而MT48LC16M16A2有8 M字节×16引脚×4存储块,相当于32M字节。

3.SDRAM一些基础知识补充

SRAM利用晶体管存储二进制数据,而DRAM则利用电容器和晶体管存储数据:电容本身就是一个存储元件,它充电时,为逻辑1,否则为逻辑0。晶体管则像一扇门,控制对存储单元的访问以及放电,该技术的弊端在于电容器会随着时间逐渐放电。

为了防止数据丢失,DRAM必须定期刷新,修复存储单元上的电荷。因此,在刷新过程中,需要对存储数组中的每个存储单元至少执行一次读和写操作,这一过程通常是几毫秒。

以上是SDRAM的内部结构图,DRAM单元组织为行和列的阵列形式,每个独立单元都可通过精确指定的行和列地址进行访问。通常把行称为page(页),而列的数目则称为page size(页大小)。地址采用时分复用,先发送行地址,后发送列地址。

/RAS(行地址选通)及/CAS(列地址选通)信号控制行和列地址的时分复用。/RAS信号标志一个行地址有效,行地址将加载到地址缓存器中由内部行地址解码器进行解码,经过很短的延迟,标志列地址选通的/CAS信号载入地址缓存器中,并进一步由列地址解码器对其进行解码。

当/WE(写使能)为高时处理读命令,由行地址寻址的存储单元被完全读出、放大、并写回存储单元中,列地址寻址的单元则通过数据总线进行发送。

当/WE为低时处理写命令,对单个存储单元的写操作不可实现。因此,首先将一整行读入缓存器,在缓存器中,完成对要修改的元素的写入后,再将整行数据写回存储阵列中。

今天就先学习跟Blackfin处理器的EBIU接口相关的SDRAM知识,明天继续学习EBIU接口。