中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

基于FPGA的SDRAM控制器设计

时间:2007/5/29 11:26:00  作者:  来源:ic72  浏览人数:1405
 
 

      摘 要:SDRAM是一种大容量、高速度的动态存储器,在电子设计领域应用很广泛。本文介绍了在雷达光栅显示系统中,应用SDRAM作为视频存储器时,采用FPGA实现控制电路的过程。

      关键词:SDRAM;FPGA;雷达光栅显示;视频存储器

      1 引 言

      SDRAM的特点是大容量和高速度。其单片容量可达256 Mb或更高,工作速度可达100~200 MHz以上,但是其控制方式比EDO/FPDRAM复杂得多。目前,许多嵌入式设备的大容量存储器都采用SDRAM来实现。在设计中采用SDRAM存储器时,大多都是用专用芯片完成其控制电路。但是,当我们对SDRAM存储器进行特殊应用时,就需要自己设计控制电路了。

      我们知道,显示器在显示文字或图形时,显示器在帧频、行频、彩色视频信号的控制下,控制电子束顺序地从上到下,从左到右逐行扫描。而这些显示控制信号是由显示控制器产生。在雷达光栅显示系统中,显示帧缓冲存储器(VRAM)存储雷达的实时信号。而在显示器的每个行周期的逆程时,需要把下一行的显示数据从显示帧缓冲存储器(VRAM)中取出,写到一个行缓冲存储器中去。在行周期的正程时,这个行缓冲存储器中的显示数据在显示时钟的同步下,顺序读出,送到视频形成电路(RAMDAC)形成显示视频信号,同时配合帧频、行频,这样显示器就能显示出雷达信号了。

      在雷达光栅显示系统的通常设计中,采用专用的双口VRAM实现显示帧缓冲存储器。这种专用的双口VRAM内部具备串行存取存储器,因此实现系统比较简单。但是缺点是工作速度和容量都比较低,影响系统的性能指标。在本文的雷达光栅显示系统设计中,尝试采用SDRAM存储器作为显示帧缓冲存储器,采用FPGA器件完成SDRAM的控制电路。下面介绍具体的实现过程。

      2 SDRAM简介

      SDRAM具有多种工作模式,内部操作是一个复杂的状态机。SDRAM器件的管脚分为以下几类:

      (1)控制信号 包括片选,时钟,时钟使能,行列地址选择,读写选择,数据有效。

      (2)地址 时分复用管脚,根据行列地址选择管脚,控制输入的地址为行地址或列地址。

      (3)数据 双向管脚。

      SDRAM的所有操作都同步于时钟。根据时钟上升沿时控制管脚和地址输入的状态,可以产生多种输入命令:

      (1)模式寄存器设置命令;

      (2)激活命令;

      (3)预充命令;

      (4)读命令;

      (5)写命令;

      (6)带预充的读命令;

      (7)带预充的写命令;

      (8)自动刷新命令;另外还有空操作命令。

      根据输入命令,SDRAM状态在内部状态间转移。

      另外,SDRAM器件还有掉电状态,时钟中止等工作状态,使用较少,在此不做介绍。

      3 设计实现

      根据雷达光栅显示系统的要求,显示帧缓冲存储器采用双片1 M×16 b(HY57V161610)的SDRAM芯片构成32 b的数据宽度。在该设计中,设定SDRAM的工作时钟为66 MHz,这已经足以满足显示系统的要求了。

      3.1 SDRAM的初始化

IC72新闻中心

      在电源正常之后,首先必须提供给SDRAM芯片稳定的工作时钟至少200μs。图2是SDRAM的初始化时序图。图中,首先t1时刻发出所有块预充命令,在tRP时间后才能发出下一条命令。在t2时刻发出自动刷新命令,在tRC时间后才能发出下一条命令。自动刷新命令必须至少8个。最后,在t4时刻发出模式寄存器设置命令设置工作模式,此时地址线上输入的就是控制代码。同样,在tMRD时间后才能发出下一条命令。本设计中,时钟周期为15 ns,器件的tRP为20 ns,tRC为20 ns。因此tRP=2CLK,tRC=5CLK,tMRD固定为2CLK。因此,t1时刻到t2时刻是2周期延迟,t2时刻到t3时刻是5周期延迟,而在t4时刻2周期之后,才能发出下一条命令。

IC72新闻中心

      在电路设计上,采用监控芯片MAX705产生复位信号,所有的控制电路都在复位信号正常后工作。该复位信号可以保证至少60 ms,满足200μs的要求。了解了初始化时序之后,由FPGA设计产生这种时序就比较简单了。

      3.2 SDRAM的读写时序设计

      在SDRAM芯片初始化完成之后,就进入正常工作状态。SDRAM芯片在正常的读写操作时,如果SDRAM芯片行地址不发生变化,那么可以满足每时钟周期进行一次读写的高速操作;但是当SDRAM芯片行地址发生变化时,就必须返回到预充状态。图3是一个完整的读改写时序。图中所示的是Burst Length=1,CASLatency=2的情况。

IC72新闻中心

      在本设计中,雷达信号的一次显示分辨率为1 024×1 024,而光栅显示器的显示分辨率为1 280×1 024。把每个扫描行的前1 024个点称作一次显示正程,而把每个扫描行的后256个点以及行消隐期称作一次显示逆程。

      在一次显示正程时,需要把雷达信号的数字视频更新到帧缓冲存储器(VRAM)中去,每一个视频点的更新都必须进行一次读、修改、写操作。此时,必须判断本次读写操作的行地址与上一次操作时是否相同。如果行地址改变,则首先在t1时刻发出预充命令,在延迟tRP=2CLK的时间后,即t2时刻发出行激活命46令,此时地址线上同时应该给出相应的行地址。在延迟tRCD=20 ns,即2CLK时间后的t3时刻,发出存储器读命令,此时地址线上同时应该给出相应的列地址。随后,在CL=2CLK时间后,即t4时刻数据线上就读出了相应的存储器数据。经过处理后,在t5时刻重新写入到存储器中去,同样地址线上应该给出相应的列地址。

      如果行地址相同,则只需要发出列地址进行读写,也就是说,从t3时刻开始就行了。进一步地,如果列地址也相同,则只需要发出写操作命令,而数据采用上一次操作的数据进行处理后写入,也就是只用发出t5时刻的写操作命令就行了。

      在用FPGA实现时,由于需要多次判断,因此设计比较复杂。但是这样做可以节省许多时间,提高效率。

IC72新闻中心

      3.3 显示刷新

      在本设计中,一次显示逆程时,进行一次显示刷新操作。此时,也就是把帧缓冲存储器中的雷达视频信息通过高速的SDRAM全页突发读操作,读出并存储到FPGA中的SRAM行缓存中。在一次显示正程时,在显示时钟的同步下,依次输出SRAM行缓存中的视频数据到显示控制器的视频形成电路(RAMDAC)形成复合视频。

      此时,需要用到SDRAM的全页突发操作模式。

      该操作模式是SDRAM的一种特殊操作模式。用FPGA设计时序时,首先在t1时刻发出预充命令,在延迟tRP=2CLK的时间后,即t2时刻发出模式寄存器设置命令,此时地址线上同时应该给出全页突发模式的控制代码。在延迟tMRD=2CLK时间后的t3时刻,发出行激活命令,同时地址线上给出行地址。在延迟tRCD=2CLK时间后的t4时刻,发出存储器读命令,同时地址线上给出全页突发操作的起始列地址。随后,在CL=2CLK时间后,即从t5时刻开始,数据线上每时钟周期就连续输出相应的存储器数据。最大可以输出SDRAM芯片存储阵列中该行的全部数据。本设计中只需读出128个数据就可以了,即从t5时刻到t10时刻。由于CL=2CLK,因此必须提前2周期,即t8时刻就发出突发停止命令。

      数据读取操作完成之后,必须把SDRAM的全页操作模式重新设置到以前的状态,因此重复t1时刻到t2时刻,在t11时刻发出预充命令,在t12时刻发出模式寄存器设置命令,在2CLK之后,即t13时刻才可以发出新的操作命令。

      在用FPGA设计时序时,这部分的控制逻辑是比较复杂的。不仅要产生正确的时序,还必须高速接收数据,这种高速SRAM的最方便的选择就是用FPGA的内置存储器实现。

      3.4 显示余辉设计

      雷达光栅扫描显示的特点就是可以形成人工余辉。在本设计中,余辉时序也是采用全页突发操作模式来完成,和显示刷新时序类似,所不同的是发出的是全页写命令,写入的余辉数据是把SRAM行缓存中的数据经过一定的余辉衰减算法处理后得到的。实际设计时序时,在图4中t10时刻和t11时刻之间插入一个全页突发写操作就可以了。
 
      4 结 语

      本文使用ALTERA公司的FPGA器件进行设计。设计输入采用AHDL(Altera硬件描述语言)来完成。在数字电路设计领域,利用FPGA器件非常强大的功能和非常灵活的设计方法,几乎没有他不能实现的设计。

      本文来源于一个实际的雷达光栅显示系统的设计,SDRAM控制电路是其中的重要组成部分。全部的雷达信号光栅扫描显示逻辑电路由1片EPF10K50E实现。

      根据雷达光栅显示系统的需要,阅读了大量SDRAM芯片的资料之后,充分利用了SDRAM存储器的工作特点,在需要时进行转换,完成了雷达信号实时显示中大批量数据的高速传输问题。

      随着大容量存储器的广泛应用,SDRAM的控制器在许多领域的控制芯片中已经内部集成了。但是,当用FPGA设计一个应用且需要大容量、高速度的SDRAM存储器时,自己设计一个SDRAM的控制器是一个最佳的选择。

 
【相关文章】
·数字家庭生活——教你打造数字书房
·FPGA与外部存储设备的接口实现
·TMS320C6x DSP的FLASH引导方法研究与实现
·基于FPGA的SDRAM控制器设计
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9