随着高速处理器的不断发展,嵌入式系统应用的领域越来越广泛,数字信号处理的规模也越来越大,系统中RAM规模不断增加,比如视频监控、图像数据采集等领域,图像处理的实时性对RAM带宽的要求不断增加,传统的SDRAM在带宽上已经逐渐无法满足应用要求,DDR SDRAM(双倍速率SDRAM)采用在时钟CLK信号的上升和下降沿,双沿做数据传输;比传统的SDRAM只在时钟上升沿传输的方式,传输带宽增加了一倍。DDR RAM已开始广泛应用于嵌入式系统中,正逐步取代传统的SDRAM。
DDR RAM *** 作速度的提高,对设计者来说,对控制时序的设计有了更高的要求;并且,DDR内存采用的是支持2.5V电压的SSTL-Ⅱ标准,不再是SDRAM使用的3.3V电压的LVTTL标准。在很多的处理器上面并不带有DDR RAM控制器,这对设计者来说,使用DDR RAM难度增加。往往需要在设计中插入控制器实现微处理器或DSP对存储器的控制。
现场可编程门阵列(FPGA)已广泛应用于嵌入式系统中。现在很多FPGA都提供了针对DDR SDRAM的接口特性:其输入输出引脚与SSTL-Ⅱ电气特性兼容,内部提供了DDR触发器、锁相环等硬件资源。使用这些特性,可以比较容易地设计性能可靠的高速DDR RAM控制器。本文针对这一问题,介绍一种采用LatTIce FPGA与IP来实现DDR RAM控制和验证的方法。
LatTIceXP
LatTIceXP器件将非易失的FLASH单元和SRAM技术组合在一起,支持瞬间启动和无限可重构的单芯片解决方案。FLASH单元阵列中保存用户配置文件。上电时,配置文件在1毫秒内从FLASH存储器中被传送到配置SRAM中,完成瞬时上电。
图1 LatTIceXP内部结构图
DDR controller IP的生成
IPExpress是Lattice开发软件中生成IP模块的工具,可根据用户设定的参数生成IP模块,使用非常方便。
点击启动IPexpress进入生成界面(见图2)。在左边选取DDR SDRAM工程,在右边设置工程名称和文件保存地址。
图2 IPexpress界面
点击下一步,开始进入参数设置(见图3)。这里面进行设置DDR RAM的行、列的参数,以及Bank。这些参数都是根据DDR RAM芯片手册进行设置。本文中采用的DDR RAM颗粒是现代公司的HY5DU561622,16M x16,4bank颗粒。
图3 DDR RAM的行、列的参数配置
下一步,进行时序延时上面的设置(见图4)。
图4 DDR RAM颗粒时序参数配置
在这里设置tRAC(行访问周期,RAS Access Cycle/Delay)、tCAC(列访问周期,CAS Access Cycle/ Delay)等参数。这些参数,在DDR RAM颗粒芯片的手册中都有详细的列表。需要特别指出的是,由于芯片提供商会针对不同的DDR标准,例如DDR400,DDR333等,给出不同的延时参数,会是以ns为单位的几个不同的列表,需要根据设计的不同,参考不同的表格。因为IP生成器中采用的是单一参数设置,单位采用了CLK为单位,这就需要根据设计标准以及时钟频率来转换一下,进行设定。本文采用的是DDR266标准,时钟为133MHz,对应的时钟周期为1/133MHz,大约为7.5ns。这样,芯片在DDR266标准的TRCD为20ns(最小值),对应到IP的参数中就是3。其他参数也是类似的换算。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)