pci内存控制器sm总线控制器_内存控制器与SDRAM

本文详细介绍了嵌入式系统中内存控制器的工作原理,特别是针对PCI内存控制器如何根据地址选择不同的设备,如SDRAM、串口控制器等。文章通过分析S3C2440芯片,讲解了内存接口概念、不同位宽设备的连接方式、时序图分析及SDRAM设置方法,强调了CPU通过内存控制器统一编址访问硬件资源的过程。
摘要由CSDN通过智能技术生成
da171f5eb44c060bcd4af48e1498f983.png

来源:韦东山嵌入式专栏_ARM裸机加强版维基教程

作者:韦东山

(本文字数:8142,阅读时长:12分钟)

第001节辅线1硬件知识_内存接口概念

首先来分析下操作GPIO控制器和操作UART控制器两者的区别。

如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚)。

4895df6c09d942e1859d05b8ec7a58cc.png

配置GPIO控制器相应的寄存器,即可让引脚输出高低电平;配置UART控制器相应的寄存器,即可让引脚输出波形。前者相对简单,类似门电路,后者相对复杂,属于协议类接口。类似的协议类接口还有iic、iis、spi等。对于CPU是不管什么接口的,它只写相应的寄存器,由控制器根据寄存器的配置去控制具体的引脚。

那么CPU是如何访问各个不同的寄存器的呢?

CPU只管发出一个地址,内存控制器根据该地址选择不同的模块,然后从模块中得到数据或者发送数据到模块中。

前面的GPIO/门电路接口、协议类接口,都不会把地址输出到外部,接下来的内存类接口,会把地址输出到外部,比如Nor Flash、网卡、SDRAM。

如图,SDRAM、DM9000网卡、Nor Flash都接在JZ2440的数据总线和地址总线上,CPU把数据和地址发送出去,然后内存控制器根据片选信号选择相应的设备接收地址和数据信号,互不干扰。

c14448a03aea7278bc00030ec4fe9169.png

片选信号和地址的关系怎么确定?

这个是由2440芯片特性决定的。

580e9326dfa5e4340413f75d8a02cb1a.png
  • 当选择Nor Flash启动时,CPU发出的指令的地址范围处于0x0000000 - 0x06000000,内存控制器就会使nGCS0处于低电平(片选引脚被选中),Nor Flash被选中。
  • 当CPU发出的指令的地址范围处于0x20000000 - 0x26000000,内存控制器就会使nGCS4处于低电平(片选引脚被选中),网卡被选中。
  • 当CPU发出的指令的地址范围处于0x30000000 - 0x36000000,内存控制器就会使nGCS6处于低电平(片选引脚被选中),SDRAM被选中。
    内存控制器根据不同的地址地址范围,发出不同的片选引脚,只有被片选引脚选中的芯片才能正常工作,不被选中的芯片就像不存在一样,不工作。

GPIO/门电路接口、协议类接口、内存类接口都属于CPU的统一编址。对于Nand Flash,在原理图上它的地址线并没有连接到CPU,因此它不参与CPU的统一编址。但它的数据线也接到了数据总线上,为了防止干扰,它也有一个片选信号(CE)。当CPU访问Nand Flash时,Nand Flash控制器才会片选Nand Flash,让其接收数据总线上的数据。

91dde59b23b159b399cbb935f944e39c.png

再来看下Nor Flash的空间,0x00000000 * 0x06000000,为128M,即每一个片选信号可以选择的空间是128M=2^27,也就需要A0、A1……A26,共27根地址线。CPU发出的32位地址线,内存控制器根据地址范围,片选上相应的bank,并将地址转化为27位。

82689af76dce652f679ff8d0f30ede57.png

第002节辅线1硬件知识_不同位宽设备的连接

参考2440芯片手册,可以看到内存接口与8-bit ROM连接时,2440的A0与外部芯片的A0相连。

06f3a129d6cdf25b2a73bfa01e99d2e6.png

当与两个8-bit ROM拼接成的一个16-bit ROM连接时,2440的A1与外部芯片的A0相连。

3cd5d66885aa470837ecc727543ccae0.png


当与四个8-bit RO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值