当我在看有关SDRAM的芯片手册的时候,我一直在想这样一个问题:SDRAM的容量它究竟是如何计算的呢?经过查找网上的各种资料,最后在这里给大伙分享一下我的总结!

就以我的开发板的SDRAM的芯片手册的型号:h57v2562gtr60c为例。通过查看我的h57v2562gtr60c的datasheet,我们知道:

行地址选择线有13根(RA0~RA12),列地址选择线有9根(CA0~CA8), 
Bank选择线有2根(BA0,BA1),数据线16根(DQ0~AQ15)

而我们知道SDRAM的总单元数=(2^行地址选择线)*(2^列地址选择线)*(2^Bank选择线)

由此我们得出我们的SDRAM的总单元数=(2^13)*(2^9)*(2^2)=2^24 个单元数

注:行地址选择线位13,并不代表我们的每个Bank只有13行,而是代表我们每个Bank可以表示的行数为2^13行,对于列地址选择线和Bank线也是同样的道理。

我们知道了SDRAM的总的单元数,但是我们还不能确定整个SDRAM的容量,因为我们还不清楚我们的SDRAM的每个单元存放的数据是多少位,那么这个又是如何确定的呢?

那么这就涉及到了位宽的概念,在TQ2440的开发板中,是用两块SDRAM组成一整个SDRAM的,其中地址线是公用同一个地址,而数据线则分成两个16位,因为每片SDRAM只提供16的数据线,那么我个人的理解是:低16位存在其中一片SDRAM中,高16位存在另一片SDRAM中,这样就达成了,每次往同一地址发送或读取数据的时候,就达成了一次发送或读取32位位宽的数据的目的,亦即,每个地址下所对应的一个存储单元的数据都是32位的。

所以我们整个的SDRAM的容量=(SDRAM的总单元数)*(位宽)=(2^24) * 32 =2^29 bit

注:我这里算的是TQ2440开发板的整个SDRAM的总的容量,而不是只单独每一片的SDRAM的总的容量。若是单独每一片的SDRAM的容量 = 整个的SDRAM的容量 / 2

注:这里计算的单位是bit,若我们把它转化成字节数则是 2^29 bit / 8 = 2^26 Byte = 2^6 MB = 64 MB

这就是TQ2440开发板的最终的SDRAM的容量。

SDRAM容量的计算方法的更多相关文章

  1. 【转】S3C2440与SDRAM NorFlash NandFlash连线分析

    一.SDRAM(HY57V561620F)连线分析 1.  S3C2440 有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx 的地址 ...

  2. 是否有必要学习使用纯Verilog写一个SDRAM控制器

    在做这个SDRAM控制器之前,博主有一个疑问,对于学生来说,是否有必要学习用纯Verilog写一个SDRAM控制器?因为目前X家和A家都有了DDR IP Core,对于要实现一个应用可以直接调用IP ...

  3. STM32F429驱动SDRAM

    1 SDRAM控制原理 1.1 SDRAM信号线 1.2 SDRAM地址线 SDRAM包含有“A”以及“BA”两类地址线: A:行(Row)与列(Column)共用的地址线 BA:独立的用于指定SDR ...

  4. Elasticsearch集群规模和容量规划的底层逻辑

    转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484628&idx=1&sn=666e416ae ...

  5. CF卡技术详解——笔记

    知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速 ...

  6. ubuntu-14.04中/boot分区不足的解决办法

    环境:ubuntu-kylin 或者 ubuntu-14.04,/boot单独分区工具:ubuntu的liveCD. 问题: 由于当初安装的时候,看网上说/boot很小,100M足以,于是单独分区,分 ...

  7. 【DSP开发】6455EMIF

     外部设备连接接口包括外部存储器连接接口(EMIF).主机接口(HPI)等.外部存储器接口主要用来同并行存储器连接,这些存储器包括SDRAM.SBSRAM.Flash.SRAM存储器等,外部存储器接口 ...

  8. 初学嵌入式Linux

    初学嵌入式Linux,感觉需要学习的东西太多了.把学习过程中的收获和问题记录在这里,算是一份经验吧.     前面利用开发板带的现成的东西step by step让Linux 2.4.19在开发板上跑 ...

  9. 基于RT1052 Aworks 内存扩容记录(一)

    本文主要是通过迁移的思维,记录本人初次使用周立功的Aworks框架进行BSP开发 1. 首先阅读原理图 内存容量由32M扩容至64M. 2. 再则比较两颗芯片的参数 通过比较32M和64M SDRAM ...

随机推荐

  1. C#中一道关于ADO.NET的基础练习题

    在控制台程序中实现以下功能: 1. 构建3个表(程序启动时自动建立)  (20分): 1) Employee 职工表 (工号.姓名.性别.年龄.部门)  (Num.Name.Sex.Age.Depar ...

  2. 阿里云ECS,WampServer无法访问外网

    情况: 使用阿里云ECS服务器.服务端打开WampServer后,在服务端能通过127.0.0.1和localhost访问到WampServer的首页. 阿里云已经给了外网IP,不需要路由器再做端口映 ...

  3. 【WPF】设置TextBox内容为空时的提示文字

    <TextBox Width="150" Margin="5"> <TextBox.Resources> <VisualBrush ...

  4. 使用Spring MVC统一异常处理实战<转>

    1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦合 ...

  5. java clone对象

    本文转载至 http://blog.csdn.net/shootyou/article/details/3945221 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过 ...

  6. BusyBox inittab配置

    inittab第一行指定初始化脚本,开启所有应用程序,必须有. ::sysinit:/etc/init.d/rcS 在第一行执行完后,执行剩余行命令,此终端要接受命令交互需开启sh. ::askfir ...

  7. Jquery解析json数组字符串

    最近在工作中用到了Jquery来解析json字符串,网上解析jquery解析json单个对象的实例不少,但是jquery解析json数组的实例却是不多,下面我举一个简单的例子来跟大家分享与一下,本人水 ...

  8. 关于Cocos2d-x中字体的使用

    1.如果使用的是系统自带的 static Label* createWithSystemFont ( const std::string & text,        const std::s ...

  9. Android Activity 传递数据

    activity中数据的传递方式有2中,一种是使用putExtra()传递,另外一种是传递Bundle对象,使用putExtras()方法. 方法一 发送数据 putExtra()传送的是键值对,第一 ...

  10. 静态库lib

    步骤: 按普通方式编程,无需export 其中静态库就是中间文件,跟obj文件类似. 静态库的使用不太方便: 如果该静态库是vs2008编译的,那么APP也得用vs2008编译,版本必须一致.且编译方 ...