PowerPC处理器MPC8548E的DDR2接口实现.doc_第1页
PowerPC处理器MPC8548E的DDR2接口实现.doc_第2页
PowerPC处理器MPC8548E的DDR2接口实现.doc_第3页
PowerPC处理器MPC8548E的DDR2接口实现.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图 1 多块数据读取时的间隙问题201P2-o0w7-e13rP#C#M#2P0C128-5074-81E3#D#2#D0#1#R22-07-13#Realization of DDR2 Interface for PowerPC Host Processors MPC8548E(1.中国科学院空间科学与应用研究中心;2.中国科学院研究生院) 苏鹏 1,2卞 春 江 1 张磊 1S U P e ng BIAN Chun-jia ng ZHANG Le i摘 要: 本 论 文 研 究 了 DDR2 的 特 性 和 MPC8548E 处理器的相关资料 , 给 出 了 MPC8548E DDR2 接口的硬件电路设计 , 并 且 通 过实 例 讨 论 了 在 U-Boot 下 对 MPC8548E 相关寄存器的配置 , 给出了试验结果 。关 键 词: MPC8548E; DDR2; U-Boot中 图 分 类 号: TN368文 献 标 识 码: BAbstract: In this paper, we researched the features of DDR2 technology and the relative materials of MPC8548E, then how to designthe DDR2 interface of the MPC8548E host processor is described, and how to configure the registers of MPC8548E by U -Boot pro-gram is discussed through an example .The result of the experiment is also given.Key words: MPC8548E; DDR2; U-Boot技术 创 新引 言1MPC8548E 是 Freescale 公司开发的 PowerQUICC III 系列的高性能处理器。其内部工作频率最高可达 1.33GHz,在该工作 频率上处理性能可达 3065 MIPS。一级 Cache 分为数据 Cache 和指令 Cache 各 32KB,二级 Cache 最大可配置为 512KB。支持 DDR1 和 DDR2,最高支持 533MHz 传输速率的 DDR2 SDRAM。 同时,该处理器还支持 PCI、PCI-X、PCIE、SRapid IO 和 4 个 GbE接口。内存是计算机系统中至关重要的部分, 处理器的每一步操 作和操作系统的运行都需要依赖内存,如果内存不能正常访问, 整个系统就不可能运行。DDR2 技术自从面世至今,凭借其出色 的性能广泛运用于各种计算机主板和嵌入式设备。本文给出了 MPC8548E 处理器 DDR2 接口的设计和调试过程, 阐述了相关 工作原理。2 DDR2 技 术 特 点DDR2 是由 JEDEC 标准组织开发的基于 DDR1 的升级存 储技术。DDR2 继承了 DDR1 在一个时钟周期内完成两次传输 数据的特性,但是在数据吞吐率、延时、功耗等方面都有了显著 的提高,这些性能的提升,主要源于以下技术的运用:ODT、Posted CAS、4n 数据预取等。2.1 ODT(On-Die Termination)技术在 DDR2 中采用 ODT 技术将 DQ、DQS、DQS#、DM 信号的 外部的匹配电阻移到芯片内部从而节省了大量的 PCB 板上面 积,并且通过控制器(例如 MPC8548E 处理器)对 DDR2 芯片内 部的寄存器进行配置来设置匹配电阻值,以及通过 ODT 信号来 控制匹配电阻开关状态, 从而实现最佳的信号完整性。需要注意,地址和控制信号等仍然需要通过外部电阻匹配。DDR2 和 DDR1 一样, 是通过 Bank address、Row address、Column address 三者结合实现寻址。每一次对 DDR2 的操作,都 是以 Active 命令(有效 RAS# 信号)开始,在发出该命令的同时, 通过地址线发出本次操作的 Bank address 和 Row address, 此后 等待 tRCD 延时以后,发出 READ 命令(有效 CAS# 信号),同时通 过地址线发出本次操作的 Column address。最后, 等待 CL(CASLatency)时间之后,数据通过数据总线输出。在某些情况下为了 提高整个系统的性能需要在一个 Bank 的操作完成之前插入下 一个 Bank 的操作。如图 1 所示,在发出 Bank0 的 Avtive 命令之 后,等待 tRRD 时间之后就可以发出对下一个 Bank 的 Active 命令。按照该工作模式,对 Bank2 的 Active 命令实际延迟了一个时 钟周期, 该命令本应该在 Read (Bank0) 的位置出现, 但是由于Read(Bank0)命令已经占用了地址线,所以无法对另一个 Bank 进行操作。其结果是,本应该是连续的数据输出结果被打断。针 对这个问题,DDR2 做出了改进。DDR2 允许 Read 命令提前发出,但是需要等待一个 AL(Additive Latenccy)时间之后,该 Read命令才被真正的执行。如图 2 所示,在该情况下对于不同 Bank的数据读取,输出的数据流将不被打断。这种为了避免 Active 命 令和 Read 命令冲突的技术就叫做 Posted CAS 技术。2012-20.2 7Pos-ted1C3AS#技#术#2012-07-13#2#0#1#2-07-13#为了解决指令冲突 JEDEC 标准组织引入 Posted CAS 技术。图 3 原理图性能。2.3. 4n 数据预取技术n 表示 DDR2 芯片的数据位宽度。 该技术的引入使得 DDR2 颗粒可以以较小的内核时钟频率获得较大的外部数据吞 吐率。以 DDR2 400MHz 为例,400MHz 代表外部数据传输速率, 那么其外部时钟则为 200MHz(DDR2 在时钟的上升和下降沿传输数据),假设该 DDR2 芯片数据位宽为 16Bit,那么外部数据吞 吐率则为 400MHz16Bit=800MB/s。芯片内部由于采用了 4n 数 据预取技术,因此内部工作频率只需要 100MHz,内部数据吞吐 率为 100MHz16Bit4=800MB/s。利用这项技术,DDR2 可以在 不提高内核工作频率的前提下,大大提高外部数据传输速率,同时不会增加芯片的功耗。150,精度为 1%。在整个设计中, 我们选用 100nF 的 Decoupling Capacitor 和100uF 的 Storage Capacitor。为了达到最佳的去耦效果, 选用0402 封装的 Decoupling Capacitor, 这样就可以紧靠 MPC8548E 的 GVDD 管脚和 MT47H64M16 的 VDD 管脚放置 Decoupling Capacitor。Storage Capacitor 的耐压值必须是所在电源管脚电压值的两倍以上。3.2 布线要求PCB 布线时,按照数据组,地址组,控制组,时钟组,电源的顺 序依次布线,相互之间的线间距应该控制在 25mil 以上。对于单 端信号线,阻抗控制在 5060 内。对于差分信号线,阻抗控制在 50100 内。对于数据组, 要求各小组之内走线在同一层并拥有相同数 目的过孔, 走线长度差异控制在 20mil 内, 线间距控制在 10mil 以上,所有的信号线走线必须以完整的地层作为参考。不同小组 之间,走线长度差异控制在 100mil 之内。同时 5 个小组内部也有对应关系,即 MDQS/MDQS#0 、MDQ0:7 、MDM0为一组对 应关系,依次类推。对于地址组和命令组,信号线长度差异控制在 100mil 之内,线间距控制在 10mil 以上。走线以 1.8V 电源平面或完整的地层 作为参考层。对于时钟组,差分信号对内走线差异控制在 10mil 内,尽量 在同一层走线,如果需要换层,两根差分信号线应该一起换。整个设计是在 Cadence 下完成的,总共 10 层,其中 2、6、9 层 是地层,5 层是电源层,1、3、4、7、8、10 层是信号层。材料用的是 FR-4,单端阻抗和差分阻抗都控制在 50(+/-10%),除了第一 层的单端信号线是 6mil, 其它层的单端信号线和差分信号线都是 5mil。硬 件 设 计3本设计中选用 Micron 公司的 MT47H64M16_HW_37E 芯片作为 DDR2 颗粒。 该芯片支持外部数据传输率 400MHz 或533MHz,用户根据不同的需求可以配置参数从而实现不同的速 率。采用 5 片该型号 DDR2 颗粒进行位扩展组成 64 位数据总 线和 8 位 ECC(Error Checking Correcting)效验的工作方式。为了 叙述方便将 MPC8548E DDR2 接口的信号线分为以下 4 组:数据组,MDQS/MDQS#0:8 、MDM0:8 、MDQ0:63 、MECC0:7;地 址组:MBA 0:2 、MA 0:15 、MRAS#、MCAS#、MWE#; 命令组: MCS#0:3 、MCKE0:3 、MODT0:3;时钟组:MCK/MCK#0:5;3.1. 原理设计MPC8548E 和 DDR2 芯片的原理如图 3 所示。技术 创 新相 关 寄 存 器 设 置4为了保证 DDR2 的正常工作, 必须在系统启动时对 DDR2Controller 的寄存器进行配置,配置过程包括 Power-On Reset将数据组分为 5 个小组:MDQS/MDQS#0:1 、MDQ0:15 、MDM0:1为第一组;MDQS/MDQS#2:3 、MDQ16:31 、MDM2:3为第二组;依次类推 MDQS/MDQS#8 、MECC0:7 、MDM8为第 五组;每一组分别对应一片 DDR2 芯片。在该设计中使用了 ODT 功能,因此数据组无需外部匹配电 阻,Pcb 布线直接从 MPC8548E 连接到 DDR2 芯片。地址组和命 令组需要在内存末端利用外部电阻上拉到 VTT 电平实现匹配,电阻值选取 47。对于时钟组信号 MCK/MCK# 需要在靠近DDR2 芯片的那一端加 100 的差分终端电阻。MPC8548E 提供了 6 对相位相同的时钟对, 设计时需要考 虑时钟对的驱动能力,MPC8548E 数据手册上指出一对 MCK/MCK# 时钟对可以有效驱动 3 片 DDR2 芯片。本设计中选用 5片分立的 DDR2 芯片,每一片芯片分别对应一组时钟对。对于没 有用到的时钟对, 可以通过配置 MPC8548E 的内部寄存器DDRCLKDR 进行关闭。电源设计方面, 通过研究 MPC8548E 数据手册, 仔细计算MPC8548E 各个功能模块对电源的需求, 从而选择最佳的电源 芯片。其中需要注意的是,VTT 电源平面应该和内存紧紧相邻。(POR) Configuration 和Software Configuration。 POR 是 由MPC8548E 在加电的过程中对 LA28:31 、LBCTL、LALE、LGPL2管脚进行电平采样所完成的, 这个过程之后 DDR2 的工作频率 将被确定,我们选用 66MHz 的外部晶振,通过内部变频后产生533MHz 和 266MHz 两个时钟分别用于内部总线和外部 DDR2。Software Configuration 是由 U-Boot 程序完成的, 编程时首先将DDR2 控制器关闭 (DDR_SDRAM_CFG MEM_EN=0), 然后对 MPC8548E 以 下 寄 存 器 进 行 配 置 :LAWBARn、LAWARn、 CSn_BNDS、CSn_CONFIG、TIMING_CFG0、TIMING_CFG1、TIM ING_CFG2、TIMING_CFG3、DDR_SDRAM_CFG、 DDR_SDRAM_CFG2、DDR_SDRAM_MODE、 DDR_SDRAM_MODE2、DDR_SDRAM_INTERVAL、 DDR_SDRAM_CLK_CNTL。以上寄存器配置完成以后再打开 DDR2 控制器 (DDR_SDRAM_CFG MEM_EN=1)。LAWBARn、 LAWARn 用以把一个范围内的地址空间映射到 MPC8548E 相 应的一个外围接口上,本设计中我们用 LAWBAR0、LAWAR0 来 映 射 DDR2 的 地 址 空 间 ,LAWBAR0 =0x00000000,LAWAR0 =0x80F0001C 其中 LAWBAR0 表示基础地址,LAWAR0 表示该组表 1 DDR2 在不同频率下的时间参数图 4 实测外部时钟图 5 DDR2 读写条片选信号 MCS#0:3,每一个片选信号对应一组 CSn_BNDS、CSn_CONFIG,例如本设计中只用了 MCS#0,所以我们只需要对 CS0_BNDS、CS0_CONFIG 寄存器进行配置。CS0_BNDS 寄存器 是用以配置系统 DDR2 大小的,要和实际的原理设计一致,我们 设 计 的 DDR2 大 小 是 512MB, 所 以 该 寄 存 器 的 值 设 置 为 CS0_BNDS =0x0000001F。 TIMING_CFG0、TIMING_CFG1、TIM ING_CFG2、TIMING_CFG3、DDR_SDRAM_INTERVAL、 DDR_SDRAM_CLK_CNTL 是时间参数寄存器,要根据不同的工 作 频 率 进 行 配 置 , 如 表 1 所 示 。 CSn_CONFIG、 DDR_SDRAM_CFG、DDR_SDRAM_CFG2 是 配 置 DDR2 Con troller 的工作模式。本设计中 DDR2 工作在 266MHz(533MHz 数据传输率)。寄 存 器 详 细 配 置 如 下 :CSn_BNDS = 0x0000001F,CSn_CONFIG =MPC8548E, 在 OCD Command Shell 中用 DMD 命令 (读内存)和MMD(写内存)命令来读写系统的 512MB 内存空间,地址空间为0x000000000x1FFFFFFF。如图 5 所示,其中 DMD 是从所指定地址读出 64 位的数据, MMD 是向所指定地址写入 64 位的数据, 系统上电时内存中的内容 全执 行 完0,MMD 0 0123456789ABCDEF;MMD 80123456789ABCDEF;MMD 10 0123456789ABCDEF;MMD 180123456789ABCDEF 四 条 指 令 以 后 , 相 应 的 内 容 全 部 变 为0123456789ABCDEF,可见 DDR2 读写正确,相关寄存器配置正确。目前,已经在该平台上移植了 Linux 操作系统,经过长时间 加电测试,操作系统运行正常。这表明内存系统能够可靠,稳定的运行。结 束 语60x80014102,TIMING_CFG00x4C474432,TIMING_CFG2=0x00260802,TIMING_CFG1=0x13984CCE,TIMING_CFG3=本文通过分析 DDR2 技术的特点和 MPC8548E 处理器,给出了 MPC8548E 处理器 DDR2 接口的开发方法,阐述了相关原理,硬 件设计方法和寄存器的相关配置。通过实测,DDR2 已经稳定工作在 264MHz 频率,最大数据吞吐率达到 4.2GB/s(64bits528MHz)。 本文创新点: 通过对 DDR2 技术的分析和对 MPC8548E 处理器的研究, 从硬件设计方面提出了一种通用的 DDR2 开发方法和注意事项。再以 MPC8548E 为例,详细阐述了寄存器 的相关配置过程。本论文对于嵌入式系统的内存开发不失为一种借鉴。参考文献1MPC8548E PowerQUICC? III Integrated Processor Family Reference Manual.Freescale.20072MPC8548E PowerQUICC III Integrated Processor HardwareSpecifications Freescale.2007 3MT47H64M16 DataSheet.Micron.2004 4DDR2 SDRAM SPECIFICATION.JEDEC.20085Device Errata for the MPC8548E PowerQUICC III Processor.Freescale.20096李骏,许稼等.PowerPC 处理器优势及其应用研究J.微计算机 信息.2005,0-2:作 者 简 介:苏鹏(1985-),男(汉族),云南曲靖人,中国科学院空间科学与应用研究中,研究生,2006 年 7 月在西北工业大学获得工学 学士学位。主要从事嵌入式系统、计算机网络方面的研究。Biography:SU Peng (1985 - ),male (the Han nationality),Yunnan, Ce nter for Space Science and Applied Research Chinese Academy of Sciences,Graduate student,Major in Computer application,Main- ly engaged in research on embedded systems, computer network.0x00010000,DDR_SDRAM_CFG=0x43000008,DDR_SDRAM_CFG2=0x04400000,DDR_SDRAM_MOD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论