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)相关推荐

  1. Keil5 平台 S3C2440裸机程序开发-----中断系统/UART

    目录 前言 一.启动文件 二.代码 main.c uart.c uart.h led.c led.h S3C2440.h 三.编译,烧录,打开串口助手,接收到数据. 前言 本博文介绍mini2440开 ...

  2. S3C2440裸机实战 之一 创建初始工程

    S3C2440裸机实战 之一 创建初始工程 2015-2-3 好几年没玩S3C2440,从单片机玩到嵌入式,就记得这个是我入门嵌入式比较早的一款芯片. S3C2440是带MMU的,可以上WinCE/L ...

  3. keil5(MDK5)配置S3C2440裸机开发调试环境

    源:keil5(MDK5)配置S3C2440裸机开发调试环境

  4. Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors——内存控制器

    Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors 英特尔的第三代至强可扩展处理器采用全新的内存控制器架构. ...

  5. 韦一之内存控制器,2440地址空间,NOR flash和SDRAM(012课)

    大部分内容来自韦东山老师视频及博客:https://blog.csdn.net/thisway_diy/article/details/79389530 一个可参考的很好很详细的博客文档:https: ...

  6. ARM裸机篇---启动代码分析

    ARM裸机篇---启动代码分析 先搞清楚启动代码和Bootloader的区别,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码. 下面的代码先暂且这样吧,没啥注释的,时间关 ...

  7. SQL Server 内存泄露(memory leak)——游标导致的内存问题

    原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql ...

  8. 内存控制器与SDRAM_内存接口概念

    辅线1_硬件知识_内存接口概念 如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚). 配置GPIO控制器相应的寄存器,即可让引脚输出高低电 ...

  9. ARM裸机篇(五)——异常和中断

    linux系列目录: linux基础篇(一)--GCC和Makefile编译过程 linux基础篇(二)--静态和动态链接 ARM裸机篇(一)--i.MX6ULL介绍 ARM裸机篇(二)--i.MX6 ...

  10. 内存控制器与SDRAM

    S3C2440统一编址包含了GPIO,串口.I2C.SDRAM等设备类型,但是这个芯片Nandflash不是在统一编址范围内,Nandflash控制器是在统一编址中的.其中Nandflash的地址线也 ...

最新文章

  1. 搞懂限流算法这一篇就够了 No.154
  2. 如何获取字符串的最后一个字符?
  3. 烧了微软10000张GPU,这伙人铁了心要砸大家的饭碗
  4. 研究优雅停机时的一点思考
  5. keras 模型用于预测时的注意事项
  6. AD9910高速集成DDS芯片(芯片阅读笔记-串行模式篇-22个寄存器SPI通信周期控制)
  7. JavaWeb学习之路——SpringBoot整合Mybatis(二)
  8. OpenGL中的Shader
  9. python 控制手机摄像头_python+open cv调用手机摄像头,保存文件
  10. 吐血整理!内部包含3980大数据、机器学习、推荐系统实战课程,仅分享一次
  11. sql中join类型_SQL Join类型概述和教程
  12. 帝国cms怎么搭建python环境_自己写的帝国cms后台文章添加增加二级或多级联动功能...
  13. [Unity3D]自己动手重制坦克舰队ArmadaTank
  14. 1.Hbase集群安装配置(一主三从)
  15. chrome自动发送邮件插件
  16. 【STM32F407的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
  17. 我创建了一个苹果园小区群和河北老乡群
  18. 美国大通胀:谁来扛旗?
  19. JPEG文件格式分析及举例验证
  20. 栈的应用-数制转换(C语言数据结构)

热门文章

  1. 7-4 查询水果价格 PTA
  2. CSS为字体添加过度色
  3. LED背光源的技术术语
  4. 最美遇见最好的你,感谢!
  5. 微信赞赏功能升级设置中的坑
  6. win10退出微软账号
  7. Win7系统怎么卸载IE浏览器
  8. 地铁bas服务器系统,轨道交通BAS系统/火车站地铁BAS系统包括什么
  9. 服务器的垃圾清扫系统指令,怎么用dos命令系统清理垃圾
  10. 存储资源 存储设备 数据存储