S3C2440-裸机篇-07 | S3C2440内存控制器(Memory Controller)
1. 作用
S3C2440的内存控制器作用是:负责向外部扩展的存储类设备提供控制信号。
内存控制器支持的外部扩展存储类设备有:
- SRAM
- SDRAM
- Nor Flash
- 网卡DMA 9000(类存储设备)
内存控制器不支持nand flash,S3C2440提供了独立的nand flash控制器。
2. 内存控制器拓扑结构
CPU、内存控制器、外部扩展存储器三者的拓扑结构如下:
其中这四种信号的意义如下:
- 地址信号(总线):作为存储器,其中的每个存储空间肯定有地址,地址总线用来传输地址;
- 数据信号(总线):用来传输某个地址处的写入数据或者读出数据;
- 读/写选择信号(控制信号):用来控制向地址处写入数据还是从地址处读出数据;
- 片选信号(控制信号):所有存储器全部共用一个地址总线和数据总线,所以用片选信号控制选择哪个设备工作,哪个设备不工作;
片选信号每个设备用一根线就可以搞定,读写选择信号每个设备用1-2根线就可以搞定,那么,数据总线和地址总线有多少条呢?
数据总线宽度
数据总线的最大宽度由CPU字长决定,S3C2440 CPU的字长为32位,所以数据总线的最大宽度为32条。
具体使用多少条数据总线,由存储设备决定。
地址总线宽度
地址总线的最大总线宽度由内存控制器寻址能力决定。
S3C2440内存控制器的地址映射图如下:一共有8个bank,每个bank的大小为128MB,即128MB=27∗220Byte128MB = 2^{7}*2{20} Byte128MB=27∗220Byte,所以内存控制器的每个bank使用27条地址线寻址,也就是A0-A26,8个bank复用这27条地址线,具体使用多少条地址线,怎么接,留给用户决定。
数据手册中给出的示例接法
- ROM类芯片接法
扩展一个8bit的ROM类存储芯片的接法:
使用两个8bit的ROM类存储芯片组合成16bit的存储芯片的接法:
使用四个8bit存储芯片扩展成32bit存储芯片的接法:
- SRAM接法示例
扩展一个16bit SRAM芯片的接法如下:
- SDRAM接法
使用两个16bit SDRAM芯片组成为一个32bit的存储芯片(从CPU的角度)的接法如下:
3. JZ2440开发板的存储设备
JZ2440开发板扩展一个16bit的Nor Flash芯片的原理图如下:
使用两个16bit的SDRAM芯片组合扩展为一个32bit的SDRAM的原理图如下:
JZ2440扩展DM9000网卡的原理图如下:
S3C2440-裸机篇-07 | S3C2440内存控制器(Memory Controller)相关推荐
- Keil5 平台 S3C2440裸机程序开发-----中断系统/UART
目录 前言 一.启动文件 二.代码 main.c uart.c uart.h led.c led.h S3C2440.h 三.编译,烧录,打开串口助手,接收到数据. 前言 本博文介绍mini2440开 ...
- S3C2440裸机实战 之一 创建初始工程
S3C2440裸机实战 之一 创建初始工程 2015-2-3 好几年没玩S3C2440,从单片机玩到嵌入式,就记得这个是我入门嵌入式比较早的一款芯片. S3C2440是带MMU的,可以上WinCE/L ...
- keil5(MDK5)配置S3C2440裸机开发调试环境
源:keil5(MDK5)配置S3C2440裸机开发调试环境
- Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors——内存控制器
Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors 英特尔的第三代至强可扩展处理器采用全新的内存控制器架构. ...
- 韦一之内存控制器,2440地址空间,NOR flash和SDRAM(012课)
大部分内容来自韦东山老师视频及博客:https://blog.csdn.net/thisway_diy/article/details/79389530 一个可参考的很好很详细的博客文档:https: ...
- ARM裸机篇---启动代码分析
ARM裸机篇---启动代码分析 先搞清楚启动代码和Bootloader的区别,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码. 下面的代码先暂且这样吧,没啥注释的,时间关 ...
- SQL Server 内存泄露(memory leak)——游标导致的内存问题
原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...
- 内存控制器与SDRAM_内存接口概念
辅线1_硬件知识_内存接口概念 如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚). 配置GPIO控制器相应的寄存器,即可让引脚输出高低电 ...
- ARM裸机篇(五)——异常和中断
linux系列目录: linux基础篇(一)--GCC和Makefile编译过程 linux基础篇(二)--静态和动态链接 ARM裸机篇(一)--i.MX6ULL介绍 ARM裸机篇(二)--i.MX6 ...
- 内存控制器与SDRAM
S3C2440统一编址包含了GPIO,串口.I2C.SDRAM等设备类型,但是这个芯片Nandflash不是在统一编址范围内,Nandflash控制器是在统一编址中的.其中Nandflash的地址线也 ...
最新文章
- 搞懂限流算法这一篇就够了 No.154
- 如何获取字符串的最后一个字符?
- 烧了微软10000张GPU,这伙人铁了心要砸大家的饭碗
- 研究优雅停机时的一点思考
- keras 模型用于预测时的注意事项
- AD9910高速集成DDS芯片(芯片阅读笔记-串行模式篇-22个寄存器SPI通信周期控制)
- JavaWeb学习之路——SpringBoot整合Mybatis(二)
- OpenGL中的Shader
- python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
- 吐血整理!内部包含3980大数据、机器学习、推荐系统实战课程,仅分享一次
- sql中join类型_SQL Join类型概述和教程
- 帝国cms怎么搭建python环境_自己写的帝国cms后台文章添加增加二级或多级联动功能...
- [Unity3D]自己动手重制坦克舰队ArmadaTank
- 1.Hbase集群安装配置(一主三从)
- chrome自动发送邮件插件
- 【STM32F407的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
- 我创建了一个苹果园小区群和河北老乡群
- 美国大通胀:谁来扛旗?
- JPEG文件格式分析及举例验证
- 栈的应用-数制转换(C语言数据结构)