新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 大容量SDRAM在windows CE系统中的应用设计

大容量SDRAM在windows CE系统中的应用设计

作者: 时间:2009-05-22 来源:网络 收藏

(3) 刷新间隔设置。关于刷新间隔值(DIR)的计算在手册中是这样给出的:

本文引用地址://www.cghlg.com/article/152475.htm


目前公认的标准是,存储体中电容的数据有效保存期上限是64 ms,也就是说每一行刷新的循环周期是64 ms。这样刷新速度为:64 ms/行数量。由于行地址有13位(在MDCNFG寄存器的DRACO[1:0]中设置,需要与硬件一致),所以每行的的刷新时间为64 ms/213=64 ms/8 192=7.812 5/μs,则7.812 5μs×100 MHz/32=0x18,这样就得到了的DRI值。


(4) 潜伏期的设置。潜伏期是指在读写过程中所存在的延迟,潜伏期的时间长度是由以下几个参数共同决定的:
CL:在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过数据I/O通道(数据总线)输出到内存总线上。但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间被称为读取潜伏期。tRP:在发出预充电命令之后,要经过一段时间才能允许发送行有效命令打开新的工作行,这个间隔被称为预充电有效周期(Precharge command Period)。tRCD:在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为tRCD,即RAS to CASDelay(RAS至CAS延迟),也可以理解为行选通周期。tRAS:行有效至预充电命令间隔周期。tRC:包括行单元开启和行单元刷新在内的整个过程所需要的时间。
所有参数可以从数据手册得到,计算出理论潜伏期时长为200/μs。


(5)其他设置


设置操作的入口点,这里用到的虚拟地址需要与中建立的映射表相对应。
3.2 BSP内代码的实现
Windows cE系统启动中,对的操作分为两个部分:首先对SDRAM的物理空间进行分配;其次将SDRAM所对应的物理地址转换为虚拟地址。
3.2.1 地址的分配
地址的分配和系统加载的顺序有着密切的关系。首先要在内存中开辟一段空间用来存放启动代码BootLoader,它被存放在sDRAM的第一个区域空间内。当发生外部复位中断时系统会从这里重新开始运行。其次分配操作系统内核空间,它被存放在SDRAM的第二个区域,以便使BootLoader能够顺利加载操作系统内核。分配地址空间根据所建立系统内核来确定。剩余的内存空间用来存放系统下的程序。
3.2.2 地址的映射
在操作系统中,需要把SDRAM的空间连续起来并作为首地址,不仅方便内存管理,而且当程序申请大块内存时,操作系统内核也可方便的分配。这就引入了将不连续的物理地址空间映射为连续的虚拟地址空间。PXA255的SDRAM起始物理地址OxA0000000,可将其映射为0x80000000,这里0x80000000将作为系统虚拟空间的起始地址,当有IRQ中断发生时,系统PC指针会重新指向这个地址。需要注意的是这里分配的虚拟地址要与启动代码中BootLoader中所使用的虚拟地址对应起来。

3.2.3 软件的移植
针对于PXA27x系列的高端处理器,微软在Plat-Build 5.0中给出了相对应的内核代码虽然在内核代码的架构上有了很大的变化,但对于扩展SDRAM的思想并没有改变,首先在BootLoader中初始化所使用的SDRAM,其次在BSP内建立地址映射表。


4 结 语
介绍了在嵌入式Windows 系统平台上,使用SDRAM作为动态存储设备的方案。详细介绍了sDRAM硬件连接方案以及软件接口的实现。该方案已经在工程中投入使用,其可以在同类的嵌入式高端产品中推广使用。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭