历史上的今天
返回首页

历史上的今天

今天是:2025年04月18日(星期五)

正在发生

2020年04月18日 | 2440裸机-12-1内存控制器与SDRAM_内存接口

2020-04-18 来源:eefocus

1.内存接口介绍

1.1.内存控制器的引入

1.1.1 引入


2440是一个SOC,其中外设分为多种类型:


门电路类:GPIO

协议类接口: UART I2C SPI

内存类设备:nor flash ,SDRAM,NET DM9000

但是对于CPU来说,并不直接控制外设,只需要将值写给相关外设模块的寄存器,CPU通过地址来区分不同的寄存器,因此就需要引入另一个控制单元——内存控制器。

在这里插入图片描述

除NAND外,以上外设都是CPU统一编址。

NAND FLASH和外接的存储器不是同一类型的,片内有一个专门的NAND控制来对外接的NAND FLASH硬件进行控制,所以NAND FLASH又属于另外一部分。

nand启动时,cpu认为的0地址是片内内存;nor启动时,cpu认为的0地址是nor flash.


1.1.2 作用

根据CPU发出的地址来选择不同的模块,把数据发送给模块,或者取出数据并且返回给CPU。


1.2.内存接口

通常ARM芯片内置的内存很少,要运行Linux,需要扩展内存。ARM9扩展内存使用SDRAM内存,ARM11使用 DDR SDRAM。S3C2440通常外接32位64MBytes的SDRAM,采用两片16位32M的SDRAM芯片,SDRAM芯片通过地址总线、数据总线、若干控制线与S3C2440芯片相连。


特性:

支持大/小端(通过软件选择)

每个BANK的地址空间为128M,总共1GB(8 BANKs)

可编程控制的总线位宽(8/16/32bit),不过BANK0只能选择两种位宽(16/32bit)

总共8个BANK,BANK0-BANK5可以外接ROM,SRAM等,BANK6-BANK7除可以支持ROM, SRAM外还支持SDRAM等

BANK0-BANK6共7个BANK的起始地址是固定的

BANK6,BANK7的地址空间大小是可编程控制的

每个BANK的访问周期均可编程控制

在外接SDRAM时,支持自刷新和省电模式


1.CPU发出的信号并不会直接输出到外部电路去,但是凡事都有例外,例如内存接口

2.对于内存接口,CPU发出的地址可以直接传给内存类设备(NOR,网卡,内存)

3.在内存芯片上有地址总线,数据总线,可以直接接收CPU发出的地址,数据

4.对于内存类设备会共用地址总线,因此引入片选引脚cs(chip select)以此可以得以区分当前地址线和数据线的外接模块。

5.只有当某个片选引脚输出低电平是对应的设备才被选中,可以向CPU提供数据


1.2.1 片选引脚

在这里插入图片描述

1.2.2 谁来控制片选引脚?

(CPU只发出地址信号)

内存控制器根据CPU发出的地址来决定发出不同的片选信号,不需要再人为的去控制引脚。

地址与片选信号关系如下图:

在这里插入图片描述

1.2.3 如何确定数据传输方向

对于SDRAM、DM9000、NOR芯片上都有读写信号来表示数据传输方向.

外接存储器处于写入或读取状态,要根据外接存储器的特性进行对引脚的操作,有的需要一个根W引脚,一个R引脚,有的只需要一根引脚控制W/R。


1.2.4 关于32位CPU的疑惑

其中每块地址范围为128M=2^27,因此至少需要A0,A1-A26,共27条地址线,但是cpu是32位的,却只用了27条地址线?


CPU发出32位的addr给内存控制器,内存控制器再来发出片选信号和addr0-addr26的地址信号.


CPU确实发出了32位的地址,但是内存控制器只用到了0-26.


1.2.5 特殊的NAND

对于GPIO、UART、I2C、SDRAM、DM9000、NOR都是CPU统一编制的,但是对于NAND原理图如下:

在这里插入图片描述

并没有地址总线,不属于CPU的统一编址,


但是Nand的数据信号仍然接到总线上,因此肯定会有片选信号,NAND的片选信号来自于NAND FLASH控制器发出


2 其他

SRAM 静态随机存储器

SROM 静态只读存储器

RAM 随机存储器

ROM 只读存储器

DRAM 动态随机存储器

SDRAM 同步动态随机存储器

NOR FLASH, NAND FLASH 非易失闪存技术

推荐阅读

史海拾趣

Fenghua (HK) Electronics Ltd公司的发展小趣事

为了降低成本、提高生产效率,Fenghua (HK) Electronics Ltd不断优化供应链管理。公司与供应商建立了长期稳定的合作关系,实现了原材料的及时供应和成本控制。同时,公司引入了先进的生产管理系统,对生产过程中的各个环节进行精细化管理,确保了产品质量的稳定性和一致性。

Fong Ya Enterprise Co Ltd公司的发展小趣事

作为一家有社会责任感的企业,Fenghua (HK) Electronics Ltd积极履行社会责任,关注环保和公益事业。公司采用了环保材料和节能技术,降低了生产过程中的能耗和排放。同时,公司积极参与社会公益活动,为当地社区和教育事业做出了积极贡献。这些举措不仅提升了公司的社会形象,也为企业的可持续发展奠定了坚实基础。

请注意,以上故事框架仅供参考,你可以根据Fenghua (HK) Electronics Ltd公司的实际情况和发展历程进行进一步的拓展和完善。

GradConn Ltd公司的发展小趣事

GradConn始终将技术创新作为公司发展的核心驱动力。公司拥有一支专业的研发团队,致力于开发新型连接器和电缆组件,以满足不断变化的市场需求。同时,GradConn的所有工厂均通过了ISO 9001:2015和ISO 14001:2015等国际质量管理体系认证,确保了产品的高质量和环境友好性。这些认证不仅提升了GradConn的品牌形象,还为其在全球市场上赢得了更多客户的信任和支持。

Hong Kong X'Tals Ltd公司的发展小趣事
选择合适的电阻和电容,以确保定时精度和电路稳定性。同时,注意元件的温漂和老化对定时时间的影响。
Edsun Laboratories Inc公司的发展小趣事

在竞争激烈的电子行业中,品质是企业生存和发展的关键。ECM Electronics Limited.深知这一点,始终将产品质量放在首位。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测、包装等各个环节都严格把关,确保每一件产品都符合高标准的质量要求。正是凭借过硬的产品品质,ECM赢得了客户的信赖和市场的认可。

FILTRONIC公司的发展小趣事

FILTRONIC深知技术创新是企业持续发展的动力源泉。因此,公司不断加大研发投入,建立了先进的研发中心和实验室,吸引了一批高素质的研发人才。通过持续的技术研发,FILTRONIC在滤波器技术、射频技术、天线技术等领域取得了多项重要突破,推出了多款具有自主知识产权的新产品。这些新产品的推出不仅进一步巩固了FILTRONIC在市场中的领先地位,也为公司的未来发展注入了新的活力。

问答坊 | AI 解惑

USB转打印口CH341的WINDOWS驱动程序

USB转打印口CH341的WINDOWS驱动程序…

查看全部问答>

LCD图形显示_菜单管理_PCF8583_TWI_SPI所有C代码公开

现将2006在一家公司做的一个产品的仿真部分所有源码资料公布,供大家学习和参考!包括参菜单管理算法。菜单翻页可像手机菜单一下,可滚动翻页,并有进度条指示。另还有TWI读写PCF8563的程序。不多说大家看看就知道。以前只公布过protues和hex,反映 ...…

查看全部问答>

发一个外包项目贴!请有实力有精力的工程师速与我联系!!斑竹请鼠标下留帖!先谢谢啦

2440手持机外包项目: 1、背光驱动 2、电源管理 3、自定义键盘驱动 4、LP3913驱动 5、EEPROM驱动 6、NANDFLASH分区及海量存储 注意:目前BSP为WINCE42下的 要求: 有实力做出以上6个驱动(具体详见需求) 时间价钱面议 地点限北京 QQ: ...…

查看全部问答>

CPU设计小组加盟帖

  关于组织设计一款CPU的群。   群号码:4751106.…

查看全部问答>

大家有没有用过profilestart和profilestop?

我想测试一个程序的效率, 我有通过pb平台测试这个效率(如果没有嵌入到这个平台中,它不会显示这个程序的名字,取代的是unknown),但就是要在pb中output输出结果(定制平台时加入了我的程序). 1.怎么把unknown变成我们进程名称 2.我想把它的结果存在 ...…

查看全部问答>

在DDK里,哪个函数可以修改文件的属性

在DDK里,哪个函数可以修改文件的属性…

查看全部问答>

散分!终于明白AHDL和VHDL的语法了!!

散分!终于明白AHDL和VHDL的语法了!! AHDL和VHDL是一种接口描述语言。不是计算语言。也不是逻辑设计语言。 至于可以用软件生成芯片逻辑。那要看软件功能了。硬件的逻辑结构是你的设计是你个人的艺术。…

查看全部问答>

关于使用STM32F103xx用作USBHID设备时的问题

我使用stm32F103RBT6,用来作一个读卡器。发现报告描述符的配置会影响产品的适应性。我开始时把报告描述符中的输入输出报告长度定义为64字节,基本上在所有电脑上都能正确识别,并能正确操作。但为了提高传传输速度,我把输入和输出的报告长度 ...…

查看全部问答>

关于例化引用问题,求助

大虾们好! 俺们菜鸟,下面的例化引用好像有问题,请救救俺们吧   reg clkb,rdb,wrb;reg [11:0]datab;wire[11:0]qb;assign qb = ( channelout == 0 ) ? q0 : (( channelout == 1 ) ? q1 : (( channelout == 2 ) ? q2 :(( channelout == 3 ...…

查看全部问答>