μClinux下SDRAM数据交换区生成和使用

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍μClinux下SDRAM数据交换区生成和使用

  与Flash存储器相比较,SDRAM不具有掉电保存数据的特性,但其存取速度大大高于Flash存储器,且具有读/写的属性。因此,SDRAM在系统中主要用于程序的运行空间、数据交换区及堆栈区。当系统启动时,CPU首先从复位地址0x0处读取启动代码,在完成系统初始化后,程序代码一般应调入SDRAM中运行 ,以提高系统的运行速度,同时,系统及用户堆栈、运行数据也都放在SDRAM中。SDRAM具有单位空间存储容量大价格便宜的优点,已广泛应用在各种嵌入式系统中。SDRAM的存储单元可以理解为一个电容器,总是倾向于放电,为避免数据丢失,必须定时刷新(充电)。

  嵌入式工业网络服务器项目中的数据交换区根据数据交换匹配置文件生成。向上负责与客户端交互现场设备数据,向下负责与接口缓冲区交互设备实时数据。每个SDRAM由4M×16bit的内部Bank组成,这个Bank的选择由SDRAM外部引脚BA0和BA1来完成,笔者将BA0和BA1都连接在Cold Fire 5307的高端地址线上;其他信号和Cold Fire 5307都一一对应。UDQM和LDQM是SDRAM的高低字节片选信号,因为每个SDRAM都是16位架构,所以将二片SDRAM拼成32位时,除数据线和这二个片选信号之外,其他信号线对二个SDRA来说都是共用的。这二个信号分别接Cold Fire 5307的CAS0、CAS1和CAS2、CAS3。SDRAM与MCF5307的连接如图1所示。

  Cold Fire 5307可以支持二个Bank的SDRAM,在本系统中只使用了第一个Bank,另外一个Bank的控制信号悬空不使用。其中,SDRAM和FlashRom以及其他外设一同使用32位数据总线D0-D31;SDRAM映射到内部物理地址,但是因为SDRAM的特殊性,并不需要所有的地址线信号A0-A31,而是使用其中一部分信号线,这个地址映射的工作由DRAM控制器来完成;RAS0-RAS1是Bank片选信号,本设计中只使用RAS0来片选所使用的SDRAM Bank;CAS0-CAS3是SDRAM 32位数据线中4个8位数据线(Byte)独立的片选信号;SCAS和SRAS分别是SDRAM的行、列地址锁存信号;DRAMW是DRAM写信号;BCLK0是系统时钟输出,连接到SDRAM的时钟输入引脚CLK端;SCKE是SDRAM时钟使能信号,来使能输入给SDRAM的时钟信号,高电平时SDRAM自动进入休眠状态。

来源:21IC    责编:豆豆技术应用

正在加载评论...