详解CPU与Norflash电路连接图以及工作原理
2015-06-11 22:03
309 查看
问题1、CPU地址线与16位nandflash地址线连接时错开一个位的原因:
答:CPU发出的一个地址对应一个字节数据,而16位nandflash一个地址对应二个字节数据,
CPU明白自己想读取哪一个字节数据,它就发送相应地址给nandflash,而nandflash是16位,
故nandflash总是每次返回2个字节的数据,这时由CPU片上的nandflash控制器将CPU要的那个数据传给CPU。
同理,若是32位nandflash,则地址线连接需错开两个位。
CPU的地址加1的1代表一个字节的偏移量,而存储器的地址加1的1代表存储器位宽的偏移量。
如16位ddr的地址+1,中的1代表2个字节;32位ddr的地址+1,中的1代表4个字节。
问题2、地址线、数据线上通常不止接一个设备,那么如何做到访问目标设备而不影响其它设备?
答:每个设备都有自己的片选引脚,每个片选引脚都对应一段地址空间,
CPU发送地址给设备控制器,设备控制器会根据地址范围来自动选中总线上的设备。
没选中的设备不能工作,也不会受影响。
S3C2440
有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,
当访问bankx 的地址空间,ngcsx引脚为低电平,选中外设。
相关文章推荐
- 如何使用Vbox添加虚拟机
- CentOS 5.5 下安装Countly Web Server过程记录
- Android NDK (学习笔记八) —— Java代码与C代码间方法的调用
- 后台运行程序 nohup命令
- opencv下XML 文件的读写 很全滴
- 机器学习算法简介
- 分析storm各个线程堵塞原因
- Lambda表达式和闭包Closure
- 深入认识Hibernate
- Asp.Net Mvc通用后台管理系统,bootstrap+easyui+权限管理+ORM
- JavaScript对象
- 类学习之Use Base keyword to call method in parent class from subclass
- cocopods install或update 安装或更新第三方库时,报The ... target overrides the 'OTHER_LDFLAGS' build setting....
- UFLDL教程笔记及练习答案五(自编码线性解码器与处理大型图像**卷积与池化)
- Java内存模型与volatile关键字
- 链表反转的四种方法分析
- 虚拟切割缝合技术学习--VR
- 使用Gson混淆遇到的NullPointException
- [BZOJ 1083] [SCOI2005] 繁忙的都市
- LeetCode_27---Remove Element