CN201859658U - 嵌入式sdram存储模块 - Google Patents
嵌入式sdram存储模块 Download PDFInfo
- Publication number
- CN201859658U CN201859658U CN2010206283478U CN201020628347U CN201859658U CN 201859658 U CN201859658 U CN 201859658U CN 2010206283478 U CN2010206283478 U CN 2010206283478U CN 201020628347 U CN201020628347 U CN 201020628347U CN 201859658 U CN201859658 U CN 201859658U
- Authority
- CN
- China
- Prior art keywords
- data
- connector
- sdram
- fpga controller
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Dram (AREA)
Abstract
本实用新型公开了一种嵌入式SDRAM存储模块,包括SDRAM存储模块、FPGA控制器、接插件A和接插件B,其特征在于:所述SDRAM存储模块为5片,SDRAM存储模块的输入输出端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输入端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输出端与FPGA控制器的通用输入输出口连接,本实用新型具有易于系统集成,本存储模块不仅存储带宽高、存储容速度快,而且能回读工作状态信息而易于管理,还克服了传统存储设备复杂、功耗体积大的特点。
Description
技术领域
本实用新型涉及一种基于SDRAM芯片的嵌入式缓存模块,属于数据存储技术领域。
背景技术
对于信号采集中对高速数据处理的嵌入式应用场合,例如雷达、电子对抗、通信、软件无线电、地震地质信号分析等多种应用领域中对信号进行连续高速的采集和处理应用中,由于处理器运行速度和外部信号变化速度不能很好地匹配,所以要加入缓存进行协调处理。当外部信号变化速度快于处理器运行速度时,需要用缓存板将采集的外部信号进行暂存,待处理器处理完上一批数据后,再将暂存在缓存板里的数据调入处理器进行处理,这样可避免数据的丢失。当外部信号变化速度慢于处理器运行速度时,可先将采集到的完整数据暂存在缓存板里,然后一次性调入处理器,这样可以提高处理器处理数据的速度,从而提高整个系统的处理能力。
通常构成高速缓存的方案三种:第一种是FIFO(先进先出)方式。FIFO存储器就象数据管道一样,数据从管道的一头流入、从另一头流出,先进入的数据先流出。FIFO具有两套数据线而无地址线,可在其一端写操作而在另一端读操作,数据在其中顺序移动,因而能够达到很高的传输速度和效率,且由于省去了地址线而有利于PCB板布线。缺点是只能顺序读写数据,因而显得比较呆板,而且大容量的高速FIFO非常昂贵;第二种是高速SRAM(静态随机存储器)切换方式。高速SRAM只有一套数据、地址和控制总线,可通过三态缓冲门分别接到数据采样器和处理器上。当需要采样数据时,SRAM由三态门切换到数据采样器一侧,以使采样数据写入其中。当数据采样结束后,SRAM再由三态门切换到处理器一侧以便处理器进行读写。这种方式的优点是SRAM可随机存取,同时存储速度很快,缺点是SRAM集成度低,功耗大,同等容量的体积大,其价格昂贵。第三种是当前市面上已有的SDRAM方式。在这种方式下通常有两种类型:一种是采用市场上的专用SDRAM接口芯片,这种方式控制接口固定,访问有限,与采样电路连接时,需要设计一个接口转换电路,满足专用芯片的接口时序,会加大电路的复杂度;另一种是采用带有SDRAM接口的处理器,例如TMS320C6000系列的DSP(数字信号处理器),但是容量有限,不易扩展,而且这种方式通常要求对采集数据进行预处理。
发明内容
为解决已有存储系统存储带宽低、存取速度慢、不便管理的特点和技术问题,本实用新型提供了一种基于SDRAM的嵌入式缓存模块,这种模块易于系统集成,本存储模块还具有存储带宽高、存储容速度快,并能回读工作状态信息而易于管理,克服了传统存储设备复杂、功耗体积大的特点。
为达到上述技术效果,本实用新型的技术方案是:
嵌入式SDRAM存储模块,包括SDRAM存储模块、FPGA控制器、接插件A和接插件B,所述SDRAM存储模块为5片,SDRAM存储模块的输入输出端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输入端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输出端与FPGA控制器的通用输入输出口连接;接插件A的数据输入接口和接插件B的数据输入接口将存储数据传输至FPGA控制器,再由FPGA控制器写入SDRAM存储模块;接插件B将用户命令传输至FPGA控制器或将FPGA控制器内部状态寄存器的数据传至用户板卡,接插件B的数据输出接口将FPGA控制器从SDRAM存储模块读取的数据传至用户板卡。
接插件A设置有加载调试的接口。
所述SDRAM存储模块为(同步动态随机存储器)。
所述SDRAM存储模块的输入输出端是通用I/O口。
所述FPGA控制器的通用输入输出口是通用I/O口。
所述接插件A和接插件B为连接用户板卡与嵌入式SDRAM存储板的定位接头。
本实用新型所涉及的存储模块是基于SDRAM类型的存储芯片,控制器采用目前技术比较成熟的FPGA(现场可编程大规模集成电路),其具有编程方便,设计灵活,便于构造大容量的SDRAM存储器的特点,只需根据系统技术进行设计。在本实用新型中,FPGA 作为SDRAM芯片控制器和各种数据流的桥接,数据和命令通过接插件(连接电子线路的定位接头)由用户板卡传送到FPGA或由FPGA传送到用户板卡,然后FPGA根据输入的用户命令来对SDRAM存储器进行相应的读写操作。
嵌入式存储模块由三部分构成:SDRAM组成的存储模块、FPGA构建的控制器、用于传输数据和命令的接插件。模块框图及连接关系如图1所示,其中:
存储模块用于对数据的暂存,由5片高速SDRAM构成,能对主机板写入的数据实时响应,做到无丢失的存储。
存储模块的功能描述如下:
存储模块共有mode A和mode B两种存储模式: mode A表示主机板写入数据为5路,每路数据为250M DDR、12bits模式;读出数据为125MHz、12bits模式。mode B表示主机板写入数据为4路,每路数据为250M DDR、20bits模式;读出数据为125MHz、10bits模式。
主机板在读取数据时,共有三种存储器空间分配模式,通过数据读取端口分区指示信号R_PAR进行选择:为00时,表示主机板通过数据读取端口从大区模式的存储器空间中读取缓存的数据;为01时,表示主机板通过数据读取端口从小区模式的A区中读取缓存的数据;为10时,表示主机板通过数据读取端口从小区模式的B区中读取缓存的数据;为11时,默认为00。
主机板在写入数据时,共有三种存储器空间分配模式,通过数据读取端口分区指示信号W_PAR进行选择:为00时,表示主机板通过数据写入端口向大区模式的存储器空间中写入需要缓存的数据;为01时,表示主机板通过数据写入端口向小区模式的A区中写入需要缓存的数据;为10时,表示主机板通过数据写入端口向小区模式的B区中写入需要缓存的数据;为11时,默认为00。
FPGA主控器用于SDRAM的读写控制和数据的桥接。该部分程序框图如图2所示,其中:命令模块主要用于接收用户端口发送的控制命令和向用户反馈FPGA内部控制程序的工作状态,当接收到用户的相关控制命令后就向FPGA内部相关程序发出控制信号。该模块工作在由用户提供的75MHz的主频下。
LVDS、DDR数据接收模块主要用于将用户发送的250MHz、DDR格式80bits/60bits数据按照一定格式进行接收。将用户发送的80bits/60bits差分信号转化为FPGA内部信号,然后将250MHZ的DDR数据转化为250MHz的160bits数据写入FIFO缓存。
SDRAM缓存控制器根据命令端口命令将FIFO中缓存数据写入SDRAM存储器,该模块工作在133MHz。当命令模块发出读命令,SDRAM缓存控制器将根据命令端口给出的相应的地址进行读操作,并把读出的数据发送到FIFO数据缓存中。
当命令模块发出读命令后,dualportRAM将根据FIFO数据缓存状态,将读出数据进行缓存。该模块工作在125MHz。
LVDS、SDR数据发送模块,将根据命令模块指令,把缓存在dualportRAM中的数据依次分别读出,转化为LVDS差分信号发送给用户接口。
FPGA同时提供内部状态信息,用户可回读此信息以了解存储板的工作情况。
本实用新型共有两个接插件:接插件A和接插件B,接插件A的数据输入接口和接插件B的数据输入接口用于将存储数据传输至FPGA,再由FPGA写入SDRAM;接插件B的命令接口用于将用户命令传输至FPGA或将FPGA内部状态寄存器的数据传至用户板卡,接插件B的数据输出接口用于将FPGA从SDRAM读取的数据传至用户板卡。接插件A含有加载调试接口,可用于加载调试。加载方式:可通过板卡自身加载,或由用户板通过接插件加载。
有益效果:本实用新型所涉及的是一种基于SDRAM的嵌入式缓存模块,并通过高速FPGA和接插件实现了用户板卡和存储模块间的命令和数据通讯,由于FPGA配置灵活并且具有高速传输数据的能力,从而使得该存储模块易于系统集成,存储速度快,而且用户可通过接插件B的命令接口回读FPGA的工作状态信息,实时了解FPGA的工作状态而使本实用新型易于管理。本实用新型还克服了传统存储设备复杂、功耗体积大的特点。
说明书附图
图1为本实用新型的模块系统框图;
图2为FPGA主控器程序框图;
图3为SDRAM读操作流程;
图4为SDRAM写操作流程;
图5为SDRAM刷新操作流程;
图6为命令端口的命令字写入时序示意图;
图7为命令端口的数据读取时序示意图;
图8为从命令端口回读状态字或命令字的时序示意图;
图9为通过命令端口设置工作参数的时序示意图;
图10为模式A下的数据写入时序图;
图11为模式B下的数据写入时序图;
图12为模式A下的数据读取时序图;
图13为模式B下的数据读取时序图;
图14为模式A下的数据读取格式示意图;
图15为模式B下的数据读取格式示意图。
具体实施方式
实施例1
嵌入式SDRAM存储模块,包括SDRAM存储模块、FPGA控制器、接插件A和接插件B,其特征在于:所述SDRAM存储模块为5片,SDRAM存储模块的输入输出端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输入端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输出端与FPGA控制器的通用输入输出口连接;接插件A的数据输入接口和接插件B的数据输入接口将存储数据传输至FPGA控制器,再由FPGA控制器写入SDRAM存储模块;接插件B将用户命令传输至FPGA控制器或将FPGA控制器内部状态寄存器的数据传至用户板卡,接插件B的数据输出接口将FPGA控制器从SDRAM存储模块读取的数据传至用户板卡。
上述实施方式的工作原理和过程如下:
一种基于SDRAM的缓存板主控模块包括一片Xilinx公司的高性能系列FPGA,它通过SAMTEC公司的高速接插件完成接口以及逻辑控制,实现板间高速数据传输、SDRAM阵列读写控制、主机命令响应及状态交互。
SDRAM存储阵列模块包括5片White Electronic Designs Corporation最新大容量SDRAM芯片,数据总容量为10GBit。
板间高速数据传输接口分为数据写入端口及数据读取端口,二者独立操作。其中,数据写入端口采用LVDS25电平方式,总线速率为250MHz DDR(即数据率为500MHz),数据位宽60bits(mode A)或80bits(mode B);数据读取端口采用LVDS25电平方式,总线速率为125MHz,数据位宽12bits(mode A) 或10bits(mode B)。
缓存板可以充分利用“写”操作的时间空隙尽快地从SDRAM阵列中读取主机板所需要的数据。
命令端口采用LVCOMS25电平方式,总线速率为75MHz,所有命令端口的操作同步于此时钟。
SDRAM读写操作和刷新操作流程如图3—5所示:
控制逻辑中写的优先级高于读的优先级,当有写数据命令时,首先执行写SDRAM的命令,读命令将等待到写命令执行完成后,继续执行。当系统初始化完成,写命令到来并且SDRAM处于可以执行写命令的状态,系统开始对SDRAM的写操作。在读操作过程中,写命令达到,读操作将执行完成后,开始执行写操作,为了保证在这种情况下,不丢失数据故写操作FIFO的深度设计为SDRAM爆发写操作深度的4倍。
在写操作时,首先对SDRAM0进行写操作,激活ROW,等待SDRAM可以写入数据后,开始写入256个64bit数据;在写SDRAM0数据结束前5个时钟周期,判断系统是否满足继续写入数据条件,如果满足就激活SDRAM1的相关ROW;等待SDRAM0的256个数据写完,就中断SDRAM0写,同时开始对SDRAM1写入数据;在SDRAM1写入数据的过程中,SDRAM0就继续完成precharge、Auto refresh等操作,并将SDRAM0返回idle状态,如果条件满足继续写入数据;在SDRAM1写数据结束前5个时钟周期,系统如果满足继续写入数据的条件,就去激活SDRAM0的相关ROW,等待SDRAM1的256个数据写完,就中断SDRAM1写,同时开始对SDRAM0写入数据;SDRAM1就继续完成precharge、Auto refresh等操作。如果系统继续满足写入数据的条件,以上过程将周而复始的执行。当系统不满足继续写入数据的条件时,SDRAM将返回IDLE状态。
当系统初始化完成后,系统满足读操作条件,就对SDRAM0发起读操作,首先激活row,等待SDRAM0满足读要求后,进入256个数据的读状态(注意:由于SDRAM特点,当CL=3时,数据延迟3个时钟周期有效);在SDRAM0读操作结束前5个时钟周期,判断系统是否满足读操作要求,满足就激活SDRAM1的相关row;等待SDRAM0读数据完成时,中断SDRAM0读操作,同时SDRAM1就开始读操作;在SDRAM1读操作的过程中,SDRAM0继续完成precharge、auto refresh等操作后,返回IDLE状态。在SDRAM1读操作结束前5个时钟周期,判断系统是否满足读操作要求,满足就激活SDRAM0的相关row;等待SDRAM1读数据完成,中断SDRAM1读操作,同时SDRAM0开始读操作;在SDRAM0读操作过程中,SDRAM1继续完成precharge、auto refresh等操作后,返回IDLE状态。如果系统读SDRAM的条件继续满足,相关操作将周而复始的进行。当系统不满足继续读数据的条件时,SDRAM将返回IDLE状态。
FPGA逻辑系统将根据系统时钟计数auto refresh是否使能。当系统计数满足刷新要求计数时,将auto refresh状态处于使能状态,如果SDRAM没有处于刷新与读/写的冲突状态,则立即执行auto refresh,并将auto refresh状态置为不使能状态。如果SDRAM处于刷新与读/写的冲突状态,则延后执行auto refresh,在此过程中保持auto refresh状态处于使能状态,当SDRAM处于IDLE以后,立即执行Auto refresh,同时将auto refresh状态置为不使能状态。
命令接口和数据接口的时序如图6—15所示:
命令端口由时钟信号C_CLK、写信号C_WEN、写数据总线C_DIN、读信号C_REN、读数据总线C_DOUT、地址总线C_ADDR、全局复位信号RESET、模式控制信号MODE、数据写入端口分区指示信号W_PAR以及数据读取端口分区指示信号R_PAR组成。命令端口主要完成工作模式的配置、分区选择、SDRAM缓存数据回读起始地址及长度的配置等,并且能够回读各种状态信息。命令端口所有信号同步于时钟信号C_CLK。
数据写入端口由时钟信号W_CLK、写信号W_EN、数据总线W_DIN组成。数据写入端口主要完成高速数据的接收,然后按照内部地址管理信息的指示将数据在SDRAM阵列中进行缓存。数据写入端口所有信号同步于时钟信号W_CLK。主机板通过数据写入端口向SDRAM存储板写入待存储的数据可以分为两种模式,分别为Mode A和Mode B。在模式A下,SDRAM存储板为主机板提供5路、48bits位宽的存储空间;在模式B下,SDRAM存储板为主机板提供4路、80bits位宽的存储空间。两种模式下的数据写入时序示意图如图10及图11所示。
数据读取端口由时钟信号R_CLK、读信号R_EN、数据总线R_DOUT组成。数据读取端口主要完成SDRAM存储阵列中缓存数据的读取操作,数据读取的起始地址及读取长度由命令端口设置。数据读取端口所有信号同步于时钟信号R_CLK。主机板通过数据读取端口从SDRAM存储板读取缓存数据可以分为两种模式,分别为Mode A和Mode B。在模式A下,SDRAM存储板向主机板输出1路、12bits位宽的缓存数据;在模式B下,SDRAM存储板向主机板输出1路、10bits位宽的缓存数据。两种模式下的数据读取时序示意图如图12及图13所示。读取数据操作要求SDRAM存储板能够尽快响应,即必须充分利用两次“数据写入”的间隔时间响应“读”数据请求,协助主机板完成数据读取操作。
实施例2
嵌入式SDRAM存储模块,包括SDRAM存储模块、FPGA控制器、接插件A和接插件B,其特征在于:所述SDRAM存储模块为5片,SDRAM存储模块的输入输出端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输入端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输出端与FPGA控制器的通用输入输出口连接;接插件A的数据输入接口和接插件B的数据输入接口将存储数据传输至FPGA控制器,再由FPGA控制器写入SDRAM存储模块;接插件B将用户命令传输至FPGA控制器或将FPGA控制器内部状态寄存器的数据传至用户板卡,接插件B的数据输出接口将FPGA控制器从SDRAM存储模块读取的数据传至用户板卡。
接插件A设置有加载调试的接口。
Claims (2)
1.嵌入式SDRAM存储模块,包括SDRAM存储模块、FPGA控制器、接插件A和接插件B,其特征在于:所述SDRAM存储模块为5片,SDRAM存储模块的输入输出端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输入端与FPGA控制器的通用输入输出口连接,接插件A和接插件B的输出端与FPGA控制器的通用输入输出口连接;接插件A的数据输入接口和接插件B的数据输入接口将存储数据传输至FPGA控制器,再由FPGA控制器写入SDRAM存储模块;接插件B将用户命令传输至FPGA控制器或将FPGA控制器内部状态寄存器的数据传至用户板卡,接插件B的数据输出接口将FPGA控制器从SDRAM存储模块读取的数据传至用户板卡。
2.根据权利要求1所述的嵌入式SDRAM存储模块,其特征在于:接插件A设置有加载调试的接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010206283478U CN201859658U (zh) | 2010-11-29 | 2010-11-29 | 嵌入式sdram存储模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010206283478U CN201859658U (zh) | 2010-11-29 | 2010-11-29 | 嵌入式sdram存储模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201859658U true CN201859658U (zh) | 2011-06-08 |
Family
ID=44105459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010206283478U Expired - Fee Related CN201859658U (zh) | 2010-11-29 | 2010-11-29 | 嵌入式sdram存储模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201859658U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309781A (zh) * | 2013-06-28 | 2013-09-18 | 福州大学 | 基于dsp与fpga的单倍率同步动态内存的检测方法 |
CN104657287A (zh) * | 2015-02-12 | 2015-05-27 | 成都大公博创信息技术有限公司 | 一种适用于宽带接收机的新型数据缓存系统及其缓存方法 |
CN107807890A (zh) * | 2017-10-19 | 2018-03-16 | 广东高云半导体科技股份有限公司 | 内嵌sdram存储器的fpga、布局方法、设备及电路板 |
-
2010
- 2010-11-29 CN CN2010206283478U patent/CN201859658U/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309781A (zh) * | 2013-06-28 | 2013-09-18 | 福州大学 | 基于dsp与fpga的单倍率同步动态内存的检测方法 |
CN104657287A (zh) * | 2015-02-12 | 2015-05-27 | 成都大公博创信息技术有限公司 | 一种适用于宽带接收机的新型数据缓存系统及其缓存方法 |
CN107807890A (zh) * | 2017-10-19 | 2018-03-16 | 广东高云半导体科技股份有限公司 | 内嵌sdram存储器的fpga、布局方法、设备及电路板 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831090B (zh) | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 | |
CN202453864U (zh) | 基于fpga和ddr2 sdram的大容量异步fifo缓存 | |
CN101236774B (zh) | 单端口存储器实现多端口存储功能的装置和方法 | |
CN102968394A (zh) | 一种基于乒乓机制的fpga与dsp数据传输系统 | |
CN101650701B (zh) | 并行总线到RapidIO高速串行总线的转换装置 | |
CN104750644A (zh) | Dsp的emif读写时序与fpga的avalon读写时序的转换方法 | |
CN201859658U (zh) | 嵌入式sdram存储模块 | |
CN111832240A (zh) | Fifo数据传输方法及fifo存储装置 | |
CN104811643A (zh) | 基于sd卡阵列的图像数据高速存储系统 | |
CN104615386A (zh) | 一种核外高速缓存装置 | |
CN101236776B (zh) | 一种串行接口快闪存储器及其设计方法 | |
CN201673402U (zh) | 一种分散控制系统的控制器 | |
CN103488600A (zh) | 通用从机同步串行接口电路 | |
CN102789424B (zh) | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN105677609A (zh) | 一种SoC系统的总线结构 | |
CN110413536B (zh) | 一种多数据格式高速并行NandFlash存储装置 | |
CN108153485B (zh) | 一种多设备协同访问sram的方法及系统 | |
CN201812284U (zh) | 一种存储器接口 | |
CN205091735U (zh) | 一种基于qpi总线实现扩展系统内存的新型扩展模块 | |
CN102736996A (zh) | 一种减少存储控制器接口占用的方法及高速存储器 | |
CN1856835A (zh) | 同步的ram存储电路 | |
CN203054813U (zh) | 刀片存储装置 | |
CN203502958U (zh) | 一种arm处理器的gpio扩展电路 | |
CN101813971B (zh) | 处理器及其内置存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110608 Termination date: 20181129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |