DDR SDRAM在嵌入式系统中的应用

发布者:ArtisticSoul最新更新时间:2007-02-01 来源: 单片机及嵌入式系统应用关键字:图像  存储  控制  接口 手机看文章 扫描二维码
随时随地手机看文章
引 言

  很多嵌入式系统,特别是应用于图像处理与高速数据采集等场合的嵌入式系统,都需要高速缓存大量的数据。DDR(Double Data Rate,双数据速率)SDRAM由于其速度快、容量大,而且价格便宜,因此能够很好地满足上述场合对大量数据缓存的需求。但DDR SDRAM的接口不能直接与现今的微处理器和DSP的存储器接口相连,需要在其间插入控制器实现微处理器或DSP对存储器的控制。

  随看密度与性能的不断提升,现场可编程门阵列(FPGA)已被广泛应用于各种嵌入

式系统中。而且,现在很多的FPGAs都提供了针对DDR SDRAM的接口特性:其输入输出引脚都与SSTL一II电气特性相兼容,内部提供了DDR触发器、锁相环等硬件资源。使用这些特性,可以更加容易地设计性能可靠的高速DDR SDRAM存储器控制器。 

1 DDR SDRAM在嵌入式系统中的应用

  图1是DDR SDRAM在高速信号源系统中的应用实例。

?

  在该系统中,由FPGA完成各模块之间的接口控制。FPGA接收从前端传送过来的高速数字信号,并将其存储在DDR SDRAM中;13SP通过FPGA读取DDR中的数据.处理后再送回到DDR SDRAM,最后由FPGA负责将数据分两路输出。

  该系统对存储器的要求是能够高速地存储大量的数据,DDR SDRAM正好能满足这一要求。此时,FPGA是否能对DDR SDRAM进行有效控制就成为影响系统性能的关键。最后的试验结果表明,FPGA是能够胜任这一任务的。 

2 DDR SDRAM的工作方式

  在DDR SDRAM能够被存取数据之前,需要先对其初始化。该初始化流程是预先定义好的,不正确的操作将导致无法预料的结果。初始化的过程中将设置DDRSDRAM的普通模式寄存器和扩展模式寄存器,用来制定DDR SDRAM的工作方式。这些设置包括突发长度、突发类型、CAS潜伏期和工作模式以及扩展模式寄存器中的对DDR SDRAM内部DLL的使能与输出驱动能力的设置。模式寄存器可以被再编程,这时需要DDRSDRAM的各个区(bank)处于空闲状态,从而改变存储器的工作模式。如果操作正确,对模式寄存器的再编程不会改变存储器内存储的数据。

  初始化完成之后,DDR SDRAM便进入正常的工作状态,此时便可对存储器进行读写和刷新。DDR SDRAM在一对差分时钟(CLK与CLKn;CLK的上升沿与CLKn的下降沿的交点被认为是CLK的上升沿)的控制下工作。命令(地址和控制信号)在每个时钟(CLK)的上升沿被触发。随着数据一起传送的还包括一个双向的数据选通信号,接收方通过该信号来接收数据。DQS作为选通信号在读周期中由DDR SDRAM来产生,在写周期中由存储器控制器来产生。该选通信号与数据相关,其作用类似于一个独立的时钟,因此也需要满足相应的时序要求。读周期中,DQS与数据是边沿对齐的;写周期中,DQS与数据是中心对齐的。存储器输入的数据在DQS的两个沿都触发.输出的数据也是以DQS的两个沿作为参考,同时还要以时钟CLK的两个沿作为参考。因此,由于接口在时钟的两个沿的触发下工作,其数据宽度(n)是存储器数据宽度(2n)的一半。图2描述了DDR SDRAM的工作方式。

?

  对DDR SDRAM的读和写操作是基于突发的:从一个选定的地址单元开始,连续存取设置好长度的地址单元。该长度就是所谓的突发长度。DDR SDRAM提供的可编程的读或写的突发长度为2,4或8。数据的存取以一个激活命令(ACTlVE command,RAS_n low)开始,接着便是读(CAS_n low)或写(CAS_n low and WE_n low)命令。与激活命令一起被触发的地址位用来选择将要存取的区(bank)和页(或行)}与读或写命令一起触发的地址位用来选择突发存取的起始列单元。使用控制器读取DDR SDRAM的仿真波形示意图如图2所示。读命令被触发后,数据将在1.5~3个时钟周期之后出现在数据总线上。这个延迟就是所谓的CAS潜伏期(CAS latency),即从DRAM内核读出数据到数据出现在数据总线上所需要的时间。CAS潜伏期的大小与SDRAM的速度和存储器的时钟频率有关。

  当要存取一个不同行的地址单元时,需要通过一个预充电(PRECHARGE)操作关闭当前行。自动刷新(AUTO-REFRESH)命令用来周期性地刷新DDRSDRAM,以保持其内部的数据不丢失。

3 DDR SDRAM控制器的设计

  DDR SDRAM控制器的功能就是初始化DDRSDRAM;将DDR SDRAM复杂的读写时序转化为用户方简单的读写时序,以及将DDR SDRAM接口的双时钟沿数据转换为用户方的单时钟沿数据,使用户像操作普通的RAM一样控制DDR SDRAM;同时,控制器还要产生周期性的刷新命令来维持DDR SDRAM内的数据而不需要用户的干预。

3.1 DDR SDRAM控制器的控制流程

  DDR SDRAM提供了多种命令,整个控制状态机非常复杂。但很多应用场合中,并不需要用到所有的命令,因

此为了简化设计,但同时又兼顾尽可能多的应用场合,在控制器的设计中制定了如下几种功能:DDR SDRAM的初始化,可变长度的突发读写,自动刷新功能,预充电以及模式寄存器的重置(reload)。图3是控制器整个状态转移图。

  系统上电后,DDR SDRAM处于空闲状态(Idle),在对存储器进行读写操作之前,需要先对其进行初始化。初始化的过程中,将设置突发长度,突发类型,CAS潜伏期等参数。DDR SDRAM的初始化有一个固定的步骤,错误的操作将导致DDR SDRAM进入不确定状态。在控制器中使用了一个专门的初始化状态机来对DDR SDRAM进行初始化。

  初始化完之后便可对DDR SDRAM进行读、写或其他操作。在执行读(写)命令之前,先要激活(Ac—tive)将要读(写)的行,之后便可对该行进行突发读(写)。在控制器的设计中,所有的读写命令都是不带预充电的,因此,某一行被激活之后将一直处于激活状态,直到用户发送突发终止命令,此时控制器将自动产生一个预充电命令来关闭当前行。这样,某一行被激活之后用户便可进行连续的突发读(写)操作,从而节省了每次突发读写所需要的激活时间,提高了系统的数据吞吐率。

  控制器同时提供了一个自动刷新(auto refresh)计数器,每隔一定的时间间隔(即DDR SDRAM的刷新周期,根据所使用的存储器而定,可在控制器中设定),便会产生一个刷新请求。如果此时DlDR SDRAM处于空闲状态,控制器便会发出一个自动刷新命令来对DDR SDRAM进行刷新;如果此时DDR SDRAM正在进行读(写)操作,控制器将会等到当前的读(写)操作完成之后再发送刷新命令。在刷新过程中,用户如果有读(写)请求,控制器将在当前刷新周期完成之后再响应用户的请求。

  正常的操作过程中,当DDR SDRAM处于空闲状态时,用户还可以根据实际的需要来重置存储器的控制寄存器,重新设定存储器的突发长度、突发类型、CAS潜伏期等参数。

3.2控制器数据通道的结构

  图4是DDR SDRAM控制器数据通道的结构图。

?

  图4中完整地显示了控制器读和写数据通道上DQ与DQS的结构关系。前面提到过,Cyclone系列FPGA没有带DDR触发器的输入输出单元,但完全可以用靠近输入输出引脚处的逻辑资源来实现DDR触发器,而且最后的结果表明,这种实现方式可以满足时序要求。

  从图4中也可以看到,控制器内部有两个时钟,clk和clk_90,两者之间的相位差为90°。图中将面向存储器的时钟命名为clk。它是clk_90时钟的90°相位延迟后的信号。clk_90作为系统时钟来驱动整个FPGA,clk时钟驱动存储器接口电路。

3.2.1 DQS相位延迟电路

  在读周期中,DDR SDRAM输出的DQ和DQS信号是边沿对齐的。为了使用DQS作为选通信号来捕获DQ,DQS信号需要在FPGA内部相对于DQ信号作90°的相位延迟。但是这个延迟不能使用锁相环(PLL)来完成,因为DQS信号不具有时钟的特性。因此,需要在DQS和读数据时钟之间加一个延迟链(delay chain),如图4中所示。

  前面提到过,Cyclone系列FPGA在其DQS输入引脚上有一个专用的延迟单元,用来使DQS相对于DQ信号产生一个90°的相移。因此,可以使用该硬核资源来完成对DQS的相移,而不必通过内部的逻辑来搭建这样一个延迟电路。从而可以获得更好的时序性能。

3.2.2再同步

  读周期中,从DDR SDRAM来的数据信号首先通过延迟后的DQS锁存到DDR触发器中。为了在FPGA内部能够使用该数据,还要将其同步到FPGA内部的时钟域上,这个过程称为再同步(resynchronization)。如图4所示,对于前一级DQS延迟后的信号锁存的数据再通过clk-90同步之后才送到内部数据总线上。

  在写周期中,DQS与DQ必须是中心对齐的(centerahgn)。我们用clk_90时钟触发的DDR触发器产生DQS信号,因此,为了满足时序要求,从内部来的数据通过clk_90时钟锁存后再由clk触发的DDR触发器将其输出,从而保证DQs与DQ是中心对齐的。

4 控制器的实现

  该控制器针对16位宽512 Mb的DDR SDRAM设计,在Altera公司的Quartus II4.2环

境中采用Cyclone系列的EPlC6Q2410C6来实现,总共使用了729个逻辑单元,占FPGA可编程逻辑资源的12%,此外还使用了1个锁相环(PLL)。最后,在Modelsim 5.8中对整个工程进行布局一布线后仿真(Post-P1ace&RouteSimulation),采用的模型为Micron公司的512 Mb的DDR SDRAMMT46V32M16的仿真模型,时钟为133 MHz,图2是控制器读取DDR SDRAM的时序仿真波形。

5 结 论

  本文给出了一种通过FPGA控制将DDR SDRAM应用在嵌入式系统中的方法。设计中采用Altera公司性价比较高的Cyclone系列FPGA,并充分利用片内提供的锁相环、DDR触发器以及DQS延迟链等硬件资源,占用的逻辑资源少。该设计可以很容易地移植到Altera公司其他系列的FPGA上,经过适当的修改还可以用来控制64位宽的DIMM型的DDR SDRAM,因此可以很好地应用在需求高速度、大容量存储器的场合中。

关键字:图像  存储  控制  接口 引用地址:DDR SDRAM在嵌入式系统中的应用

上一篇:嵌入式便携设备中电源管理的分析与研究
下一篇:DDR SDRAM在嵌入式系统中的应用

推荐阅读最新更新时间:2024-05-02 20:27

学习笔记 从零开始学单片机(6) 键盘接口
键盘工作原理还是使用都是比较简单的。下面是4×4的阵列键盘,行分别接P3.0-P3.3,列接P3.4-P3.7,没有接电源。 采用查询法判断那一个按键被按下。例如,令P3=0xFE,然后在将P3跟0xFE比较,如果相等,说明S6-S9没有被按下,否则在判断P3高四位哪一位等于0。例如P3.4=0 则说明S6被按下。 注意: 手工按下键盘到释放这个过程大概50ms左右,在按下开始到弹簧片稳定接触这段时间为5-10ms,从释放到弹簧片完全分开也是5-10ms,在到达稳定接触和完全分开的微观过程中,电平是时高时低的,因为单片机的速度相对比较快,所以人感觉到只按下一次,单片机却检测到按下多次。如果在单片机首次检测到键盘按下时延时1
[单片机]
学习笔记 从零开始学单片机(6) 键盘<font color='red'>接口</font>
安森美推出软跳周期模式的固定频率控制
    安森美半导体(ON Semiconductor)推出NCP1237、NCP1238及NCP1288固定频率电流模式控制器集成电路(IC)。这些新控制器针对膝上型/笔记本电脑、液晶显示(LCD)显示器、打印机及家用消费电子的交流-直流(AC-DC)适配器应用,提供不同频率及单或双过流阈值电平的选择。标准器件内置65千赫兹(kHz)振荡器,并可根据要求提供100 kHz或133 kHz版本。     这些IC采用了专有的软跳周期(Soft-Skip)模式,在跳周期模式期间渐进增加峰值电流 ,降低可听噪声的风险,从而节省更多的元器件,并简化变压器的设计和制造。这些新控制器结合跳周期和频率反走功能,在轻载条件下提供高能效
[电源管理]
​加速发展新质生产力,美的工业技术携运动控制及减速机业务亮相2024深圳工业展
【广东,深圳】 2024年3月28日,美的工业技术携旗下高创品牌重磅亮相2024 ITES深圳工业展,展示了 高 创 运动 控制 核心产品与综合解决方案 (展位号9-H60),以及在精密传动领域实现突破的 高性能谐波减速机 (展位号10-D51),以高性能、高精度和高可靠性的工业自动化解决方案助力工业客户提质增效、强链共赢,为我国智能制造以及发展新质生产力注入动能。 美的工业技术携运动控制及减速机业务亮相2024深圳工业展 高效平稳!高 创运动 控制综合解决方案赋能精益生产 随着工业自动化水平的不断提升,市场对高性能、高可靠性、易集成和智能化的运动控制产品需求激增,尤其在机床、自动化生产线、工业机器人
[工业控制]
​加速发展新质生产力,美的工业技术携运动<font color='red'>控制</font>及减速机业务亮相2024深圳工业展
CAN总线在汽车车身控制中的应用
引言 20世纪80年代以来,随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等等。在这种情况下,如果仍采用常规的布线方式,即电线一端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,使得电线的质量占整车质量的4%左右。另外,电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。为此,改革汽车电气技术的呼声日益高涨。因此,一种新的概念——车用控制器局域网络CAN应运而生。 CAN是控制器局域网络(Controller Area Network)的简称
[汽车电子]
基于数字PID和51单片机的温度控制系统
在工业生产过程中,温度是工业生产过程中常见的工艺参数之一,对温度控制的好坏直接影响产品的质量。及时准确地得到温度信息并对其进行适当的控制,在许多工业场合中都是重要的环节。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式和控制方式均不同。本文介绍了一种基于89C52单片机的温度控制系统,本系统的任务是对温度进行实时监控与控制。它以温度传感器DSl820对温度进行测量、采样与转换,并将测量结果送给单片机;单片机将输人的温度值与内部指定单元的给定温度值进行比较,根据比较结果,通过一个执行机构(可控硅)对加热源(加热炉的温度)的开关状态进行控制。在控制环节中,本系统采用的是数字PID控制算法来实现上述功能。传统的PID控制电路结
[单片机]
基于数字PID和51单片机的温度<font color='red'>控制</font>系统
硅谷数模的VR显示控制器助力新一代有线VR头戴式设备
硅谷数模日前宣布,它的家用虚拟现实 (VR) 和增强现实(AR) 显示控制器 SlimPort® ANX753x已应用于包括华为VR2在内的最新发布的有线头戴式显示设备 (HMD) 中。这些设备可通过 USB-C™ 电缆连接到智能手机或PC。 ANX7530是第一款投入市场的VR和AR显示控制器,它能够在当前任何VR数据通信通道条件下提供当前最高的分辨率和最快的响应时间,为用户带来无与伦比的体验。 硅谷数模在低功耗高速串行器/解串行器 (SerDes) 产品和技术领域有多年的积累,ANX753x系列产品作为硅谷数模该领域集大成者,在将DisplayPort™输入信号转换为MIPI-DSI输出方面,能够提供业界最高性能,具体
[半导体设计/制造]
宝马车载娱乐系统可控制家庭供暖系统
    据科技网站Gizmag报道,宝马最近升级了它的车载娱乐系统——ConnectedDrive(移动互联)技术,除了增加了音乐选择之外,还增添了智能家居服务,可在车上控制家庭供暖系统。       宝马的车载娱乐系统除了可以打电话、听音乐以及接收实时交通信息等,现在随着系统的更新,宝马移动互联技术增加了更多的服务内容。早在2013年,宝马的车载娱乐系统还是集中于具体的界面更新、推出更多APP或者扩大现有功能的实用性等方面。而现在,宝马移动互联技术的更新已不单单关注系统的功能性,还关注其兼容性与服务性。     音乐方面,除了Napster之外,法国在线音乐平台Deezer也成为了宝马音乐频道选择之一。司机可以通过宝
[汽车电子]
可编程逻辑控制器在机顶盒中的应用
机顶盒市场概览 机顶盒市场正经历着前所未有的快速增长,预计在2002年以前每年的需求量都将以百万台的数量级增长。 目前机顶盒市场依据网络类型来分有三大应用市场:卫星电视、有线电视和天线电视。除按电视信号发射系统划分外,机顶盒还可按功能不同分为低端、中端和高端。其中:低端机顶盒可将解码后的音频和视频输出到模拟电视或数字电视上;中端机顶盒加入了有限的交互性,可以实现交互式广告和节目安排程序;高端机顶盒可实现高水平的交互功能,如网页浏览和硬盘视频存贮。 机顶盒市场是一个变化快,对成本异常敏感的市场。为了提供竟争对手所没有的特性,广播公司必须不断为自己的机顶盒加上新的特征并迅速推向市场。Xilinx的大容量FPGA和CPLD器件
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved