0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在windows CE系统中sDRAM硬件连接方案的介绍

电子设计 作者:电子设计 2018-11-20 08:38 次阅读

随着嵌入式产品的发展,各种嵌入式操作系统,以及嵌入式上层应用软件层出不穷。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息

1 随机存储器介绍

随机存储器主要分为静态随机存储器(SRAM)、动态随机存储器(DRAM)及SDRAM。1个SRAM单元通常由4~6个晶体管组成,当这个SRAM单元被赋予O或者1的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。SRAM的读写速度相对比较快,而且比较省电,但是存储1 b的信息需要4~6只晶体管。DRAM和SDRAM必须在一定的时间内不停地刷新才能保持其中存储的数据,但存储1 b的信息只要1只晶体管就可以实现。RAM(随机存取存储器)RAM -random access memory 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。

2 硬件设计方案

2.1 SDRAM工作原理

SDRAM本身是由多个Bank区域构成,对SDRAM的操作实际上是通过区域片选信号对单独Bank进行的操作。SDRAM中单个Bank的读取过程如图1所示。

在windows CE系统中sDRAM硬件连接方案的介绍

(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所示。

在windows CE系统中sDRAM硬件连接方案的介绍

其中每块区域所能支持到的最大物理地址为64 MB。并且每一块内存区域均可使用16 b或32 b的SDRAM。

在硬件设计过程中考虑到硬件使用的可调节性,采用8片16 b×4 MB×4 Bank的SDRAM,共搭建了256 MB的极限存储空间。其中,SDRAM选择型号为三星公司的K4S561632E。

2.2.2 数据线、地址线的分配

PXA255处理器共有32位数据线和26位地址线。故在硬件设计时需要并行处理2块16 b的SDRAM,分别连接高位和低位的16根数据线。

对于地址线的连接,首先需要参考SDRAM的数据手册,确定SDRAM行列地址线的个数。其次根据处理器数据手册确定具体地址线的连接方式。

在三星K4S561632E的数据手册中是这样给出的,如表1所示。

在windows CE系统中sDRAM硬件连接方案的介绍

从表1中可以得出行列复用13根地址线,其中行地址13根,列地址9根,共组成22根地址线的寻址空间。在处理器PXA255中,给SDRAM分配的地址线空间是从A10~A22。这样就可以完全确定地址线和数据线的连接方式,如图3所示。

在windows CE系统中sDRAM硬件连接方案的介绍

2.2.3 控制信号线的连接方式

对于SDRAM需要确定的控制线包括时钟信号线、区域片选信号线及Bank片选信号线。对于这三类信号线PXA255处理器是这样给出的,即:

(1)每两组内存区域使用同一组时钟信号线,即每128 MB的内存空间使用同一根时钟信号线,故在设计中使用了2组时钟信号线。

(2)共有4根区域片选信号,分别控制64 MB的物理地址空间。最大支持到256 MB的物理地址空间。

(3)地址线的23,24位用来实现对SDRAM内部Bank的选择。

2.3 硬件的移植

针对于PXA27x系列的高端处理器,Intel并没有对SDRAM部分做本质上的改动,仍然是4根动态片选信号,故硬件方面的设计可以完全移植到PXA27x系列的处理器中。

3 软件设计方案

Windows CE操作系统下对内存的驱动代码主要分为两个部分,首先在BootLoader中对SDRAM进行底层初始化;其次在系统BSP包内需要将SDRAM所对应的物理地址映射为Windows CE下能够识别的虚拟地址。

控制线的连接方式如图4所示。

3.1 BootLoader代码的买现

BootLoader是系统运行的起始点,它包含着系统运行的第一行代码。BootLoader本身也是一个功能完整的微型操作系统,在内部需要实现任务调度、内存管理、文件系统,以及各种必要设备驱动程序的配置。控制线的连接方式如图4所示。

(1)频率设置

在windows CE系统中sDRAM硬件连接方案的介绍

在windows CE系统中sDRAM硬件连接方案的介绍

完成寄存器的复值,其中r3的选择为F即就是0x1111,打开4片内存区域。

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

在windows CE系统中sDRAM硬件连接方案的介绍

目前公认的标准是,存储体中电容的数据有效保存期上限是64 ms,也就是说每一行刷新的循环周期是64 ms。这样刷新速度为:64 ms/行数量。由于行地址有13位(在MDCNFG寄存器的DRACO[1:0]中设置,需要与硬件一致)。

在windows CE系统中sDRAM硬件连接方案的介绍

(4) 潜伏期的设置。潜伏期是指SDRAM在读写过程中所存在的延迟,潜伏期的时间长度是由以下几个参数共同决定的:

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

所有参数可以从SDRAM数据手册得到,计算出理论潜伏期时长为200/μs。

在windows CE系统中sDRAM硬件连接方案的介绍

(5)其他设置

在windows CE系统中sDRAM硬件连接方案的介绍

设置操作系统的入口点,这里用到的虚拟地址需要与系统中建立的映射表相对应。

3.2 BSP内代码的实现

Windows cE系统启动中,对SDRAM的操作分为两个部分:首先对SDRAM的物理空间进行分配;其次将SDRAM所对应的物理地址转换为虚拟地址。

3.2.1 地址的分配

地址的分配和系统加载的顺序有着密切的关系。首先要在内存中开辟一段空间用来存放启动代码BootLoader,它被存放在sDRAM的第一个区域空间内。当发生外部复位中断时系统会从这里重新开始运行。其次分配操作系统内核空间,它被存放在SDRAM的第二个区域,以便使BootLoader能够顺利加载操作系统内核。

3.2.2 地址的映射

在操作系统中,需要把SDRAM的空间连续起来并作为首地址,不仅方便内存管理,而且当应用程序申请大块内存时,操作系统内核也可方便的分配。这就引入了将不连续的物理地址空间映射为连续的虚拟地址空间。PXA255的SDRAM起始物理地址OxA0000000,可将其映射为0x80000000,这里0x80000000将作为系统虚拟空间的起始地址,当有IRQ中断发生时,系统PC指针会重新指向这个地址。

在windows CE系统中sDRAM硬件连接方案的介绍

3.2.3 软件的移植

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

4 结 语

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5074

    文章

    19039

    浏览量

    303680
  • WINDOWS
    +关注

    关注

    3

    文章

    3526

    浏览量

    88468
  • 操作系统
    +关注

    关注

    37

    文章

    6748

    浏览量

    123210
收藏 人收藏

    评论

    相关推荐

    嵌入式操作系统Windows CE研究

    操作系统核组件、OEM 适配层(OEM Adaptation Layer ,OAL) 和设备驱动程序以及组成系统硬件设备组成,图1为基于Windows
    发表于 09-24 16:26

    Windows CE 5.0系统级开发介绍

    程是Windows CE 5.0系统级开发介绍,内容包括Windows CE 5.0操作
    发表于 09-23 14:41

    Windows CE模块和组件概述

    ;Hitachi(日立)SH3;AMD和Intel x86 (486及以上)。模块操作系统,其中有一些零散的模块通过内置程序支持通讯、Windows CE外壳、驱动硬件设备驱动Win3
    发表于 04-15 14:29

    怎么不同的硬件设备上实现Windows CE的驱动开发?

    操作系统产品。可以看出Windows CE并不是Windows桌面操作系统的一部分或缩减版本。CE
    发表于 03-17 06:55

    嵌入式存储器的应用:sDRAM硬件连接方案以及软件接口的实现

    表。4 结 语介绍嵌入式Windows CE系统平台上,使用大容量SDRAM作为动态存储设备
    发表于 08-12 00:00

    Windows CE板卡支持包介绍

    Windows CE板卡支持包用于netX的Windows CE 镜像带有一个周期为120天的免费测试版。板卡支持包需要通过专用的驱动创建自己的镜像。其中包括
    发表于 04-11 08:50 27次下载

    基于Windows CE.NET下的GPRS模块的研究与开发

    根据Windows CE.NET嵌入式系统的特点以及GPRS无线通信的工作原理,设计了一个Windows
    发表于 08-10 08:25 34次下载

    嵌入式操作系统Windows CE的研究

    Windows CE是适合嵌入式应用的操作系统介绍Windows CE嵌入式
    发表于 08-15 11:19 15次下载

    Windows CE.Net下基于流驱动的AD驱动设计与实现

    驱动程序是连接操作系统硬件的桥梁。文中作者主要讨论Windows CE.Net 操作
    发表于 08-25 09:18 19次下载

    基于S3C2440A处理器的Windows CE系统快速启动方案

    如何快速启动Windows CE系统是一个很重要的内容。本文将基于三星公司的S3C2440A处理器和Windows CE
    发表于 04-11 11:38 1804次阅读
    基于S3C2440A处理器的<b class='flag-5'>Windows</b> <b class='flag-5'>CE</b><b class='flag-5'>系统</b>快速启动<b class='flag-5'>方案</b>

    Windows CE下GPS与PDA串行通信的实现

    论述了 Windows CE 嵌入式系统,利用串口实现GPS 和 PDA 通信的方法;简要介绍
    发表于 06-27 15:51 32次下载
    <b class='flag-5'>Windows</b> <b class='flag-5'>CE</b>下GPS与PDA串行通信的实现

    Windows CE.NET嵌入式系统的应用

    介绍了Microsoft 公司最近推出的嵌入式实时操作系统 Windows CE. NET 的功能模块和新增特性。该系统能够根据
    发表于 07-16 11:40 44次下载

    Windows CE平台上开发采集板驱动程序

    Windows CE 是一个新的、待深入开发的操作系统能够适应广泛的系统需求最新一代的工业和家用电子设备
    发表于 04-18 10:02 0次下载

    基于OMAP5910芯片Windows CE系统的WCDMA移动

    文章主要探讨了如何基于OMAP芯片并采用Windows CE嵌入式操作系统来实现WCDMA移动终端的设计。在对OMAP芯片、OMAP软件架构和Windows
    发表于 04-18 10:28 5次下载

    Windows CE下实现串口通信

    文章首先简单介绍WIndows CE下设备驱动程序的访问 方式, 然后详细介绍
    发表于 04-18 14:12 6次下载