您现在的位置:首页 > 技术资料 | 上载库存 |
片外高速海置SDRAM存储系统设计 在数字图像处理、航空航天等高速信号处理应用场合,需要有高速大容量存储空间的强力支持,来满足系统对海量数据吞吐的要求。通过使用大容量同步动态RAM(SDRAM)来扩展嵌入式DSP系统存储空间的方法,选用ISSI公司的IS42S16400高速SDRAM芯片,详细论述在基于TMS320C6201(简称C6201)的数字信号处理系统中此设计方法的具体实现。 1 IS42S16400芯片简介 IS42S16400是ISSl公司推出的一种单片存储容量高达64 Mb(即8 MB)的16位字宽高速SDRAM芯片。SDRAM的主要特点是:①同步访问,读写操作需要时钟;②动态存储,芯片需要定时刷新。IS42S16400采用CMOS工艺,它的同步接口和完全流水线的内部结构使其拥有极大的数据传输速率,可以工作在高达133 MHz的时钟频率下,刷新频率每64 ms为4096次。该SDRAM芯片
2 C6201与SDRAM的外部存储器接口 DSP芯片访问片外存储器时必须通过外部存储器接口EMlF(External Memory Interface)。C6000系列DSPs的EMIF具有很强的接口能力,不仅具有很高的数据吞吐率(最高达1200 MB/s),而且可以与目前几乎所有类型的存储器直接接口。在C6201系统中,提供了4个彼此独立的外存接口(CEX)。除CEl空间只支持异步接口外,所有的外部CEx空间都支持对SDRAM的直接接口。表1总结了C620XDSPs的EMIF所兼容的SDRAM配置。表2给出了C6000系列DSPs的EMIF所支持的SDRAM控制命令。 2.1 SDRAM的刷新 为了提高存储容量,SDRAM采用硅片电容来存储信息。随着时间的推移,必须给电容重新充电才能保持电容里的数据信息,这就是所谓的“刷新”。它的存在也使得SDRAM的应用变得略显复杂,带来了一定的应用难度。 C6000系列DSPs有专门的SDRAM控制寄存器(SDTCL)和SDRAM时序控制寄存器(SDTIM),用来进行SDRAM的各种时序控制,大大减轻了设计人员的开发难度。SDCTL寄存器中的RFEN位控制是否由EMIF完成对SDRAM的刷新。如果RFEN=1,EMIF会控制向所有的SDRAM空间发出刷新命令(REFR);而SDTIM寄存器中的PERIOD位段则控制具体的刷新周期。 在REFR命令之前,会自动插入一个DCAB命令,以保证刷新过程中所有的SDRAM都处于未激活状态。DCAB命令之后,EMIF开始按照SDTIM寄存器中PERD字段设置的值进行定时刷新。刷新前后,页面信息会变为无效。 对于C620X,EMIF SDRAM控制模块内部有一个2位的计数器,用来监测提交的刷新申请的次数。每提交一个申请,计数器加1;每次刷新周期之后,计数器减1。复位时,计数器自动置为11b,以保证在存取访问之前先进行若干次刷新。计数器的值为llb,代表紧急刷新状态,此时页面信息寄存器变无效,迫使控制器关闭当前的SDRAM页面。然后,EMIF SDRAM控制器在DCAB命令后执行3次REFR命令,使计数器的值减为0,再继续完成余下的存取操作。 2.2 SDRAM的初始化 当某个CE空间配置为SDRAM空间后,必须首先进行初始化。用户不需要控制初始化的每一个步骤,只需要向EMIF SDCTL寄存器的INIT位写1,申请对SDRAM作初始化。然后,EMIF就会自动完成所需要的各步操作。初始化操作不能在进行SDRAM存取过程中进行。整个初始化过程包括下面几个步骤: ①对所有的SDRAM空间发出DCAB命令; ②执行3个REFR命令; ③对所有的SDRAM空间发出MRS命令。 &nbs
SDRAM属于分页存储器,EMIF的SDRAM控制器会监测访问SDRAM时行地址的情况,避免访问时发生行越界。为了完成这一任务,EMIF在内部有四个页面寄存器,自动保存当前打开的行地址,然后与后续存取访问的地址进行比较。需要说明的是,当前存取操作结束并不会引起SDRAM中已经激活的行被立即关闭,EMIF的控制原则是维持当前的打开状态,除非必须关闭。这样做的好处是可以减少关闭/重新打开之间的命令切换时间,使接口在存储器访问的控制过程中充分利用地址信息。 对于C620X,每个CE空间包含1个页面寄存器(只对配置为SDRAM空间有效),因此C620X每个CE空间1次只能激活1页。进行比较的地址位数取决于SDCTL寄存器中SDWID位的值。如果SDWID=O,该CE空间构成页面的大小为512,比较的逻辑地址是位23~11;如果SDWID=1,该CE空间SDRAM构成页面的大小为256,比较的逻辑地址是位23~10。一旦发现存取访问发生了页面越界,EMIF会自动执行DCAB操作,然后再开始新的行访问。 2.4访问地址的移位 由于SDRAM行逻辑地址与列逻辑地址复用相同的EMIF 引脚,所以EMIF接口需要对行地址与列地址进行相应的移位处理。地址的移位处理由SDCRL寄存器中的SDWlD位控制。 另外,对于SDRAM,因为输入地址也是控制信号,因此需要说明以下几点: ①RAS有效期间的高位地址信号会被EMIF内部SDRAM控制器锁存,以保证执行READ和WRT命令时选通正确的bank; ②READ/WRT操作期间,EMIF会保持pre-charge信号为低(C620X是SDAl0),以防止READ/WRT命令执行后发生auto pre—charge操作。 2.5接口时序的设计 对于C620X,EMIF与SDRAM的接口时序由SDCTL寄存器控制。EMIF提供了5个时序参数,其中3个在SDCTL寄存器中设置,另外2个为固定值,如表3所列。在分析接口时序的配合情况时,需要计算“富裕时间”tmargin的大小,这是在考虑了SDRAM芯片的器件手册提供的最坏情况之后,得到的时序上的一个裕量。至于tmargin值的大小,是系统设计层需要考虑的问题,具体要求随不同的系统而异,而且与印制板的实际布线情况以及负载的情况密切相关。 3 系统设计中IS42S16400芯片的应用 IS42S16400的接口框图 hspace=0 src="http://www.ic-cn.com.cn/dzhtml/image/www.dzsc.com/data/uploadfile/200764163931828.JPG" width=400 border=0>
在实际的系统实现中,C6201的CLKOUT1时钟频率为200 MHz,故而SDRAM的实际工作频率为100 MHz(SDCLK=CLKOUT2=CLKOUT1 frequency/2),即tcyc=10 ns。SDRAM被配置在CE2空问(起始逻辑地址为0x02000000)。 3.2 06201 EMIF SDRAM寄存器设置 表4列出了配置SDRAM需要设置的EMIF寄存器名称及相应的位或位段。
|