在嵌入式里面所谓内存类接口有SDRAM接口,NORFLASH接口,DM9000网卡接口等 ,他们都有一个共同点就是可以直接连S3C2440内存控制器,数据总线,地址总线;这三者缺一不可。
内存类接口可以通过地址直接访问内部数据,当然他们都有自己的一段可访问的地址范围。S3C2440将其1G地址空间划分为8个bank,每个bank有128M,所以芯片提供了8个片选信号线,每个片选信号线对应一个bank,一个片选信号连接一个设备,所以每个设备可访问的地址的范围是128M空间,128M=2的27次方个字节,所以芯片上面的地址线只有27跟,最大只能到A26。理论上32位的CPU应该有32跟地址线,因为最大可以到0xffffffff=2的32次方=4G,但S3C2440的设计只有1G的地址空间,其他的都保留了,这1G的空间又被砍成了8块,所以每块就只能分得128M=27跟地址线的操作空间,也可以以这么理解:这8个片选信号在芯片内部通过A27-A29这三根地址信号经过3-8译码器译码所得。
S3C2440有两种启动方式:NOR和NAND方式;
如果是NOR启动,那么NORFLASH的片选必须接CS0片选,因为系统启动是从0地址开始执行的;这种方式下里面的内部4K sram可用作其他用途,其起始地址为0x40000000。
如果是NAND启动,那么CS0片选则不能接其他设备,因为这个时候BANK0的地址已经被SRAM映射了。
再来看BANK67,这两个块芯片规定给内存使用的,每个可以放128M,连起来最多可以放256M的内存,而且BANK6跟BANK7的内存大小必须一样,因为扩充一个BANK,芯片内部必须加一根地址线去访问,所以内存必须是相同的。
其他的BANK1-5都随便放什么设备了,比如网卡。
当我们需要操作在某个bank里面的地址空间的时候,内存控制器对这个bank对应的cs信号线自动使能的,不需要软件单独去使能的(不像操作IIC总线外设的CS信号)。
这里以SDRAM为例讲讲原理:
这里有两个芯片,有数据总线,地址总线和存储控制信号线;
先看数据总线可以知道,每个芯片占16BIT,所以可以知道他们分别存放32BIT数据的低16位和高16位。
再来看地址线,控制器的A2地址接存储芯片的A0地址,为什么存在这种不对应性?
因为CPU认为1个地址对应1个字节,而这个图里面的一个SDRAM 1个地址对应的是16BIT,两个SDRAM加起来就是32BIT,所以一个地址对应4个字节;从图上可以看出2440地址最小接A2,所以每加一个地址就可以滚动4个字节,而存储器上前面分析了每加一个地址滚动4个字节,这样才能对应起来。所以32BIT设备的最小操作单位是4个字节,不管是读还是写,但是SDRAM不同于其他设备,他通过DQM信号线的控制,DQM就是掩码控制位,在sdram中每个DQM控制8bit Data,在读操作的时候没什么大的影响,比如读32位的sdram module,但只要其中低8bit的数据,没有关系,只要读出32bit数据,再在软件里将高24位bit和0“与”就可以了,有没有DQM关系不大,但在执行写操作时如果没有DQM就麻烦了,可能在软件上是写一个8bit数据,但实际上32根数据线是物理上连接到SDRAM的,只要WR信号一出现,这32位就会写sdram中去,高24bit数据就会被覆盖。通过使用DQM就可以将其对应的8bit屏蔽,不会因为写操作而覆盖数据了。这样就达到读写一个字节数据的目的了。而NORFLASH就没有这样的接口,所以他不能像SDRAM一样写数据,要写数据必须先读出来,再修改,再写进去。
再来看下为什么BA0与BA1为什么接CPU A24,25?
可以直接去看S3C2440的芯片手册告诉我们怎么接,但原理都是一样的;这个SDRAM的大小是32M,前面分析了一个BANK是128M,最大地址线可到A26,那么A25是64M,A24是32M,依此类推,我们这里挂了两块SDRAM,总大小64M,所以最大地址线是A25,然后是A24,连上BA0,BA1刚好对应这两根地址线的00 01 10 11可以控制SDRAM的4个块(最大单位),其他行列信号由低位地址线去控制了,行列地址线是共用的,通过RAS与CAS区别。
如果我们知道了行列的地址线宽,是否能算出SDRAM的存储大小?
我们使用的是16MX16的SDRAM,所以行地址有13跟,列地址有9跟,共22跟,这里2的22次方=4M 字节,然后还有A24与A25两根控制4个块,就有4Mx4=16M地址空间,再看数据总线16BIT,一个地址访问两个字节,所以就有16MX2个字节=32M 字节。
上一篇:S3C2440 从NANDFLASH启动的设计原理与过程
下一篇:学习笔记--- S3C2440 对NANDFLASH操作原理与测试代码分析
推荐阅读最新更新时间:2024-11-22 14:23
设计资源 培训 开发板 精华推荐
- LT1021CIN8-10 以 5V 电源工作在 5V 基准电压源的典型应用
- OP284EPZ 3V 单电源、50Hz 至 60Hz 有源陷波滤波器和假接地的典型应用
- LTC3567EUF 演示板、高效 USB 电源管理器以及具有 I2C 控制的 1A 降压-升压转换器
- DC2358A,使用 LTM8068 2kVAC 隔离反激模块和 LDO 的演示板,4.5V = VIN = 40V,Vout1 = 5.6V @ 高达 460mA,Vout2 = 5V Post-Reg LDO
- DC1016A-A,用于 LT6557、5V 三路高速视频放大器的演示板
- DC1989B-B,基于 LTM4676AEY 双路 13A 或单路 26A 稳压器的演示板,具有数字电源系统管理 3× LTM4676A @ 75A
- 具有跟踪功能的 LTM4650AEY 2.5V 和 3.3V 输出的典型应用电路
- 远程开机卡
- REF195 精密微功耗、低压差电压基准的典型应用
- 使用 NXP Semiconductors 的 MC13892VK 的参考设计
- 【世健的ADI之路主题游】 第三站:了解物联网前沿器件与方案,打卡赢Kindle、《新概念模拟电路》
- 报名STM32全国巡回研讨会,打卡轻松得ST开发板
- “泰”想开车 智能篇:智能网联汽车,实现无忧驾驶
- 答题赢好礼|以人为本、生命无价 ADI 楼宇烟雾探测技术
- 下载信息娱乐系统精品文章,赢【米家台灯、小米保温杯、米家蓝牙温湿计】,开启MPS汽车技术进阶之旅!
- 借助 TI 工业应用参考设计,加快产品上市时间
- 直播已结束|贝能国际新型玻璃破碎检测方案
- 【EEWORLD第十届社区明星人物】12月明星人物
- 【已结束】PI 直播【适合工业市场辅助电源的碳化硅和氮化镓 IC】(9:30入场)
- NI labview、CompactDAQ技术集锦