1DRAM控制器.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1DRAM控制器

1 DRAM 控制器DRAM控制器概述DRAM控制器介绍DRAM控制器是一种先进的微控制器总线架构(AMBAtm)AXI兼容的从属接口外部的JEDEC DDR-类SDRAM设备。为了支持高速存储设备,DRAM控制器采用的是SEC DDR PHY接口。该控制器包括一个先进的嵌入式调度器来有效地利用存储装置,以及一个优化的流水线级,来减少等待时间。 S5PV210拥有两个独立的DRAM控制器和端口,即DMC0和DMC1。1.1.2 DRAM控制器的主要特点● 兼容JEDEC的DDR2,低功耗DDR和低功耗的DDR2 SDRAM规格● 采用了SECLPDDR2 PHY接口,支持高速存储设备● 支持每一个芯片两个外部芯片选择和1/2/4/8 banks● 支持128 MB,256 MB,512 MB,1 GB,2 GB和4 GB的存储容量● 支持16/32位宽度的存储器数据宽度● 优化了流水线级的低延时● 支持QoS方案,确保对于某些应用程序的低延时● 先进的嵌入式调度使得优于顺序操作,以有效地利用存储设备● 支持快速的芯片/ bank的切换和内存中断● 支持系统的功率控制AMBA AXI低功耗通道● 适用于各种低功耗的方案,以减少内存的动态和静态电流● 支持快速的独立访问● 支持bank有选择性的预充电策略1.1.3 支持时钟频率高达200MHz框图图1-1 总体框图图1-1显示了控制器的总体框图。该框图显示总线接口模块,调度程序模块和存储器接口模块,连接和接口与SEC LPDDR2的PHY。总线接口模块将保存来自AXI从端口的内存访问总线交易命令队列。此外,它保存写入数据写入缓冲区或通过发送读数据到主在AXI总线。如果AXI主还没有准备好它也作为一个读FIFO,并具有APB接口的特殊功能寄存器/直接命令和AXI低功耗通道接口。 调度程序块使用的内存条有限状态机(FSM)的信息来仲裁总线交易中的命令队列,并变换指令到存储器命令类型,它被发送在内存接口模块。它也可以控制写入和读出的存储器和AXI之间的数据流总线。根据来自的memory命令存储器接口块更新每个存储器状态,调度和发送bank状态恢复到调度。它根据内存延迟创建了一个存储命令并通过PHY接口发送命令给SEC LPDDR2的PHY。1.2 功能描述1.2.1 初始化初始化过程包括物理层DLL初始化,设置控制寄存器和存储器初始化。对于内存的初始化,参考JEDEC规格和存储设备数据表。有三种不同的内存类型,即,LPDDR,LPDDR2和DDR2。根据存储器的类型,初始化序列如下。1.2.1.1 LPDDRLPDDR内存类型初始化序列:1. 为了提供稳定的电源控制器和存储设备,控制器必须维护和保持CKE为逻辑高电平,然后采用稳定的时钟。注:XDDR2SEL应该为低电平来保持CKE为高。2. 根据时钟频率来设置PhyControl0.ctrl_start_point和PhyControl0.ctrl_inc位来校正频率值。设置PhyControl0.ctrl_dll_on位字段为1来激活PHY的DLL。3. DQS清除:根据时钟频率和内存TAC参数设置PhyControl1.ctrl_shiftc和PhyControl1.ctrl_offsetc位的正确值。4. 将PhyControl0.ctrl_start位置1。5. 设置ConControl。此时自动刷新计数器应该关闭。6. 设置MemControl。此时所有的省电模式应该关闭。7. 设置MemConfig0寄存器。如果有两个外部存储器芯片,还要设置MemConfig1寄存器。8. 设置PrechConfig和PwrdnConfig寄存器。9. 根据内存AC参数设置TimingAref,TimingRow,TimingData和TimingPower寄存器。10. 如果需要QoS方案,设置QosControl0?15和QosConfig0?15寄存器。11. 等待PhyStatus0.ctrl_locked位字段变为1。检查PHY DLL是否被锁定。12. PHY的DLL存储操作过程中补偿的延迟量由工艺,电压和温度(PVT)变化的变化。因此,为了运行可靠它不应该被关闭。如果频率低,PHY DLL可以被关闭。若采用了关闭模式,根据固定延迟量的PhyStatus0.ctrl_lock_value[9:2]位字段来设定PhyControl0.ctrl_force位字段的正确值。清除PhyControl0.ctrl_dll_on位域关闭PHY的DLL。13. 上电后确认时钟运行是否稳定在最低200us。14. 使用DirectCmd寄存器发出PALL命令。15. 使用DirectCmd寄存器发出两个自动刷

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档