SDRAM控制细节理解求助

2019-07-16 09:12发布

tica, Tahoma, Arial, sans-serif">我目前用的是TQ210 S5PV210 cortexA8做开发.学到SDRAM控制器那一节,有好多问题都没有弄懂.尤其是三星的资料,SDRAM的资料给的都好蛋疼...细节都没说清楚...所以来此求助希望大神能帮忙
片上用的是8片128MB SDRAM K4T1G084QQ, 8bit, 每4个串联构成一个32bit芯片.
问题如下:
1.PHYCONTROL0寄存器到底是做什么用的?尤其是.ctrl_inc位和.ctrl.start_point... 很多资料上说,因为芯片手册上说应该填0x10,所以填0x10,既然芯片都能决定填什么干嘛还需要用户填?这个寄存器到底控制的是什么东西? PHY是神马的缩写?

2.DMC0_MEMCONFIG0 这个寄存器的.chip_map位是做什么的?我看例程上面把这一位设置成0x1 Interleaved,是什么意思?

3.芯片是把地址线公用给4个内存芯片,然后32bit的数据线分别接到4个芯片的8bit上. 那么这样难道不会出现一个地址就代表了32bit的数据么?比如地址线如果是0x00000001,会分别从4个芯片的0x00000001地址上取出8个bit数据,凑在一起成为32bit, 那么地址0x00000002也会是32bit...但是CPU的地址一个地址对应的是8bit啊....这个是怎么解决的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
mantianyu
2019-07-16 13:46
给出一个 32 位地址后, 首先内存控制器会对这个地址解码, 将它解析到相应的物理 bank 上去, 拉低相应的片选信号, 这个 32 位地址也会被分割成行地址和列地址.

以你的例子来说, 行地址会一次选中这 4 个内存芯片中的一行存储单元 (每个存储单元是 8bit, 这一行可能有成千上万个), 然后在用列地址选出最终的 4 个存储单元 (在 4 个内存芯片中各取一个) 组成 32 位数据返回给 CPU.

一周热门 更多>