新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 以FPGA为桥梁的FIFO设计方案及其应用

以FPGA为桥梁的FIFO设计方案及其应用

作者:时间:2009-11-21来源:网络收藏

  在该设计中,摄像头采用640×480的屏幕分辨率,图像深度为8,每秒为25帧,图像数据量的大小为图像中像素总数与图像深度的乘积,由此可以得出每帧图像的大小为2.457 Mb,每秒钟视频产生数据的大小为61.44 Mb。因为系统向控制器写入和读出数据的速度比较低,约为62 MHz,的外接晶振CLK为27 MHz,的工作时钟由锁相环4倍频后生成,即为108 MHz,所以控制器向SDRAM写入和读出数据的速率为108 MHz,因此二者属于不同的时钟域,需要用缓冲器作为输入和输出的缓存。

  SDRAM控制器的模块结构如图2所示,其中SDRAM控制器内部包括:初始化模块、模式寄存器、控制模块和状态机。SDRAM的接口设计是极其关键的,可根据SDRAM内部操作状态之间的联系,通过状态机来实现接口设计。初始化模块负责SDRAM的初始化,在上电和时钟稳定后等待100 ms,至少执行一条空操作,然后对所有页执行预充电操作,使所有页处于空闲状态,接着向各页发出两条刷新操作指令,最后发出一个模式寄存器装载命令,使SDRAM有确定的状态进行读写操作。模式寄存器可根据要求对SDRAM的突发长度、突发类型、CAS延时的时钟数、运行模式和写突发模式进行设置,确定SDRAM在读写操作时的工作状态。模式寄存器M0~M2用于规定突发长度,可以为1,2,4,8。M3用于规定突发类型,当M3=0时,突发类型是连续的;当M3=1时,突发类型是交错的。M4~M6用于规定CAS延迟的时钟周期数,可以分为1,2,3。M7,M8用于规定运行模式。M9用于规定写突发模式,当M9=0时,按实际编程的突发长度存取;当M9=1时,按单个存取单元写入,但可按实际编程的突发长度读出。

SDRAM控制器的模块结构

  状态机是SDRAM控制器的核心控制模块,其作用主要有两个方面:其一是对各模块发出的操作请求进行仲裁,在适当的时刻作出反映,发出对SDRAM适当的控制命令;其二是协调各模块之间的时序关系,满足对SDRAM读写所必需的时序要求。状态机的状态转移如图3所示。

状态机的状态转移



关键词: FPGA FIFO SDRAM DSP

评论


相关推荐

技术专区

关闭