第十二课 (1)内存接口概念、不同位宽设备的连接

https://blog.csdn.net/thisway_diy/article/details/79389530

1、三类接口

三类接口:
GPIO/门电路接口
协议类接口:UART(串口) IIC IIS
内存类接口:Nor、网卡、SDRAM (注意:没有Nand)

2、内存控制器

门电路接口和协议类接口

在这里插入图片描述
门电路接口和协议类接口的区别:
配置GPIO控制器相应的寄存器,即可让引脚输出高低电平;
配置UART控制器相应的寄存器,即可让引脚输出波形。

CPU怎么访问不同的寄存器?(内存控制器的作用):
CPU只管发出一个地址,内存控制器根据该地址选择不同的模块,然后从模块中得到数据或者发送数据到模块中。

内存类接口

在这里插入图片描述
CPU怎么访问不同的内存接口?
SDRAM、DM9000网卡、Nor Flash都接在JZ2440的数据总线和地址总线上,CPU把数据和地址发送出去,然后内存控制器根据片选信号选择相应的设备接收地址和数据信号

cs(chip select)——共用数据线和地址线,为了区别是哪个模块发送的,所以有了片选引脚

比如:
在这里插入图片描述
CPU发送的地址在 0x0~0x08000000之间,内存控制器就让CS0引脚输出低电平
只有被选中的模块才能工作哦

Nand Flash

在这里插入图片描述

GPIO/门电路接口、协议类接口、内存类接口都属于CPU的统一编址。对于Nand Flash,在原理图上它的地址线并没有连接到CPU,因此它不参与CPU的统一编址。但是有数据线有连接到数据总线, 它也有一个片选信号(CE)。

t2![

CPU发送地址给Nand控制器,Nand再去选中片选引脚,才让NandFlash工作

每个片选信号选择的地址空间 为128M :
0x08000000的十进制为134217728
134217728 / 1024 / 1024 = 128M
128M = 27 * 210 * 210 = 227
所以一共有27条地址线
我们查阅芯片手册P277 可以知道 CPU发送32位的地址,但是只有27条地址线,为什么呢?
CPU确实是发送32位的地址线给内存控制器,但是内存控制器发送片选信号、将32位地址转换位27位地址发送给外设。

3 、读写引脚

在这里插入图片描述
有读写引脚来控制

SDRAM只有写引脚,说明这条引脚既表示写又表示读,当输出低电平表示写数据给SDRAM,高电平读数据
在这里插入图片描述

4、不同位宽设备的连接

看韦东山的笔记
https://blog.csdn.net/thisway_diy/article/details/79389530
怎样确定芯片的访问地址:

  1. 根据片选信号确定基地址,
  2. 根据芯片所接地址线确定范围

怎么从原理图看出接了几条地址线?
原理图上接了A20~A1,A0是接到内存控制器的,
为什么A0接到内存控制器呢?
因为一共有16条地址线,需要A0去选择高8位还是低8位(从不同尾款设备的连接理解的)
所以一共21条地址线
在这里插入图片描述
值得注意的是,SDRAM有17条地址线,那么是128K的内存,但是为什么SDRAM有64M的内存?(以后讲)
列地址 行地址 地址线被用两次 然后组装起来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值