当前位置:首页 > 智能硬件 > 智能硬件
[导读] 0 引 言  目前,在很多视频数据采集以及实时显示的应用开发中,常需要用到存储容量大、读写速度快的存储器。在各种存储器件中,同步动态随机存储器SDRAM 以其速度快、容量大、价格低的特点而备受关注。SDRAM 的工

 0 引 言

  目前,在很多视频数据采集以及实时显示的应用开发中,常需要用到存储容量大、读写速度快的存储器。在各种存储器件中,同步动态随机存储器SDRAM 以其速度快、容量大、价格低的特点而备受关注。SDRAM 的工作频率可以达到100MHz 甚至更高,但是在其工作周期内,因为要有刷新、预充电以及寻址等必要的操作,不可能总处于数据传输状态,使得它的带宽不能达到百分之百的利用,实时显示效果因此受到影响。为此,本文在研究有关文献的基础上,根据具体情况提出了一种独特的方法,利用FPGA 的片上资源开辟了多个FIFO 作为读写缓存,实现了多端口SDRAM 控制器的设计,并用Verilog 硬件描述语言[1] 给予实现,仿真结果表明该控制器能够轮流地从多个缓存向SDRAM 进行存取,实现了高速多数据缓存,充分利用了SDRAM 的有效带宽,提高了存取速度,从而达到实时显示的要求,并且只要将该设计稍加修改,便可应用到其他需要多数据缓存的场合。

  1 SDRAM 基本操作原理[2] [3]

  SDRAM 的主要控制信号有:CS_N:片选使能;CAS_N:列地址选通信号;RAS_N: 行地址选通信号;WE_N:写使能信号;DQM:字节掩码信号;ADDR:地址线。以上这些信号的逻辑组合就组成了SDRAM 的主要操作命令,如表1 所示:

  表1.SDRAM 主要操作命令表SDRAM 的主要操作如下:

  1.1 初始化操作

  SDRAM 上电一段时间后, 经过初始化操作才可以进入正常工作过程。初始化主要完成预充电、自动刷新和模式寄存器的配置。

  1.2 SDRAM 的基本读写操作

  读写操作主要完成与SDRAM 的数据交换。可以分为非突发连续操作模式和突发连续操作模式, 非突发指的是传送数据和地址必须是相对应一个一个的传输, 突发模式则是地址控制信号只需要给出首地址信息, 而数据实现连续传输过程, 突发数据的长度可以为1, 2,4, 8 和全页。

  1.3 刷新操作

  动态存储器都存在刷新问题。SDRAM 的刷新方式有自动刷新和自主刷新, 这里主要采用自动刷新方式, 每隔一段时间向SDRAM 发一条刷新命令。

  2 基于FPGA 的多端口SDRAM 控制器设计

  设计中选用的FPGA 是Altera 公司生产的CycloneII 系列中的EP2C35,选用的SDRAM 是ISSI 推出的64-MBIT 的IS42S16400B ,它是以1MWords X 16Bits X 4Banks 为组织结构的同步动态随机存储器,最高时钟频率可达143MHz[4]。

  视频数据实时显示系统的基本构成如图1 所示[5]:

  SDRAM 作为帧缓冲器,它的上一级数据输入是25MHz 的视频数据采集模块,所得到的数据经处理以后是每个像素点30 位数据,下一级是VGA 显示器以25MHz 的时钟进行数据输出,也要求是每个像素点30 位,而SDRAM 的数据宽度是16 位,因而每当存入和读取一个像素点的数据时,各需要进行两次传输。本款芯片SDRAM 的工作频率虽然可设置为100MHz ,但是如果不加缓存的话,就不能使用页突发模式来有效利用带宽,而且SDRAM 内部其他操作也需要占用一定的时间,不能达到实时显示的效果。本文在研究有关文献的基础上,利用FPGA 的片上资源开辟4 个FIFO 缓存,将SDRAM 的数据端口仿真成四个虚拟端口(两个写端口+两个读端口),每个端口的数据宽度都是16位,深度是两页SDRAM 的大小。且按照一致的规则将30 位采集和显示的数据分成两组与缓存进行存取,相应的,在SDRAM 上使用两个Bank 来分别存取每组数据。控制器根据缓存FIFO 的状态对SDRAM 发出读写请求,采用页模式突发传输和Bank 切换的方式来匹配时序要求。

  SDRAM 控制器的内部结构如图2 所示:

  各功能模块描述如下:

  2.1 多端口读写控制模块

  该模块是与外设交换数据的接口,并且根据缓存FIFO 的状态,自动生成对SDRAM 的读写请求以及数据缓冲处理。它是本设计的核心。下面着重描述一下读写请求产生的设计过程和简要代码。

  将数据采集模块得到的两组数据同时存贮到各自的写缓存FIFO 里,只要写缓存里的数据达到了SDRAM 每页的数据大小,就产生对SDRAM 的写请求,因为每个缓存的大小是两页SDRAM ,所以此时数据采集模块还可以继续存数据。类似的,VGA 所显示的数据也是从两个读缓存 FIFO 得到的,只要读缓存里的数据小于SDRAM 每页的数据,就产生对SDRAM 的读请求,这样每个缓存里的两页轮流操作。关键代码如下:

  2.2 地址生成模块:

  该模块用来自动生成对SDRAM进行存取操作的Bank地址,起始地址和突发长度。由于30位的像素数据等分各存入两个Bank里,所以在Bank里它们的对应地址是相同变化的,这样存取数据时,对两个Bank的读写地址的控制就是统一增减的,降低了使用一个Bank时读写控制的繁杂性。

  2.3 自动刷新模块:

  SDRAM需要不断的刷新操作,同一行的存储单元每隔64m s 需要刷新一次,对于本芯片的一个Bank 中的4096 行存储单元,则每15. 625us 就需要发出一个刷新命令,由于本设计采取缓存的办法,所以应该按读写SDRAM到缓存FIFO的时间为准来设计刷新计数器的初始值。以页模式进行读写,读数据的整个时间过程是tRCD+ tCL+mLENGTH ,写数据的整个时间过程是tRCD+mLENGTH ,其中tRCD是激活命令到读或写命令期间的延迟,tCL是读命令发出后到第一个有效数据之间的间隔,mLENGTH 是SDRAM 的页长,本设计中tRCD =3, tCL=3,mLength=256 。因此刷新计数器的初始值设置为2X(256+3+3)+ 2X(256+3)=1042 ,经计算远远小于所要求的刷新周期,初值设置合理。开始工作后,每当刷新计数器值减为0, 便会发出刷新命令,保证SDRAM内的数据不丢失,自动刷新之后直接进行预充电来关闭工作行。

  2.4 命令产生模块:该模块主要负责命令仲裁、命令生成以及时序控制等。SDRAM 优先级仲裁算法通常有两种:一种是固定优先级算法,另一种是循环优先级算法。本文设计的SDRAM 控制器是应

  用在实时图像处理系统中的,对数据处理效率要求很高,因此设计中选用固定优先级算法。本文规定优先级如下:初始化请求>刷新请求>读请求>写请求>其他。

  2.5 时钟产生模块:

  通过使用PLL(锁相环) 资源为FPGA 内部的时序元件提供稳定的时钟以及为SDRAM 提供可靠的时钟,本设计中为100MHz 。

  1 SDRAM 控制接口模块:该模块主要完成对SDRAM 的命令解码、初始化配置等。

  2 数据通路模块:

  根据模式寄存器的模式字及对用户指令的分析结果,使SDRAM 的地址及数据和相应的操作指令在时序上同步。

  3 仿真验证

  使用Modesim 软件[6]对多端口SDRAM 控制器进行仿真验证,得到的SDRAM 读写信号仿真波形图时序合理、逻辑正确,可以从多个缓存FIFO 轮流地向SDRAM 以页突发模式进行读写操作,有效利用了SDRAM 的带宽,而数据采集和数据显示模块可以在不受SDRAM 操作时序影响的情况下,连续地向缓存FIFO 中存取数据。仿真波形如图3 所示:

  将该控制器集成到视频数据采集显示系统的设计中,经QuartusII 分析综合,生成的网表文件下载到FPGA 芯片上,并将数字摄像头和VGA 显示器连接好,进行实际硬件验证,几经调试,该系统已能够成功运行并且达到了良好的实时显示效果。

  4 结 论

  本文使用状态机的设计思想,采用Verilog 硬件描述语言设计实现了一种基于FPGA 的,可用于多数据缓存的、高效利用SDRAM 带宽的多端口SDRAM 控制器。

  本文作者创新点:设计实现的SDRAM 控制器能够完成多端口数据缓存,充分利用了SDRAM 的有效带宽,提高了存取速度,只要稍加修改就可以应用到图像处理,视频监控等需要高速多数据缓存的场合,可重用性好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭