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,即,所以内存控制器的每个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网卡的原理图如下:
来源:CSDN
作者:Mculover666
链接:https://blog.csdn.net/Mculover666/article/details/104100944