【DRAM存储器十三】DDR介绍

👉个人主页highman110

👉作者简介:一名硬件工程师持续学习,不断记录,保持思考,输出干货内容
参考资料:《镁光DDR数据手册》

目录

[DDR SDRAM芯片引脚](#DDR SDRAM芯片引脚)

[DDR SDRAM芯片框图](#DDR SDRAM芯片框图)

[DDR SDRAM的mode register](#DDR SDRAM的mode register)

[DDR SDRAM的初始化](#DDR SDRAM的初始化)


DDR SDRAM芯片引脚

第一代DDR引脚与初代SDRAM的不同上图红框圈出来了:

1、单端时钟改为差分时钟;

2、增加DQS信号,这时的DQS还是单端的;

3、VDD和VDDQ从3.3V降到了2.5V;

4、IO引脚电平从TTL改为了SSTL_2,增加了SSTL_2参考电压VREF(VDDQ/2)。另外外部还需要SSTL_2 IO的端接电压VTT(VDDQ/2)。

DDR SDRAM芯片框图

这里再把SDRAM的框图贴出来,大家对比一下:

可以看到,DDR的框图和初代SDRAM相比,只有红框处有所区别。我们从输入和输出两个方向分别看:

首先看输出,也就是读DDR数据,假设存储阵列核心频率100MHz,仅单边沿有效,IO gating在一个时钟边沿一次性输出16bit数据给到read latch锁存,然后通过MUX多路复用器输出8bit给输出驱动器,MUX这里16bit输入变8bit输出,两个8bit的输出总有个先后顺序吧,这个顺序在MUX这里靠最低位列地址COL0来决定,关于burst type和顺序的定义在后面说到mode register相关内容后再详细说。时钟CK在经过DLL与外部时钟同步后,驱动DRIVERS输出数据,这里的时钟频率与核心频率一致,但是是双边沿有效,所以这里一个时钟周期的两个沿刚好就能把内部输出的16bit数据输出完毕。另外DDR在输出数据时,内部的DQS generator会生成一个单端DQS信号,与数据一起在时钟作用下输出,这里的DQS与数据的相位关系是边沿对齐。

然后看输入,也就是写数据。接收模块RCVRS先后收到16bit输入数据DQ和2bit屏蔽信号DM,在控制器输出的DQS双边沿作用下,按既定的突发顺序将8+8的DQ和1+1的DM锁存到input register,控制器输出的DQS与DQ、DM为中心对齐关系。Input register将两个8bit数据合并成16bit数据给到write fifo,随后write fifo输出16bit数据给到IO gating进行写入阵列控制。此fifo的输入参考时钟为DQS,输出参考时钟为CK,均为单边沿有效,由于DDR内部逻辑是以CK为参考,而写入时的外部接口逻辑是以DQS为参考,所以需要一个fifo来实现跨时钟域的同步。

DDR SDRAM的mode register

DDR的模式寄存器与初代SDRAM大体相同,由于新增了功能,于是新增了extended mode register,相关定义如下:

Bit[2:0]:BL,突发长度。支持2、4、8突发长度。

Bit[3]:burst传输方式,0表示顺序传输,1表示交错传输。传输顺序由低位地址线决定,定义如下:

Bit[6:4]:CAS潜伏期,可设置为2、2.5、3,单位为时钟周期tck。

Bit[n:7]:操作模式,除了bit8之外,其他bit都是0,bit8为0为正常操作模式,bit8为1为DLL复位。DLL复位需要通过LMR命令来实现,镁光的这颗DDR是DLL复位完之后自动进入正常操作模式,不用再用LMR把这个bit8又写为0。

Bit[n+2:n+1]:00表示为基础模式寄存器,01表示为扩展模式寄存器。

Bit[0]:DLL,0使能,1不使能。正常工作都要使能。不使能DLL仅用于调试用途。

Bit[1]:驱动强度,0正常强度,1降低强度。正常为SSTL_2,class II驱动强度,降低后为正常强度的54%,用于轻负载场景,如点对点拓扑。

DDR SDRAM的初始化

流程图如下,大家自行看一下:

初始化时序图如下:

相关推荐
怡步晓心l7 小时前
晶体管最佳效率区域随频率逆时针旋转原因分析
硬件架构·硬件工程·射频工程
Suhan422 天前
【操作系统】三、内存管理:1.存储器管理(程序装入与链接;逻辑地址与物理地址空间;内存保护;交换与覆盖;分页管理方式;分段管理方式;段页式管理方式)
算法·硬件架构·硬件工程
Android技术栈4 天前
鸿蒙开发(NEXT/API 12)【硬件(取消注册智慧出行连接状态的监听)】车载系统
华为·车载系统·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈4 天前
鸿蒙开发(NEXT/API 12)【硬件(传感器开发)】传感器服务
华为·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony·传感器
Android技术栈5 天前
鸿蒙开发(NEXT/API 12)【穿戴设备信息查询】手机侧应用开发
嵌入式硬件·硬件架构·移动开发·harmonyos·鸿蒙·鸿蒙系统
小元元的小圆圆6 天前
CHI write 传输——CHI(5)
fpga开发·硬件架构
Android技术栈6 天前
鸿蒙开发(NEXT/API 12)【硬件(注册智慧出行连接状态的监听)】车载系统
华为·车载系统·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈8 天前
鸿蒙开发(NEXT/API 12)【硬件(获取智慧出行连接状态)】车载系统
华为·车载系统·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
Android技术栈8 天前
鸿蒙开发(NEXT/API 12)【硬件(外设扩展驱动开发)】驱动开发服务
驱动开发·华为·硬件架构·harmonyos·鸿蒙·鸿蒙系统·openharmony
FellAveal13 天前
【图灵完备 Turing Complete】游戏经验攻略分享 Part.6 处理器架构2 & 函数
游戏·架构·硬件架构·硬件工程