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

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J