S3C2410-SDRAM

发布者:masphia最新更新时间:2016-11-25 来源: eefocus关键字:S3C2410  SDRAM 手机看文章 扫描二维码
随时随地手机看文章

由于S3C2410是32位处理器(指令一次能够操作32位数据(运算器一次可以处理32位数据);通用寄存器多是32位寄存器;处理器内部数据通道也是32位的;处理器外部数据总线宽度通常是32位的,地址总线宽度只是代表CPU寻址范围大小,与CPU是多少位的无关,也即32位CPU的地址总线不一定是32根的,例如对于s3c2410,每一个Bank对应27根地址线,寻址能力为128MB,全部8个Bank总的寻址能力为1GB),所以为了最大限度的发挥其性能,内存最好也是32位(指数据宽度)的,(当然,在s3c2410的8个bank中,除了Bank0只能选择16/32数据位宽外,其余的7个Bank均可以单独选择8/16/32位宽的存储系统)然而市面上很少有32位宽度的单片SDRAM,所以一般都采取两片16位的SDRAM进行位扩展得到32位的SDRAM。

S3C2410-SDRAM - motor - motor87 的博客

S3C2410-SDRAM - motor - motor87 的博客

 

 

由上两图可见,本系统扩展后的内存系统为16M×32Bit的(此处32Bit是指数据位宽度,而非地址位,可以理解SDRAM数据位宽度与地址线的条数无关,明白数据线和地址线的区别,对于下面地址线的连接方式的理解非常重要)。

一、A0~A12地址线

首先要明白这一点,在CPU的寻址空间中,字节(8位)是表示存储容量的唯一单位。(所以为什么对于51单片机来说,其16根地址线的寻址能力为64KB,注意:其单位是Byte—字节)

而对于上述已经进行扩展了的32位SDRAM存储系统,可以认为它的每一个存储单元都是4个字节的(单位是4个字节=1个字),因此当它的地址线A1:A0=01时,处理器上对应的地址线应为A3:A2=01(因为CPU的寻址空间是以Byte为单位的)。

正因为如此,SDRAM的A0引脚接到了S3C2410的A2地址线上。

以此类推,SDRAM的A12~A1引脚依次接到了2410的A14~A3地址线上。

同样的,对于16位数据位宽的SDRAM系统而言,需要将SDRAM的A0引脚连接到2410的A1地址线上面。

二、BA0~BA1地址线

K4S561632D是4M×16Bit×4Banks,共32MB

DRAM芯片在构造上的特点是,芯片上的地址引脚是复用的。(在存取DRAM芯片的某单元时,其操作过程是将存取的地址分两次输入到芯片中,每一次都由同一组地址线输入。两次送到芯片上去的地址分别称为行地址和列地址,它们被锁存到芯片内部的行地址锁存器和列地址锁存器中。可以想象,在芯片内部,各存储单元是按照矩阵结构排列的。行地址信号通过片内译码选择一行,列地址信号通过片内译码选择一列,这样就决定了选中的单元)。 /RAS是行地址锁存信号,该信号将行地址锁存在芯片内部的行地址锁存器中;/CAS是列地址锁存信号,该信号将列地址锁存在芯片内部的列地址锁存器中。

K4S561632D共有13根地址线A0~A12)。行地址线为A0~A12,共13根;列地址线为A0~A8,共9根,可见K4S561632D一个Bank的存储容量为213×29=222=4M。(对于DRAM来说,13根地址线的最大编址空间为226=64M,可见此处K4S561632D还是留有余量的,其最大容量可以扩充到64M)

BA0~BA1是Bank选择地址线。Banks可以理解为一片16M×16Bit 的K4S561632D内部是由4片容量为4M的16Bit SDRAM扩展而成的,即16M×16Bit =4M×4Banks×16Bit。 BA0~BA1即为该4片SDRAM的片选信号。可见BA0~BA1代表了K4S561632D的最高位。

 S3C2410-SDRAM - motor - motor87 的博客

K4S561632D芯片管脚说明

综上,BA0~BA1代表了SDRAM的最高地址位。因为CPU的寻址空间是以字节(Byte)为单位的,本系统SDRAM容量为16MWord=64MByte,那就需要A25~A0(64M=226)地址线来寻址,所以BA1~BA0地址线应该接到2410的A25~A24引脚上。

当然,由上面分析可知,DRAM内存的地址线是行地址线与列地址线复用的,所以地址线的数目并不需要26条。

三、DQM信号

如前所述,32位的SDRAM存储单元以4Byte为单位进行数据访问的时候,内存会忽略CPU的A1和A0地址线(事实上,2410的A1和A0地址线也根本没接到SDRAM的芯片上)。

但是处理器如果需要访问地址偏移量为01的单个字节,就需要DQM(Data Mask)信号进行帮助,这个信号接在2410的nWEB线上。DQM信号由处理器根据当前的访问情况发出,如果当前的访问只需要低16字节,那么nWEB0和nWEB1线就会有效。


关键字:S3C2410  SDRAM 引用地址:S3C2410-SDRAM

上一篇:s3c2410处理器存储扩展-SDRAM
下一篇:S3C2410 Flash 烧写

推荐阅读最新更新时间:2024-03-16 15:22

基于S3C2410A的嵌入式系统的U-Boot移植
0 引 言 ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片更是以其低价格、低功耗、高性能在手持设备中占据着重要市场。在嵌入式操作系统中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁减性更是一支独放。在嵌入式系统中,如何实现在ARM9平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。 1 嵌入式系统的软件组成 1.1 系统的软件组成 嵌入式的软件系统主要由Bootloader、操作系统、文件系统、应用程序等组成。其中,Bootloader是介于硬件和操作系统之间的一层,其作用就好像PC机中的BIOS。系统加电运
[单片机]
基于<font color='red'>S3C2410</font>A的嵌入式系统的U-Boot移植
基于s3c2410的触摸屏驱动移植
在 linux2.6.14/drivers/input/touchscreen 目录下建立新的文件s3c2410_ts.c 文件,驱动文件我们可以参考类似的触摸屏驱动,具体的内容参看网站或者光盘提供的源代码。 首先:修改 linux2.6.14/drivers/input/touchscreen 目录下的 makefile 文件,在文件的最后 添加 : obj-$(CONFIG_TOUCHSCREEN_S3C2410) += hfrk_s3c2410_ts.o 第二:在 linux2.6.14/ drivers/input/touchscreen/Kconfig 中添加: config TOUCHSCREEN_S
[单片机]
ucOS-II移植到S3C2410笔记之一
1: 问题: 移植汇编函数:OSStartHighRdy, 如下,但发现只有OS_TaskIdle一个任务时,都不能正确运行。 .globl OSStartHighRdy .type OSStartHighRdy, %function OSStartHighRdy: /* C variable OSRunning = TRUE */ mov r0, #1 ldr r1, =OSRunning str r0, /* get the stack pointer of task that will be running. */ ldr r5, =OSTCBHighRdy
[单片机]
WindowsCE环境下无线网卡的自动安装
  Windows CE是为多种嵌入式系统和产品而设计的紧凑、高效、可升级的操作系统 ,并特别为有限的硬件资源设计了多线程、多任务和完全优先的操作系统环境。在 无线通信领域有很大的应用前景。   本文重点讨论了Windows CE环境下无线网卡的安装,并提出了一种在系统断电重启时自动安装无线网卡的解决方案;还对Windows CE的系统定制、应用程序的开发及系统封装进行了介绍。由于Windows CE与Windows的同源和相似,决定了学习Windows CE的简易性,这样就缩短了应用者的开发周期。   1 Windows CE简介   Windows CE包括四大基本模块,它们提供了操作系统的关键特性,分别是:内核(Ker
[单片机]
WindowsCE环境下无线网卡的自动安装
【JZ2440笔记】裸机实验使用SDRAM
一、前言 S3C2440选择Nand启动模式之后,会将Nand Flash的块0前4KB的数据拷贝到片内的4KB SRAM中去,然后PC指针指到SRAM的0地址去顺序向下取指令执行,但是4KB的代码运行空间太小了,所以SRAM的这4KB空间只用来做启动前的一些必要初始化,更大型的代码需要从Nand Flash的其他块中读出来,然后写入到外部的SDRAM中去,PC指针再从片内的SRAM跳到外部SDRAM中去运行程序。JZ2440开发板上的SDRAM是16Mx16bit的,有两片,总共是64MB容量。 二、实验目标 在SRAM中完成关闭看门狗、初始化SDRAM、将main.c代码拷贝到SDRAM中;然后跳到SDRAM中去执行mai
[单片机]
【JZ2440笔记】裸机实验使用<font color='red'>SDRAM</font>
S3C2410-WinCE6.0-OAL的启动代码分析
到现在为止,我们已经了解了S3C2410平台上WinCE6.0的启动过程,包括NBOOT、EBOOT、OAL.exe、Kernel.dll的工作流程。关于WINCE600的目录也做了介绍。准备工作都做好了,接下来开始介绍S3C2410平台上WinCE6.0的移植。BSP的移植很大一部分是代码的移植,所以,这里仍然以代码为主线,以函数为单位来做介绍。BSP的代码一般来说也不是自己从无到有CODE出来的,大多由芯片厂商或者微软提供,OEM厂商需要做得事情是修改相关代码以满足自己硬件的特定需求,快速推出新的产品。如果BSP的移植从零开始,那么市场的先机就完全丧失了。所以这里的介绍将基于现有代码,着重说明移植时需要修改和注意的地方。
[单片机]
<font color='red'>S3C2410</font>-WinCE6.0-OAL的启动代码分析
uboot 在 ARM s3c2410 上移植过程
总述 u-boot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序,在LINUX下可以通过CVS来得到当前正在开发的u-boot软件。当前版本号:u-boot 1.0.2,见include/version.h中的定义。 #cvs dserver:anonymous@cvs.sourceforge.net:/cvsroot/u-boot login #cvs z3 d server:anonymous@cvs.sourceforge.net:/cvsroot/u-boot checkout P u-boot 本文讲述S3C2410中u-boot的移植过程:S3C2410的硬件配置是: l CPU:S3C2410
[单片机]
基于ARM920T微处理器的IDE硬盘接口设计与实现
1 引言 20世纪90年代后期,嵌入式系统在工业控制、远程监控和数据采集等领域的应用日趋广泛,人们对嵌入式系统的存储容量也提出了较高的要求。因此研制适用于嵌入式系统的大容量、高速率、高可靠性的数据存储系统变得日益重要。本文针对一款基于ARM920T芯片的开发板,根据ATA硬盘接口规范,设计了IDE硬盘接口电路,实现了对IDE硬盘的读写,可以在Linux系统中对其上的文件系统自由访问,达到了高速率和高可靠性的要求。 2 ARM920T与S3C2410介绍 ARM 包括一系列微处理芯片技术。ARM920T是ARM系列微处理器的一种,它采用5阶段管道化ARM9TDMI内核,同时配备了Thumb扩展、EmbeddedICE调
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved