04-内存控制器与SDRAM

注:本文是对韦东山百问网总结的基础上,根据自己的理解进行注解,作为自己的笔记。
原文地址:http://wiki.100ask.org/%E7%AC%AC012%E8%AF%BE_%E5%86%85%E5%AD%98%E6%8E%A7%E5%88%B6%E5%99%A8%E4%B8%8ESDRAM

第1节 内存接口概念

1.1 GPIO/门电路接口、协议类接口

首先来分析下操作GPIO控制器和操作UART控制器两者的区别。
如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚)。
04-内存控制器与SDRAM
配置GPIO控制器相应的寄存器(如图中的,CPU传输某个值给GPFCON、GPFDAT),即可让引脚输出高低电平;配置UART控制器相应的寄存器(如图中的,CPU传输某个值给UCON0、UTXH0),即可让引脚输出波形。
前者相对简单,类似门电路,后者相对复杂,属于协议类接口(类似的协议类接口还有iic、iiGPFDATs、spi等)。
总结下来就是:对于CPU是不管什么接口的,它只写相应的寄存器,由控制器(如GPIO控制器、UART控制器)根据寄存器的配置去控制具体的引脚。
那么CPU是如何访问各个不同的寄存器(如GPFCON、UCON0等)的呢?
答:CPU只管发出一个地址,内存控制器根据该地址选择不同的模块,然后从模块中得到数据或者发送数据到模块中。(CPU发出地址以选择寄存器,发出数据以配置寄存器)。

1.2 内存类接口

前面的GPIO/门电路接口、协议类接口,都不会把地址输出到外部,接下来的内存类接口,会把地址输出到外部,比如Nor Flash、网卡、SDRAM。
如图,SDRAM、DM9000网卡、Nor Flash都接在JZ2440的数据总线和地址总线上,CPU把数据和地址发送出去,然后内存控制器根据片选信号 选择 相应的设备接收地址和数据信号,以达到SDRAM、DM9000和Nor Flash之间互不干扰的目的。
04-内存控制器与SDRAM