Spartan-3A 的 DDR 2 接口数据采集

2009-01-09 15:50:40来源: 国外电子元器件

1 引言

DDR2(Double Data Rate2)SDRAM是由JEDEC(电子设备工程联合委员会)制定的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同:虽然采用时钟的上升/下降沿同时传输数据的基本方式,但DDR2却拥有2倍的DDR预读取能力(即4位预存取技术)。此外,DDR2还增加ODT(内建核心终结电阻器)功能,内建合适的终结电阻,避免了以往因片外连接大片终结电阻带来的制板成本增加。

基于FPGA的SDRAM控制器,以高可靠性、强可移植性、易于集成的特点,逐渐取代以往的专用控制器而成为主流解决方案。本文采用Xilinx公司的Spartan-3A系列FPGA和Hynix公司的DDR2 SDRAM器件HY5PS121621实现DDR2控制器的设计。

2 FPGA与DDR2存储器接口

图1所示为DDR2与FPGA的外围接口连接图,DDR2的信号线分为:时钟信号线CK/CK ;数据信号线Data/DQS/DM;地址信号线Address/BA1/BA0;命令信号线RAS/CAS/WE;控制信号线CS/CKE/ODT。FPGA除与DDR2的所有信号线相连外,还引出外部环回信号线(图中虚线所示),此信号输出送至输入输出模块(IOB),以补偿FPGA与存储器之间的IOB、器件和迹线的延迟。


 
差分时钟线CK/CK为DDR2数据传输提供时钟,在CK的上升沿和下降沿均有数据被触发;双向差分线DQS/DQS看作数据的同步信号,写入时由控制器发出,读取时由DDR2产生DQS向控制器发送,它与读数据边沿对齐而与写数据中心对齐。DN为数据信号屏蔽位在突发写传输时屏蔽不存储的数据;RAS/CAS/WE作为命令信号线向DDR2发出读取、写人、刷新或预充电命令;片内终结信号线ODT控制是否需要DDR2进行片内终结。
3 DDR2控制器的设计原理

基于FPGA的DDR2控制器设计是由时钟生成模块、存储控制模块和读写数据接口模块组成如图2所示。


 
控制器中所有模块时钟均来自于时钟生成模块,它由数字时钟管理器(DCM)控制,输出90°、180°和270°时钟。该模块还包含延迟校准监视器,用于校准读取数据(DQ)对读取数据选通脉冲(DQS)的延迟,以便读取数据选通脉冲边沿能够正确对齐DQ有效窗口的中间位置。
读写数据接口模块是整个控制器设计的关键,它负责将用户写入的数据DQ和DOS按照DDR2 SDRAM时序要求发送给DDR2,DDR2在DQS的每一个时钟沿采集写数据。在读取数据时,DDR2 SDRAM将DQS和相关数据发送到与DQ对齐边沿的FPGA。FPGA将接收到的DQS信号经过延迟校准,作为内部存储读数据的FIFO的写时钟。FPGA为DDR2的每个数据位配置一对读写异步的FIFO,每个数据位都输入到上升沿(FIFO0)和下降沿(FIFO1)的FIFO中,实现原理如图3所示。


 
存储控制模块用于产生DDR2所需的地址和命令信号。DDR2在正常的读写操作前要初始化,因此需向DDR2发送初始化命令,待初始化完成后才能发送读写命令。对DDR2 SDRAM的读写访问为突发模式。突发写操作需向DDR2提供写命令(User_command)、写数据(User_input_data)和写地址(User_address)信号,在最后一个写地址发送突发操作完成信号(User_burst_done),并保持2个时钟周期有效下终止写操作,突发写时序如图4所示。突发读操作需向DDR2提供读命令(User_comm-and)和读地址(User-address),在最后一读地址发送突发完成信号(User-burst_done),并保持2个周期有效下终止读操作,突发读时序如图5所示。
 


4 DDR2控制器的设计及应用

为了缩短开发周期,采用Xilinx的MIG软件工具直接生成DDR2控制器设计模块,包括HDL代码和约束文件。用户可在MIG的GUI图形界面选择对应模板、总线宽度和速度级别,并设置CAS延迟、突发长度、引脚分配等关键参数。如果设计者所选器件与MIG所列模板不相符,可在代码生成后灵活修改代码,达到系统要求。代码添加到工程前需硬件验证,采用MIG自动生成的测试模块进行验证。该模块向存储器发出一系列的写入命令和读取命令,并对写入数据和读回数据进行比较,通过比较信号(led_error)验证控制器的正确与否。用ChipScope抓取的读数据和相关控制信号时序分别如图6和图7所示,读写比较信号(led_error)在检测到读写数据相等时输出'0'电平。

在硬件验证通过后,把控制器代码导入到系统工程中,设计者只需输入相应命令(包括读、写和初始化命令),控制器模块将自动产生命令和控制信号并按照DDR2的时序要求送至DDR2,命令发送完毕提供给用户一个命令应答信号(User_cmd_ack),设计者根据这一信号判断是否可以发送下一个命令。至于自动刷新、激活和预充电命令则由控制器自动完成,无需用户干涉。

5 结束语

通过MIG工具辅助设计,实现500 M/s带宽的DDR2接口数据采集,占用FPGA资源分别为15%IOB资源,17%逻辑Slice资源和2个DCM。在FPGA中实现DDR2控制器,节省功耗和空间,并缩短系统开发周期,满足大多数低成本系统设计要求。

 

关键字:DDR  FPGA  接口  数据采集

编辑:冀凯 引用地址:http://www.eeworld.com.cn/FPGA/2009/0109/article_428.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
DDR
FPGA
接口
数据采集

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved