新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SDRAM芯片立体封装大容量的应用

基于SDRAM芯片立体封装大容量的应用

作者: 时间:2014-06-12 来源:电子产品世界 收藏


图10控制器原理框图

本文引用地址://m.amcfsurvey.com/article/248242.htm

  控制器分三部分:control逻辑控制、initial初始化和funtion功能部分。initial部分主要完成初始化模式设置;funtion部分主要完成刷新、读和写功能;control逻辑控制部分主要是控制协调initial初始化和funtion功能部分。

  各个信号说明如表2所示:

  表2 控制器信号说明


initial初始化

  按照图4初始化和模式设置时序图,在初始化过程中,首先要延时100us,以便VCC和CLK稳定,接着发送NOP命令,再接着发PRECHARGE命令,此时发送A[10]=1,表示选择所有banks。延时tRP时间后发送AUTO REFRESH和NOP命令,如果延时大于tRFC,那么再发AUTO REFRESH和NOP命令。延时tRFC时间后发LOAD MODE REGISTER命令,地址信号送入设置的模式数据,之后发NOP命令,最好发ACTIVE命令,并送入行地址和bank信号。操作如图11(a)initial流程图所示:


图11(a)initial流程图 图11(b)自动刷新流程图

  图11(c)单个读流程图 图11(d)单个写流程图

  自动刷新

  按照图7自动刷新时序图,FPGA实现自动刷新可按照图11(b)自动刷新流程图来实现,共有十个状态:IDLE、PRECHARGE、NOP、AUTO REFRESH、NOP、AUTO REFRESH、NOP、ACTIVE、autdone=1和autdone=0。这里并没有把NOP、AUTO REFRESH合并是因为不想增加难度。另外,ACTIVE和autdone=1也可以放在同一个状态中。自动刷新功能是由start_sig=3’b100发起的,之后就是按照十个状态按顺序进行。autdone=1和autdone=0两个状态在读时序中并没有出现,应用案例用着两个状态来产生一个正脉冲表示自动刷新动作完成了,用于各个部分协调。最后当start_sig=3’b000时返回IDLE状态这个动作很重要,因为自动刷新、读写操作都是用同一个状态变量,当刷新完成时状态变量处于autdone=0这个状态,假如刷新完成之后进行读操作,那么最终只进行了autdone=0这步操作,而不是从IDLE到autdone=0一系列的操作。其他操作原理同样如此

  单个读操作

  按照图9单个读时序图,FPGA实现读操作可按图11(c)单个读流程图来完成。实现共有十个状态:IDLE、ACTIVE、NOP、READ、NOP、NOP 、ACTIVE、NOP 、autdone=1和autdone=0。单个读功能由start_sig=3’b010发起的,之后就是按照十个状态按顺序进行。autdone=1和autdone=0两个状态产生一个正脉冲表示读动作完成了。最后当start_sig=3’b000时返回IDLE状态。

  单个写操作

  按照图8单个写时序图,FPGA实现写操作可按图11(d)单个写流程图来完成。实现共有十个状态:IDLE、ACTIVE、NOP、NOP、NOP、WRITE、NOP、NOP 、NOP 、ACTIVE、NOP 、autdone=1和autdone=0。单个写功能由start_sig=3’b001发起的,之后就是按照13个状态按顺序进行。autdone=1和autdone=0两个状态产生一个正脉冲表示写动作完成了。最后当start_sig=3’b000时返回IDLE状态。

  逻辑控制部分

  逻辑控制部分是一个重要的部分,是整个控制器的控制中心。逻辑控制部分主要功能如图12逻辑控制部分流程图所示。

  逻辑控制部分在上电复位时,首先要完成初始化模式设置,当初始化模块完成初始化输出initdone时,逻辑控制部分输出busy=0,表示初始化完成了。接着进入空闲IDLE状态,在这个状态中进行刷新autreflesh、读rden和写wren的检测。当检测到autreflesh=1时,表示要进行刷新动作置start_sig=3’b100启动刷新功能,刷新完成之后得到反馈信号autdone=1,之后清除定时器,置start_sig=3’b100让功能模块状态变量回到空闲IDLE状态,并且回到逻辑控制部分的空闲状态。当检测到rden=1时,置start_sig=3’b010启动读功能,等到funwrdone=1读完成时,置start_sig=3’b000让功能模块状态变量回到空闲IDLE状态,并输出一个wrdone的正脉冲表示读功能完成,然后回到逻辑控制部分的空闲状态。当检测到wren=1时,置start_sig=3’b001启动写功能,等到funwrdone=1读完成时,置start_sig=3’b000让功能模块状态变量回到空闲IDLE状态,并输出一个wrdone的正脉冲表示写功能完成,然后回到逻辑控制部分的空闲状态。刷新读写功能的检测是有顺序的,也就是说是有优先级的,刷新比较重要,不立即数据就会丢失,所有首先检测刷新动作,相对来说读写并没有比较明显的区别,本案例读的优先级比写的优先级高。


图12 逻辑控制部分流程图

  2、 FPGA与VDSD3G48的硬件连接


FPGA与VDSD3G48硬件连接图

  如图所示,FPGA输入CLKIN时钟和RESET复位信号,其中复位信号能够复位锁相环PLL和控制器,时钟输入经过PLL倍频之后一路送给控制器,另一路送给输出送给VDSD3G48。FPGA的_ADDR[12:0]、SDRAM_BA[1:0]、SDRAM_CS[6:1]、SDRAM_CKE、SDRAM_CAS、SDRAM_RAS、SDRAM_WE、SDRAM_DQ[47:0]、SDRAM_DQMH[3:0]、SDRAM_DQML[3:1]分别与VDSD3G48的ADDR[12:0]、BA[1:0]、CS[6:1]、CKE、#CAS、#RAS、#WE、DQ[47:0]、DQMH[3:1]和DQML[3:1]相连。

  结 语

  对于同步随机动态存取存储器(SDRAM)堆叠而成的立体的大容量存储芯片VDSD3G48,要进行初始化和刷新操作才能保证访问的正确性。同时基于SDRAM芯片立体存储器缩短了内部信号连接长度、减少了寄生效应,增强了抗干扰能力,可广泛用于车辆、卫星、飞机和空间站等领域。

存储器相关文章:存储器原理



上一页 1 2 3 下一页

关键词:SDRAM封装

评论


相关推荐

技术专区

关闭