热度 16
2016-2-19 15:19
3917 次阅读|
0 个评论
因为SRAM的地址具有唯一性,其实数据线也有唯一性。 也就是A0~A18,D0~D15,都是唯一的。 正常是:A0~A18,接FSMC的A0~A18。 D0~D15,接FSMC的D0~D15. 假设我们A0和A18对调了,也就是A18接FSMC的A0,A0接FSMC的A18,其他不变。 这样,写地址1的时候,实际上是写到0X0004 0000,这个地址,你可能觉得有问题。 但是你反过来想,读地址1的时候,你是不是也是读0X0004 0000这个地址? 既然读也是这个地址,写也是这个地址,那么数据会错么? 在看D0~D15,你乱接,也一样的道理。 假设按D0~D15接FSMC的D15~D0,全反了。 但是有关系么? 你写的时候:0B1111 1111 0000 0000; 读的时候,不也是:0B1111 1111 0000 0000; 所以,只要地址线和数据线不混淆,地址线可以随便乱接,数据线同样可以随便乱接。 但是切记:这种情况,不是万用的,比如你接LCD,那就不行,因为LCD的D0~D15,具有特殊用处(寄存器需要配置),这些是不能改的,否则你会很麻烦... 所以实际上,我们布SRAM的线,只要地址线和数据线不混淆。那么随便怎么接都可以,地址线的顺序、数据线的顺序,都可以乱。 这样的好处,就是可以方便布线,如果一定要一一对应的接,那么布线就麻烦一点了。