【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的初始化

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

初始化时序图如下:

相关推荐
测试专家15 小时前
揭秘反射内存卡RF2G测试:从硬件架构到带宽损耗的深度解析
硬件架构
学嵌入式的小杨同学17 小时前
STM32 进阶封神之路(十一):串口通信底层原理全解析 ——UART/USART 区别 + 电平标准 + 协议规范(面试重点)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
学嵌入式的小杨同学2 天前
STM32 进阶封神之路(八):外部中断 EXTI 实战 —— 按键检测从轮询到中断(库函数 + 寄存器双版本)
linux·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
学嵌入式的小杨同学3 天前
STM32 入门封神之路(四):GPIO 实战 + 寄存器深度拆解 ——LED 控制 + 按键检测全流程(含位操作 + 面试题)
stm32·单片机·嵌入式硬件·硬件架构·硬件工程·智能硬件·嵌入式实时数据库
Saniffer_SH3 天前
【高清视频】如何针对电动汽车进行通信可靠性测试、故障注入与功率分析?
服务器·驱动开发·测试工具·fpga开发·计算机外设·硬件架构·压力测试
学嵌入式的小杨同学3 天前
STM32 进阶封神之路(七):中断核心原理 + NVIC 深度解析 —— 从概念到寄存器配置(面试重点)
stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb·嵌入式实时数据库
范纹杉想快点毕业3 天前
Zynq-7000 PS端开发深度技术指南:从硬件架构到实战应用
fpga开发·硬件架构
浩子智控3 天前
zynq嵌入式开发(1)—开发准备和流程
linux·嵌入式硬件·硬件架构
浩子智控3 天前
zynq嵌入式开发(2)—基本开发测试实例
linux·嵌入式硬件·硬件架构