处理器外接SDRAM的控制技术介绍

发布者:剑戟辉煌最新更新时间:2013-10-24 来源: eefocus关键字:处理器  外接SDRAM  工作频率 手机看文章 扫描二维码
随时随地手机看文章
  现代的处理器(SoC)或DSP都内建有内存控制器,它是外部SDRAM、FLASH、EEPROM、SRAM……等内存的控制接口。但不同处理器内部的内存控制方式都不尽相同,而且它们的控制程序大部分都位于开机程序内,皆属于汇编语言,所以常令人不知所云。

  SDRAM的规格

  现代的处理器并不需要额外的外部器件,就可以直接将外部内存连接至处理器的脚位上。但是,在选择SDRAM时,还是必须考虑下列几项因素:

  工作电压
最大的工作频率
最大的记忆容量
I/O大小和排数(bank number)
“列地址闪控(column address strobe;CAS)”的延迟(latency)
刷新(refresh)的速率
分页大小(page size)
初始化的顺序(sequency):可程序化的顺序是MRS=>REF(refresh)或REF=>MRS。

  上述参数都列在SDRAM规格中,它们必须能符合处理器内部的内存控制器之要求,惟有如此,才不需要额外的外部器件,否则就必须另外设计逻辑电路来衔接。在图1中,SDRAM-B无法符合ADSP-TS201S处理器的内存控制器的要求。因为SDRAM-B的“突发资料组之宽度(burst length)”是1,而不是“全分页”;而且SDRAM-B的分页大小是2048字组(word或16bits),但是ADSP-TS201S处理器最多只能支持1024字组。所以,相较之下,应该SDRAM-A才对。

  缓存器的设定

  与其它控制器一样,处理器内部的内存控制器也需要透过缓存器(register)去设定它的组态与功能。根据图1的规格,可以设定ADSP-TS201S处理器的“SDRAM控制缓存器(SDRCON)”。SDRCON缓存器的初始值是0,表示SDRAM是在禁能(disable)状态。图2是SDRCON缓存器的每个位的名称。

  1. 位0(SDRAM ENABLE):设为1时,表示有SDRAM存在。

  2. 位1~2(CAS LATENCY;CL):表示当读取(read)命令发出之后,至数据出现时之间的时间。它与写入作业无关。此值可以在SDRAM规格表中查到,如图3所示。假设外部总线速率是100MHz,则CL应设为2。有些SDRAM的时序参数(例如:CL、tRAS、tRP…..等)是根据不同的传输速率和速率等级(speed grade)而定的。

  3. 位3(PIPE DEPTH):当有数个SDRAM并排使用时,可能需要外部缓冲存储器(buffer),这时,此位必须设为1。不过,如果SDRAM脚位上的电容值远低于30pF,则此位可以设为0。

  4. 位4~5(PAGE BOUNDARY):分页边界,是用来定义分页的大小,单位是字组。此值与“列的地址(column addresses)”数目相等。图4是SDRAM-A的规格,从中可以查出:列地址的总数目是256(A0~A7),因此,分页大小是256。

  5. 位7~8(REFRESH RATE):这个值能决定处理器内部的刷新计数器(refresh counter)之值,好让处理器的速率能与外部SDRAM所需的刷新速率相配合。于图4中,刷新计数值是4K;而且在SDRAM规格中,会经常见到:64ms,4096 cycle refresh或者4096 cycles/64ms或15.6μs/row。刷新速率的计算公式是:cycles=SOCCLK×tREF/Rows,其中,SOCCLK是处理器的CPU速率,tREF是SDRAM刷新间隔(refresh period),Rows是行地址的位数目。假设SOCCLK等于250MHz,由上述公式可以求得刷新速率等于3900周期(cycles)。因此,实际的刷新速率必须等于或小于3900周期,但是ADSP-TS201S处理器的内存控制器最多只支持3700周期,所以此值要设定为3700。

  6. 位9~10(PRC TO RAS DELAY):此参数决定SDRAM的Precharge到RAS之间的延迟时间,也就是tRP,如图5所示。图6是SDRAM的时序规格范例,其中,传输率属-6等级者,它的最小tRP值是18ns,若使用100MHz速率,则至少需要1.8周期(100MHz×18ns=1.8)。因此,tRP应该设为2周期。[page]

  7. 位11~13(RAS TO PRC DELAY):此参数决定RAS到Precharge之间的延迟时间,也就是tRAS。如图6所示,最小的tRAS值是42ns,若使用100MHz速率,则至少需要4.2周期。因此,tRAS应该设为5周期。

  8. 位14(INIT SEQUENCE):它决定SDRAM于开机时的初始化程序。若此程序是:在开机后100μs内,至少必须执行一个COMMAND INHIBIT或NOP命令,之后,执行PRECHARGE命令,此时,SDRAM是处于闲置(idle)状态。然后,执行两个AUTO-REFRESH,再设定“模式缓存器(mode register)”。最后,才能执行读写作业。这表示此SDRAM的初始化时间至少需要:PRE+2×Autorefresh+MRS(mode register set)。

  9. 位15(EMR ENABLE):只有当连接至低功率(2.5V)的SDRAM时,才必须设定这个位值,否则保持0。

  当SDRCON缓存器按照上述规则被设定好之后,内存控制器将会发出MRS命令,对外部SDRAM进行初始化。

        设计程序

  了解了SDRAM规格与内存控制器的缓存器功能之后,接着就要设计SDRAM的初始化程序,其一般设计程序概述如下:

  1. 设定刷新定时器(refresh timer)的预分频(prescaler)参数:它决定刷新定时器的输入频率(input clock)。总线频率除以此参数(或者还要再加上一个正整数值)就等于刷新定时器。

  2. 设定刷新定时器的计时时间的长度(或刷新速率):亦即,设定刷新SDRAM暂存内容的时间间隔。当此计时时间终了时,内存控制器会自动发出刷新请求。例如:若已知系统频率和最大可允许的刷新时间,就可以经由预分频参数、系统频率、最大可允许的刷新时间,求出适当的刷新时间间隔(不能大于最大可允许的刷新时间)。请参考上节的REFRESH RATE定义。

  3. 设定基准地址(base address):大多数的SoC都是采用多任务式总线(multiplexed bus)架构,使不同种类的内存、不同的数据端口大小(port size)能够共享使用相同的总线,此时,内存控制器必须根据此基准地址,来和目前所要存取的地址做比较,之后,内存控制器才能知道目前要和哪一种内存——具有某种特定的属性——进行存取作业。这些特定的属性包括:内存的作业模式或类型、数据端口大小、防止写入、使用外部的内存控制器、局部区域的独立运算(atomic opration)、支持数据管线作业(data pipelining;可以增加一个执行周期,以省略掉数据建立所需的额外时间)、数据是正确的。

  4. 设定存取模式:这包含,设定SDRAM的大小、单一SDRAM的内部记忆排的数量、行起始地址的位(row start address bit)、行地址线的数目(row address lines)、分页模式(当总线闲置时,分页是关闭的;亦或一直保持开启,直到发生分页失误或执行刷新作业)、取消内部记忆排交错(bank interleaving)。

  5. 设定作业模式:这包含,选择多任务寻址的方式(记忆排交错或分页交错)、启动刷新作业、存取SDRAM时执行何种作业、选择多任务寻址的脚位与记忆排的多任务地址线、决定A10脚位、设定SDRAM的各种时间参数(请参考上节介绍与SDRAM规格书)、突量数据(burst)的长度、开启外部多任务寻址、延长SDRAM的控制(命令)时间。

  6. 按照不同内存控制器的要求,执行SDRAM的初始化程序(下列仅是范例):

  对所有记忆排,执行PRECHARGE命令1次。
执行CBR REFRESH命令8次。
执行MODE REGISTER WRITE命令1次。
启动刷新服务,让SDRAM进入正常作业状态中。
转译备份缓冲器

  “转译备份缓冲器(Translation Lookaside Buffer;TLB)”保存着最近才被使用的“分页表项目(page table entry;PTE)”。PTE是一种数据结构,包含着可以将“有效地址”转译成“实体地址”的信息。PTE是以分页为一个储存单位,一个分页是4 KBytes。通常,32-bit处理器的一个PTE含有8 Bytes的信息,而64-bit处理器的一个PTE含有16 Bytes的信息。

  通常,TLB是位于“内存管理单元(MMU)”内部,而且又可区分为:指令MMU内的“指令TLB(ITLB)”、数据MMU内的“数据TLB(DTLB)”。它们和外部内存的关系很密切,所以,在完成SDRAM的初始化作业之后,通常会令全部的PTE无效,并关闭指令缓冲器(I Cache)和数据缓冲器(D Cache),以清除所有残留的数据。

  结 语

  内存的控制方式在系统开机时就被决定了。因此,如果要对SDRAM进行硬件线路的除错验证,都必须在开机程序(boot code)中进行。若不了解SDRAM的规格和SoC处理器的内存控制方式,这个除错工作将会变得很困难。

关键字:处理器  外接SDRAM  工作频率 引用地址:处理器外接SDRAM的控制技术介绍

上一篇:总线实现片内硬件调试支持单元设计
下一篇:基于TTL串口的嵌入式USB主机系统的设计

推荐阅读最新更新时间:2024-03-16 13:29

AI处理器新标竿测试即将问世
    集微网7月7日消息,据海外媒体报道,由多家科技业者共同组成的嵌入式微处理器效能指标联盟EEMBC(Embedded Microprocessor Benchmark Consortium),正计划为运算密集应用的微处理器,设计一套新标竿测试。   根据Electronics Weekly报导,EEMBC是一个独立的处理器标竿测试组织,即将问世的标竿测试将会运用在车用环景系统(Automotive Surround View)、影像识别、移动增强现实(AR)等平行应用中。   运算密集应用多在嵌入式异质运算架构中执行。EEMBC表示,要在异质架构下利用现有标竿测试鉴定运算效能,是一项艰巨的任务。原因在于,现有的标竿
[手机便携]
基于DSP处理器的有源滤波器控制器的设计
   1 引言   飞速发展的电力电子技术使各种电力电子装置在工业、交通运输及家庭中的应用日益广泛,而这些非线性负荷带来的谐波危害也日益严重。谐波使电网中元件产生谐波损耗、设备效率和功率因数降低,甚至损害电力设备如电容器等;谐波影响精密仪器和临近的通信系统,使其无法正常工作 。   电力系统中谐波次数和大小随系统负荷状况而变化,采用传统的LC静态滤波器无法满足要求,而采用电力有源滤波器可以对大小和频率都变化的谐波及变化的无功进行动态补偿,因此有源滤波器的研究和应用越来越受到人们的重视。有源滤波器的基本原理是:先从补偿对象中检测出谐波电流,再由补偿装置产生一个与该谐波电流大小相等而相位相反的补偿电流,两者相互抵消而使电网电流中只
[模拟电子]
通信处理器MPC852T无线接入点的系统设计
   20世纪90年代以来,随着个人数据通信的发展,为了实现任何人在任何时间,任何地点均能实现数据通信的目标,无线局域网得到了迅猛发展。无线局域网(wLAN),通常被称为wi-Fi,这是一种可以在9l.44m内进行无线通信的技术。IEEE802.11委员会把孤立使用的无线局域网称为自组无线局域网(Ad-boc Network),把互连使用的无线局域网称为多区无线局域网(Infrastructure Network)。   无线AP是组建多区无线局域网的常用设备,配置多个接入点AP,就可以构成一个连续的覆盖区域,可提供移动用户漫游的能力。同时,它在介质访问控制子层MAC中扮演无线工作站及有线局域网的桥梁,是一十两端口的网桥。
[网络通信]
DIGIBEE与CEVA携手开发多媒体和基带平台解决方案
CEVA-X1620 DSP 和 CEVA-XS1200系统平台发动DigiBee的集成式基带和多媒体3G平台;CEVA-TeakLite-II DSP 和 Xpert-TeakLite-II DSP子系统则为GSM/GPRS/EDGE手机带来强大的基带解决方案 专业向无线、消费者和多媒体应用提供创新的知识产权 (IP) 平台解决方案和数字信号处理器 (DSP) 内核的领先授权厂商CEVA公司与印度首家移动手机设计及制造商DigiBee Microsystems公司宣布,DigiBee已在其单芯片集成式基带和应用处理器解决方案中选用CEVA-X1620 DSP 和 CEVA-XS1200 系统平台。这些解决方案以DigiBee
[焦点新闻]
Leon2处理器IP核技术(二)
2.2 AMBA AMBA(Advanced Microntroller Bus Architecture)规范,是一种已制定的、开放的规范,充当着SoC设计的架构,正迅速成为SoC和IP库开发事实上的标准,为高性能嵌入式微控制器设计定义了一种片上通信标准.AMBA规范中定义了三种不同的总线,即AHB、ASB和APBAHB是为高性能、高时钟频率的系统模块提供的,担任着高性能系统的背板总线、支持多处理器、片上各种存储器和片外外部存储器接口连接到低功耗辅助宏单元。ASB也是为高性能系统模块提供,当AHB的高性能特点无需要时,就可以用ASB来代替;它也支持多处理器、片上各种存储器和片外外部存储器接口连接到低功耗辅助宏单元。APB
[模拟电子]
Leon2<font color='red'>处理器</font>IP核技术(二)
小米Pocophone F1真机与包装盒现身 不止有骁龙845处理器
     小米也太会玩了,不止让自己的品牌出海,还创立了全新子品牌Pocophone,它的首款手机F1的相关信息已经传的满天飞了,无论是外观还是参数信息,在发烧友口中都是津津乐道,而今它的外观与包装盒已经曝光了。 从外观看,小米Pocophone F1真机正面采用刘海设计,这跟罗马尼亚网站爆料的一致,真机上面的宣传贴膜进一步揭示了小米Pocophone F1的特性,像搭载主频为2.8GHz的骁龙845处理器,内置液冷系统,后置竖排双摄像头,支持双像素自动对焦,前置20MP摄像头,支持红外人脸解锁,用上了4000毫安时电池,支持QC3.0快充,续航有保障。 从包装盒看,小米Pocophone F1用的是Type-C接口,手机存储
[手机便携]
IAR Systems支持全新Arm Cortex-M85处理器
IAR Embedded Workbench for Arm 支持全新 Arm Cortex-M85 处理器,帮助开发者为未来的物联网、智能家居和 AI/ML 应用创建强大的嵌入式开发解决方案 瑞典乌普萨拉,2022 年 6 月 13日 —— 嵌入式开发软件和服务的全球领导者 IAR Systems 今天宣布推出完整 开发工具链 IAR Embedded Workbench for Arm 的最新 9.30版本 ,支持最新推出的高性能 Arm Cortex-M85 处理器。 图:IAREmbeddedWorkbench_9.30_screenshot Arm 公司物联网和嵌入式事业部副总裁 Mohamed Awad
[嵌入式]
IAR Systems支持全新Arm Cortex-M85<font color='red'>处理器</font>
用于密集型在轨边缘计算 的微处理器和FPGA
Rajan Bedi博士是Spacechips公司的首席执行官和创始人。该公司设计和制造L到k波段的一系列先进超高吞吐量星载处理器、应答机和OBC,用于电信、地球观测、导航、互联网和M2M/物联网卫星。该公司还提供空间电子设计咨询、航空电子测试、技术营销、商业情报和培训服务。 Spacechips的设计咨询服务开发定制卫星和航天器子系统,为客户提供如何使用和选择正确的组件,如何设计、测试、组装和制造空间电子产品等方面的建议。我们在空间应用FPGA培训课程中讲授半导体存储器。 背景和引言 随着卫星运营商在轨获取的数据越来越多,他们更愿意在载荷上处理这些数据并提取有价值的信息,而不是将大量数据下行传送到地面的云上进行
[嵌入式]
用于密集型在轨边缘计算 的微<font color='red'>处理器</font>和FPGA
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved