嵌入式:当SDRAM存储宽度分别为8.16.32时与控制器的地址线接线

例:一个SDRAM应该与SDRAM控制器的地址线相连。当这个SDRAM存储宽度分别为8.16.32时的接线情况。

8位时sdram的A0接控制器的A0

16位时sdram的A0接控制器的A1

32位时sdram的A0接控制器的A3

原理:

当cpu想要获取sdram中的数据时,需要先通过sdram控制器从而进行对sdram的访问,如过cpu想要访问0x0000这个地址中8位的数据,实际上是把这个指令发送给控制器的。如果sdram的位宽为16,控制器会把16位数据都拿过来,它选择其中的8位返回给CPU。

一个地址中的数据为一个字节8位,假设字节是读取数据时最小的单位。

当sdram宽度为16.

在A0---A0  A1---A1  A2---A2  A3---A3接线时,当cpu想要0x0000这个字节的数据时会获得sdram的0x0000数据,并且取低8位给cpu,此时没有问题。当cpu想要获得0x0001这个字节的数据时会获得sdram的0x0001数据。但是这样其实是错误的,因为sdram为16位0x0000高8位就没有任何用处了,

所以理想状态应该是当cpu想要0x0000这个字节的数据时会获得sdram的0x0000数据,并且由控制器取低8位给cpu,当cpu想要获得0x0001这个字节的数据时会获得sdram的0x0000数据并且由控制器取高8位给cpu。

那么想要达到这种效果,将sdram的A0接到控制器的A1即可。这也当cpu想要读取0x0000的时候,sdram收到的地址是0x000,当cpu想要读取0x0001的时候,sdram收到的地址还是0x000。

同理如果sdram宽度为32位,将sdram的A0接到控制器的A2即可。这也当cpu想要读取0x0000到0x0011时sdram收到的地址是0x00

如果sdram宽度为64位,将sdram的A0接到控制器的A3即可。这也当cpu想要读取0x0000到0x0111时sdram收到的地址是0x0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丈原

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值