摘 要:扩大同步动态随机存储器(SDRAM)的容量是提升嵌入式产品性能的关键问题。这里基于Intel公司的PXA255处理器提出一种大容量sDRAM的硬件设计方法,并在微软提供的板级支撑包(BSF’)的基础上编写了一套在win—dows CE嵌入式操作系统下支持此硬件设计的驱动程序。该方法不仅在本平台上取得了较好的结果,且可以移植到Intel更加高端的27x系列处理器中,为嵌入式系统产品具备大容量内存提供了方法。
关键词:WindoWs CE;动态随机存储器;启动程序;地址映射
随着嵌入式产品的发展,各种嵌入式操作系统,以及嵌入式上层应用软件层出不穷。这就对大容量SDRAM的需求日益增强。目前用于嵌入式产品中的存储器主要有FLASH和SDRAM。FLASH作为静态存储器,被应用于存放启动代码和操作系统内核,SDRAM作为动态存储器,被应用于存放实时更新的数据信息。在此,采用Intel的PXA255处理器。使用32 MB的NOR FLASH作为放置启动代码和操作系统的静态存储空间,使用256 MB的SDRAM作为动态存储空问,使用2 GB的CF卡作为应用程序和数据的存储空间,并与液晶显示屏、音频、触摸一起构成一个功能强大的嵌入式体系。
1 随机存储器介绍
随机存储器主要分为静态随机存储器(SRAM)、动态随机存储器(DRAM)及SDRAM。1个SRAM单元通常由4~6个晶体管组成,当这个SRAM单元被赋予O或者1的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。SRAM的读写速度相对比较快,而且比较省电,但是存储1 b的信息需要4~6只晶体管。DRAM和SDRAM必须在一定的时间内不停地刷新才能保持其中存储的数据,但存储1 b的信息只要1只晶体管就可以实现。在数据读写的过程中,SRAM,DRAM及SDRAM均有不同的工作方式。DRAM和SDRAM相对于SRAM增加了多路寻址技术,即利用2个连续的周期传输地址数据,达到使用一半的地址线,以完成SRAM同样功能的目的。SDRAM相对于DRAM不仅提出了多Bank的工作模式,并且SDRAM与CPU和芯片组共享时钟,芯片组可以主动地在每个时钟的上升沿发给sDRAM控制命令。
2 硬件设计方案
2.1 SDRAM工作原理
SDRAM本身是由多个Bank区域构成,对SDRAM的操作实际上是通过区域片选信号对单独Bank进行的操作。SDRAM中单个Bank的读取过程如图1所示。
(1)通过地址总线将行地址传输到地址引脚;
(2)RAS(行地址使能信号)被激活,这样行地址被传送到行地址门闩线路中;
(3)行地址解码器根据接收到的数据选择相应的行;
(4)wE(写使能信号)引脚确定不被激活,所以SDRAM知道它不会进行写操作;
(5)列地址通过地址总线传输到地址引脚;
(6)CAS(列地址使能信号)引脚被激活,这样地址被传送到列地址门闩线路中;
(7)DQM(输出使能)引脚被激活,数据向外输出。
这就完成了一个单Bank的读操作,在读取数据的过程中行列地址的寻址过程是通过两个时钟周期实现的,在第一个时钟周期使能行地址,下一个时钟周期使能列地址,这就实现了地址线的复用。
SDRAM写入的过程和读取过程是基本一样的,只需要将wE信号激活。
2.2 硬件设计
对于SDRAM的硬件设计需要确定3个方面的内容:通过处理器的特性选择SDRAM的型号;确定SDRAM地址线、数据线的连接方式;确定SDRAM控制信号线的连接方式。
2.2.1 SDRAM的选择
该平台处理器选择Intel公司XSCALE架构的PXA255,它针对于SDRAM有4根专用的动态片选信号,能够支持4块内存区域,如图2所示。
其中每块区域所能支持到的最大物理地址为64 MB。并且每一块内存区域均可使用16 b或32 b的SDRAM。
在硬件设计过程中考虑到硬件使用的可调节性,采用8片16 b×4 MB×4 Bank的SDRAM,共搭建了256 MB的极限存储空间。其中,SDRAM选择型号为三星公司的K4S561632E。