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

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Java内存区域与内存溢出异常的详细探讨

《Java内存区域与内存溢出异常的详细探讨》:本文主要介绍Java内存区域与内存溢出异常的相关资料,分析异常原因并提供解决策略,如参数调整、代码优化等,帮助开发者排查内存问题,需要的朋友可以参考下... 目录一、引言二、Java 运行时数据区域(一)程序计数器(二)Java 虚拟机栈(三)本地方法栈(四)J

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt