问题1、CPU地址线与16位nandflash地址线连接时错开一个位的原因:
答:CPU发出的一个地址对应一个字节数据,而16位nandflash一个地址对应二个字节数据,
CPU明白自己想读取哪一个字节数据,它就发送相应地址给nandflash,而nandflash是16位,
故nandflash总是每次返回2个字节的数据,这时由CPU片上的nandflash控制器将CPU要的那个数据传给CPU。
同理,若是32位nandflash,则地址线连接需错开两个位。
问题2、地址线、数据线上通常不止接一个设备,那么如何做到访问目标设备而不影响其它设备?
答:每个设备都有自己的片选引脚,每个片选引脚都对应一段地址空间,
CPU发送地址给设备控制器,设备控制器会根据地址范围来自动选中总线上的设备。
没选中的设备不能工作,也不会受影响。
原文地址:http://blog.csdn.net/dcx1205/article/details/46462369