S3C2440之内存

2024-06-04 09:48
文章标签 内存 s3c2440

本文主要是介绍S3C2440之内存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、概述
数据位宽:BANK0:16/32位
          其它BANK:8/16/32位
BANK0-BANK5可接ROM、SRAM
BANK6-BANK7可接ROM、SRAM、SDRAM

BANK0-6的起始地址是固定的,BANK7的起始地址是可调整的

BANK6-7的寻址范围可通过编程调整

所有存储器BANK的访问周期可编程

总线访问周期可通过插入外部wait来延长

支持SDRAM的自刷新和掉电模式

2、功能描述
(1)、BANK0的总线宽度由引脚OM1和OM2的电平信号决定。

(2)、BANK与ROM或SRAM连接时,由芯片的数据输出位宽决定将第几根地址线与芯片的第0根地址线连接,此处
主要是保证字节对齐

(3)、BANK6-7与SDRAM连接时,地址引脚连接计算方式如下:
由SDRAM芯片资料找出芯片的BANK数、每个BANK的存储单元数和芯片输出数据位宽
由BANK数确定需要使用几根地址线用于BANK选择
由每个BANK的存储单元数确定需要使用多少根地址线用于存储单元的选择
最后由芯片的输出数据位宽决定将第几根地址线与SDRAM的第0根地址线连接
计算举例:
  用HY57V561620芯片组成32位的输出数据位宽,每个芯片是由4个BANK组成,每个BANK的大小是4M
  则用2根地址线用于BANK选择,每个BANK有4M(4M=2^22)的存储单元则用22根地址线用于存储单
  元选择,到此共用2(BANK)+22(存储单元)=24根地址线,又因为输出数据位宽是32位,4字节
  对齐,所以将使用ARM的地址线A2-A25,A24、A25用于BANK选择,从A2开始的22根地址线用于存
  储单元选择

(4)、nWAIT引脚操作
  如果相对应每个存储器bank的WAIT位使能,当存储器bank被激活,nOE信号低电平有效持续时间可以被外部引脚nWAIT
  所延长,在nWAIT是高电平后的下一个时钟周期,nOE也会被置高电平。nWE与nOE也有同样的关系

(5)、nXBREQ/nXBACK引脚操作
  如果nXBREQ引脚被拉低电平,S3C2440置nXBACK引脚低电平对此响应,如果nXBACK为低电平,则地址/数据总线和存储
  器控制信号将处于高阻态,当nXBREQ引脚被拉高以后,nXBACK引脚也会恢复高电平

(6)、对SDRAM进行控制时相关使用到的引脚说明如下:
  nSRAS:高电平表示正在输出行地址
  nSCAS:高电平表示正在输出列地址
  nSCS[1:0]:芯片选择信号,低电平有效,nSCS0是bank6,nSCS1是bank7
  DQM[0:3]:ARM在对SDRAM读写时,SDRAM控制器会先输出行地址和SDRAM芯片的BANK选择信号,然后DQM引脚变低电平再输
            出列地址信号,如果是写操作,则DQM[0:3]各引脚的高低电平与nWBE[0:3]一个意思
  SCLK[1:0]:读写时钟信号,SCLK0是bank6的信号,SCLK1是bank7
  SCKE:是时钟信号使能信号
  nWBE[0:3]:当向外写一个数据时,如果该数据是一个字节的,则WBE[0]为按时序工作,其它三个始终为高电平
                                 如果该数据是两个字节的,则WBE[0:1]按时序工作,其它两个始终为高电平
                                 如果该数据是三个字节的,则WBE[0:2]按时序工作,其它的始终为高电平
                                 如果该数据是四个字节的,则这四个引脚按时序工作
             当读一个数据时,四个引脚都为高电平
             所以在控制SDRAM芯片时,芯片上的DQM引脚会与ARM的nWBE引脚连,以控制写入数据的字节数。
 

(7)、对ROM控制时相关使用到的控制引脚说明如下:
  OM[1:0]:用于bank0的数据位宽选择
  nGCS[7:0]:充当片选信号
  nWE:低电平有效,表示arm向外写数据
  nOE:低电平有效,表示arm要从外设读取数据
  nWBE[0:3]:当向外写一个数据时,如果该数据是一个字节的,则WBE[0]为按时序工作,其它三个始终为高电平
                                 如果该数据是两个字节的,则WBE[0:1]按时序工作,其它两个始终为高电平
                                 如果该数据是三个字节的,则WBE[0:2]按时序工作,其它的始终为高电平
                                 如果该数据是四个字节的,则这四个引脚按时序工作
             当读一个数据时,四个引脚都为高电平
             所以在控制SDRAM芯片时,芯片上的DQM引脚会与ARM的nWBE引脚连,以控制写入数据的字节数。
 

(8)、对SRAM控制时相关使用到的控制引脚说明如下:
  nGCS[7:0]:片选信号
  nWE:低电平有效,表示arm向外写数据
  nOE:低电平有效,表示arm要从外设读取数据
  nBE[3:0]:对SRAM高低字节选通信号,nBE0表示数据的0-7位,nBE1表示数据的8-15位,nBE2表示数据的16-23位,nBE4表示数据的24-31位

  注:nBE[3:0]是nWBE[3:0]和nOE的与信号



这篇关于S3C2440之内存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029737

相关文章

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。

PHP内存泄漏问题解析

内存泄漏 内存泄漏指的是在程序运行过程中申请了内存,但是在使用完成后没有及时释放的现象, 对于普通运行时间较短的程序来说可能问题不会那么明显,但是对于长时间运行的程序, 比如Web服务器,后台进程等就比较明显了,随着系统运行占用的内存会持续上升, 可能会因为占用内存过高而崩溃,或被系统杀掉 PHP的内存泄漏 PHP属于高级语言,语言级别并没有内存的概念,在使用过程中完全不需要主动申请或释放内