韦东山ARM裸机和uboot大全(第1期加强版)学习笔记12-第012课_内存控制器与SDRAM

一 内存接口概念

  1. 关于CPU内存类设备
    ①CPU访问SOC芯片内部各个IP分为三类:
    GPIO/门电路,
    协议类接口(UART I2C I2S SPI NAND),
    内存类接口(NOR 网卡 SDRAM EMIF…)。
    ②CPU访问SOC芯片内部各个IP的方式(GPIO/门电路 协议类接口):
    CPU发送address -> 内存控制器 -> 内存控制器根据address选择不同外围IP -> 内存控制器发送数据 -> 对应的IP controller
    在这里插入图片描述
    ③CPU访问内存类接口设备
    CPU把地址和数据直接放到外围设备的地址总线/数据总线。
    多个外围设备共用地址总线和数据总线,如何互不干扰?
    每个外围设备都有私有的CS信号,SOC芯片内部不同的CS信号对应不同的bank;
    不同的地址区域(bank)对应不同的CS由SOC芯片的内存控制器控制;

在这里插入图片描述
由于CPU是32bit,所以发出的地址也为32bit
在这里插入图片描述
④CPU访问nand芯片的特殊性
外围的nand设备的address是由nand控制器发出的,不是CPU直接发出的。所以nand不属于CPU统一编址。
在这里插入图片描述

二 内存接口不同位宽概念

  1. 不同数据线宽度对应的地址线接法不同,具体如下:
    在这里插入图片描述
  2. 如下图:假设CPU执行读取地址3的1byte指令?
    CPU发出地址:
A26 A25~A3=0X00
A2 A1 A0=0 1 1

按照上面的接法:不同位宽ROM接收到的地址

8bit ROM addr=0x3//取出第3个的数据
16bit ROM addr=0x1//取出第1个数据
32bit ROM addr=0x0//取出第0个数据

得到上述数据之后,由内存控制器把CPU所需要的数据挑出!
如何挑出呢?根据未连接的地址线挑出
在这里插入图片描述

  1. 如下图:假设需要读取地址4的4bytes数据?
    由于CPU需要获取4bytes数据,所以对于不同的位宽的ROM,内存控制器发送地址和数据拼接操作是不同的。
    在这里插入图片描述

三 芯片访问地址确定

  1. 根据芯片所接的片选信号确定基地址:
    如下图:NOR NET SDRAM就连接不同的CS信号,根据芯片手册得到不同的地址范围。
    在这里插入图片描述
  2. 根据芯片所接地址线确定范围:
    ①NOR:使用A20~A0共21根地址线
    在这里插入图片描述
    ②net:使用A2和A0两根地址线
    在这里插入图片描述
    ③SDRAM:使用17根地址线
    在这里插入图片描述

四 芯片访问时序图

  1. 2440的读时序图
    在这里插入图片描述
  2. 某个NOR flash的时序图

在这里插入图片描述
Taa:addr信号发出后多长时间数据有效
Tce:CE信号有效后多长时间数据有效
Toe:OE信号有效后多长时间数据有效
Tdf:OE信号或者CE信号无效后,数据线无法回到高阻状态的时间
Toh:OE信号或者CE信号无效后,数据保持时间
Trc:读周期最短时间

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值