SDRAM详解(结构框图、容量计算、寻址方式、初始化)

2023-11-18

1、SDRM介绍

SDRAM(Syncronized Dynamic Ramdam Access Memory)是同步动态随机存储器,是DRAM的升级版。在SDRAM的基础上又发展出DDR(double rate),即双倍速度的SDRAM,DDR又有几个版本,比如DDR2、DDR3、DDR4,越往后的DDR读写速率越快,并且还有低功耗版本的DDR,一般低功耗版本的DDR命名为LPDDRn(n为2、3、4)。

2、DRAM结构框图(64Mbx16)

在这里插入图片描述

3、DRAM的关键参数

3.1、寻址方式

(1)SDRAM的地址分为列地址(column address)和行地址(row address)。上面框图中可以看出有10根行地址线,13根列地址线。
(2)A0-A12是SDRAM的地址线,行列地址都是通过这13根地址线传给SDRAM的,采用了分时复用的技术。
(3)分时复用技术,可以减少芯片的引脚。用SDRAM的RAS(RowAddressStrobe,行地址信号)和CAS(ColumnAddressStrobe,列地址信号)加以区分,在RAS引脚使能时地址线传输的是行地址,在CAS引脚使能时地址线传输的是列地址。

3.2、容量计算

(1)64Mbx16:64M个bit乘以16,就是1024M个bit,也就是1Gbit,128MB;
(2)根据地址线计算:13根行地址线、10根列地址线、3根片选信号线说明该SDRAM芯片有2^26次方个存储单元,每次存储单元储存16bit数据(因为数据线是DQ0-DQ15)也就是2个字节,所以该存储芯片的容量是 2 ^27个字节,也就是128MB。
(3)容量=Bank数 x 每个Bank的容量;
(4)Bank的容量=行地址 x 列地址 x 每个存储单元的容量;
(5)每个储存单元的容量=数据线的位数(DQ0-DQn);

3.3、Bank数

(1)可以将SDRAM的每个存储单元理解成表格中的一个单元,DRAM由2-8个Bank组成,每个Bank是完全一样的,每个Bank就相当于一个表格,有m行xn列,也就是对应行地址和列地址;
(2)在SDRAM的引脚中有Bank选择引脚(BA0-BA2),3个引脚最多支持8个Bank,具体芯片有几个Bank要查数据手册。

3.4、刷新间隔

SDRAM是动态存储器,使用的电容原理,需要在规定的时间内去刷新一遍,不然数据就会丢失。在初始化SDRAM时,需要给DRAM控制器配置刷新间隔,具体刷新间隔要查询数据手册。

3.5、Memory Burst Length

内存突发长度:可以理解成DRAM控制传一个地址给DRAM,DRAM返回的字节数。

4、DRAM的初始化

参考博客:《S5PV210芯片的DRAM控制器介绍、初始化DDR的流程分析》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDRAM详解(结构框图、容量计算、寻址方式、初始化) 的相关文章

  • 从 Visual Studio 交叉编译 ARM7 代码

    是否可以从 Visual Studio 2008 2010 Express 或 Professional 编译 ARM7 如果是这样 可以指导我如何做吗 我读过有关 Yagarto 工具链的其他帖子 这一切是如何融入图片中的 我在这个领域非
  • armv8 NEON if 条件

    我想了解armv8 NEON内联汇编代码中的if条件 在armv7中 这可以通过检查溢出位来实现 如下所示 VMRS r4 FPSCR BIC r4 r4 1 lt lt 27 VMSR FPSCR r4 vtst 16 d30 d30 d
  • 我们可以优化代码来降低功耗吗?

    有没有什么技术可以优化代码以确保更低的功耗 架构是ARM 语言是C 来自 ARM 技术参考网站 ARM11 MPCore 的特性 提高能源效率的处理器 效率包括 准确的分支和子程序返回预测 减少数量 错误的指令获取和 解码操作 使用物理寻址
  • 如何创建具有自定义外设和内存映射的 QEMU ARM 机器?

    我正在为 Cortex M3 cpu 编写代码 并且正在使用以下命令执行单元测试qemu arm二进制 现在一切都很好 但我想知道我是否能够使用测试整个系统qemu system arm 我的意思是 我想为 qemu 编写自定义 机器 我将
  • 多核ARM cpu上的中断如何工作

    这个问题已经针对 x86 得到了解答 但是 我找不到太多关于 ARM MP cpu 如 Cortex A9 Cortex A15 等 的信息 更重要的是我想知道是否可以在非主CPU上引发中断而无需任何配置等 我正在开发一款仅处理主 cpu
  • Android 上原生的自修改代码

    我正在尝试在 Android 上制作一些自修改本机代码并在模拟器中运行它 我的示例基于 android ndk 中的 Hello JNI 示例 它看起来像这样 define NOPE LENGTH 4 typedef void FUNC v
  • 线程安全的向量和字符串容器?

    我之前发过一个问题 在嵌入式 Linux 平台上使用 std string 时出现段错误 https stackoverflow com questions 2412667 seg fault when using stdstring on
  • 将 ZeroMQ 交叉编译为 ARM,以便在 MonoTouch iPhone 应用程序配置设置中使用

    我正在尝试在使用 MonoTouch 用 C 开发的 iPhone 应用程序中使用 ZeroMQ 库 我几乎解决了所有的问题 却在最后一道坎倒下了 我正在使用 ZeroMQ 2 1 10 和 C CLR 绑定 包装器 并在 Mac OS X
  • 使用 ARM NEON 内在函数添加 alpha 和排列

    我正在开发一个 iOS 应用程序 需要相当快地将图像从 RGB gt BGRA 转换 如果可能的话 我想使用 NEON 内在函数 有没有比简单分配组件更快的方法 void neonPermuteRGBtoBGRA unsigned char
  • 将 GCC 内联汇编与采用立即值的指令结合使用

    问题 我正在为 ARM Cortex M3 处理器开发定制操作系统 为了与我的内核交互 用户线程必须生成 SuperVisor Call SVC 指令 以前称为 SWI 用于软件中断 该指令在ARM ARM中的定义是 这意味着该指令需要即时
  • ARM Cortex A8 PMNC 读取在启用后也给出 0.. 有什么想法/建议吗?

    MODULE LICENSE GPL MODULE DESCRIPTION user mode access to performance registers int init arm init void unsigned int valu
  • 源和目标具有不同的 EABI 版本

    我正在尝试使用 ARM 工具链编译 so 文件 但是我不断收到这个错误 错误 源对象的 EABI 版本为 0 但目标对象的 EABI 版本为 5 我无法更改工具链中的任何内容 因为我必须使用给定的工具链 我以前从未见过这个错误 我使用了这个
  • 可以使用Visual Studio 2012构建ARM桌面程序吗?

    我正在使用 Visual Studio 2012 beta 我的桌面 win32 程序在 ARM 架构中编译得很好 升级到 Visual Studio 2012 RC 后 编译器无法工作并出现以下错误 不支持为 ARM 平台编译桌面应用程序
  • M1 MacBook Pro 上的 Android Studio 无法使用 ABI armeabi-v7a 模拟系统映像

    我的 M1 Macbook Pro 上的 Android Studio 可以很好地模拟 ABI arm64 v8a 的所有系统映像 API 24 29 30 31 但是 它无法使用 ABI armeabi v7a 运行所有映像 例如 API
  • arm-thumb指令集的blx指令如何支持4MB范围

    读自https www keil com support man docs armasm armasm dom1361289866046 htm https www keil com support man docs armasm arma
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • ARM 系统调用的接口是什么?它在 Linux 内核中的何处定义?

    我读过有关 Linux 中的系统调用的内容 并且到处都给出了有关 x86 架构的描述 0x80中断和SYSENTER 但我无法追踪 ARM 架构中系统调用的文件和进程 任何人都可以帮忙吗 我知道的几个相关文件是 arch arm kerne
  • gdb 不会从外部架构读取核心文件

    我正在尝试在 Linux 桌面上读取 ARM 核心文件 但似乎无法找出我的核心文件 有什么方法可以指示 gdb 我的核心文件是什么类型吗 file daemon daemon ELF 32 bit LSB executable ARM ve
  • 使用 NEON 内在函数除以浮点数

    我当时正在处理四个像素的图像 这是在armv7对于 Android 应用程序 我想分一个float32x4 t向量由另一个向量组成 但其中的数字与大约不同0 7 to 3 85 在我看来 除法的唯一方法是使用右移 但这是针对一个数字2 n
  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE

随机推荐

  • 灰色预测模型matlab_灰色预测

    你好 我是goldsunC让我们一起进步吧 文章目录 灰色预测引言灰色预测的类型最简单的模型 GM 1 1 GM 1 1 模型实例原理及求解数据处理方法 1 累加生成2 累减生成3 均值生成求解步骤框图求解步骤小误差概率p及方差比检验标准
  • 企业管理靠员工自觉只能是海市蜃楼

    企业管理靠员工自觉只能是海市蜃楼 凭良心做事好不好 好 要不要凭良心做事 要 但得有前提 这个前提就是这家企业人人讲良心 个个讲良心 特别是老板讲良心 如果老板让员工讲良心 自己不讲良心 讲良心的人不是伤心走了 就是有样学样 也不讲良心了
  • C++进阶 智能指针

    本篇博客简介 介绍C 中的智能指针 智能指针 为什么会存在智能指针 内存泄露 内存泄漏定义 内存泄漏的危害 如何检测内存泄漏 如何避免内存泄漏 智能指针的使用及其原理 RAII 设计一个智能指针 C 官方的智能指针 定制删除器 智能指针总结
  • Java之Graphics2D图片生成水印

    目录 一 介绍 二 效果图 三 代码 四 优化方向 五 参考链接 一 介绍 百度百科 Graphics2D Graphics 类 提供了对几何形状 坐标转换 颜色管理和文本布局更为复杂的控制 不止通过JDK提供的工具类 还可以使用第三方的T
  • SQL Server通过链接服务器访问Oracle

    Windows SQL Server 2016 数据库通过链接服务器访问Oracle数据库 借鉴了很多大佬的文章 但是由于外链失效 文章久远 安装包版本太低 自己积分清零等多重原因 导致了很多问题 最后总算磕磕盼盼搞定了 整理一下流程 包括
  • ggplot2学习之3——aes函数

    文章目录 说明 函数名及参数 1 基本用法 2 函数的进一步封装 说明 R语言的版本为4 0 2 IDE为Rstudio 版本为1 3 959 学习的主要内容是R官方文档当中给出的算法 对其中的英文注释做了自己理解基础上的翻译 函数名及参数
  • Spring Boot 中的 @CachePut 注解是什么,原理,如何使用

    Spring Boot 中的 CachePut 注解是什么 原理 如何使用 简介 在 Spring Boot 中 CachePut 注解是用于缓存的注解之一 用于更新缓存中的数据 相比于 Cacheable 注解 CachePut 注解可以
  • 指针和数组笔试题

    目录 一维数组 字符数组 二维数组 指针笔试题 一维数组 数组和指针 数组 能够存放一组相同类型的元素 数组的大小取决于数组的元素个数和元素类型 指针 地址 指针变量 大小是4 8个字节 数组是数组 指针是指针 二者不等价 数组名是数组首元
  • replace和replaceAll的区别

    String对象中的replace和replaceAll的区别 replace方法 支持字符和字符串的替换 public String replace char oldChar char newChar public String repl
  • Avue

    Avue中 avue crud的事件调用
  • c语言程序小时工资计算,C语言入门之工资计算

    includeint main 1 请输入税前工资 int money 0 printf 请输入您的税前工资 scanf d money 2 养老保险 个人8 单位12 double yangLao1 money 0 08 double y
  • 微信支付逻辑图

    微信支付时序图 微信支付官方文档https pay weixin qq com wiki doc api index html xml与对象的互转 微信使用xml格式而不使用json通信 也确实有点奇葩 签名 千万不要以为只是MD5一下 要
  • 前端实现图片悬浮_悬浮图片之上效果实现

    其实很简单 就是一个margin top的问题 但是需要relative的定位方式才能悬在上面 html部分 草帽的创新 聚集国内外优秀人才 聚焦新技术及产品研究 以开放互联的理念 驱动企业创新发展 实现怎样的创新 服务全国品牌用户 实现多
  • Anchor-Free目标检测模型

    FCOS Fully Convolutional One Stage Object Detection 已开源 FoveaBox Beyond Anchor based Object Detector 未开源 FCOS 摘要 我们提出了一种
  • Android2023暑期实习---网易游戏一面面经

    Android2023暑期实习 网易游戏一面面经 2022 03 28 14 00 网易游戏一面 个人感觉网易游戏面试 题目有一定难度特别考验基础 自己基础不太行 加之开盘就慌了 肯定后面就是全局崩溃 主要是那些算法和操作系统 还有一些框架
  • Nginx配置-开启Http认证basic authentication

    Nginx配置 开启Http认证basic authentication txt 生成密码 将密放置于配置文件 修改nginx conf 重新加载nginx配置生效 认证测试 生成密码 可以使用htpasswd 或者使用openssl 比如
  • Android APP安装后在桌面上不显示应用图标

    前几天在写项目的时候运行的时候突然Android桌面上没有了应用图标 但是应用里面下载的应用有 调试版本和发布正式的版本都没有 之前以为是因为用了不同的keystore发布了两个不同的正式版本造成的问题 后来在看别人的文章才知道是什么问题
  • Win10中将WSL Ubuntu20.04设置普通用户为默认用户

    直接通过Microsoft Store安装的Ubuntu默认安装于C盘中 会占用一定空间 在导出wsl至本人电脑E盘后 每次登录都是root用户 参考网上教程使用 Ubuntu 20 04 config default user 用户名来更
  • prometheus通过node_exporter抓取的数据准确计算磁盘使用率

    公司使用的openstack的备份服务组件karbor 要查询所使用的备份nas磁盘使用率的需求 根据以前的查询语句 很快写出如下的prom sql 100 topk 1 node filesystem free device 100 no
  • SDRAM详解(结构框图、容量计算、寻址方式、初始化)

    1 SDRM介绍 SDRAM Syncronized Dynamic Ramdam Access Memory 是同步动态随机存储器 是DRAM的升级版 在SDRAM的基础上又发展出DDR double rate 即双倍速度的SDRAM D