首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于MPC8260处理器的PPMC系统(2)

基于MPC8260处理器的PPMC系统(2)

3 硬件实现的要点 就硬件实现而言,有几点需要注意: (1)为以太网和串口分配管脚。如果仅仅是配置一个MII接口和一个RS-232接口,有多种实现方案。但必须考虑到系统功能的可扩展性,尽可能多地预留 TDM接口和ATM UTOPIA接口。 (2)PCI桥接和总线仲裁 VSO规定,PPMC系统必须带有PCI接口。但MPC8260芯片本身不带PCI接品,因而需要外挂PCI桥接芯片PowerSpan。 PowerSpan是Tundra公司生产的PCI桥接芯片,总线频率范围为25~66MHz,支持PCI2.2规范。PowerSpan内部模块如图3 所示。可以与MPC8260、PowerPC 603e/740/750等PowerPC系列芯片无缝接合。电气特性符合VSO PPMC标准。 实际应用时,PowerPC 60x总线和PCI总线上都挂二多个器件,每个器件都可能需要获取总线的控制权以便发起总线操作,因此总线控制权的仲裁十分重要。 就PCI总线布言,采用PowerSpan内嵌的PCI总线仲截器件为整个PCI总线的仲裁器,应该将PPMC卡标准插座上各组GNT、REQ信号连到 PowerSpan相应管脚处。PowerPC 60x总线的情况有点不同,MPC8260芯片和PowerSpan芯片都自带60z总线仲裁器。从系统的扩展性考虑,采用MPC8260芯片自带 60x总线仲裁器。因而PowerSpan的PB_BR[1]、PB_BG[1]、PB_DBG[1]等信号必须连到MPC8260芯片对应处。 (3)片选信号和内存分配 MPC8260 60x总线包含32位地址线,可以访问高达4G字节的内存。MPC8260内嵌有一个内存分类控制器,该分类控制器提供了多个片选信号。在本系统中,地址空间分类6类子空间,如表3所示。 表3 内存分配表 60x内存类型和片选信号地址范围含 义 PowerSpan Register Space MPC8260 Register Space Bootrom(CS0) D[0:7] Flash (CS1) D[0:15] SDRAM (CS2) D[0:63] PCI Image n (n=1...8) 0X30000000~0X30000FFF 0XF0000000~0XF001FFFF 0XFE000000~0XE0FFFFFF 0XE0000000~0XE0FFFFFF 0X00000000~0X03FFFFFF Maximum Block Size=2GB Minimum Block Size=64KB 4KB 128KB 1024KB 16MB 64MB 以64位数据线方式访问PowerSpan内部寄存器空间,以及通过PowerSpan映射的PCI空间。访问二者时,不需要片选信号。 PowerSpan自行判断60x地址是否指向自身,决定是否回应。 CS0代表的Bootrom空间有着特殊含义。根据MPC8260的规定,复位时,MPC8260自动读取Bootrom中的指令运行启动程序。 Bootrom空间是唯一不需要额外配置、MPC8260就可以读取的子模块。 相关配置寄存器包括:MPC8260中的BRn、Orn(n=0,1,2)寄存器、IMMR寄存器以及PowerSpan相关设置中的Slave Image和Iarget Image。 4 硬件实现的难点 保证外部PCI器件(没有位于PPMC上)通过PowerSpan高速访问PPMC系统所带SDRAM内存,是设计上一大难点。图4是外挂PCI器件时,内存存取示意图。 图4从左向右为Slave Image方向。MPC8260通过设置PowerSpan的相关Slave Image寄存器,将外部PCI空间映射到60x空间后,PowerSpan即成为透明桥。MPC8260以60x总线地址访问外部PCI器件,PowerSpan会自动进行有关转换工作。 图4从右向左为Target Image方向。此时外部PCI器件要访问PPMC上的SDRAM。通过设置PowerSpan Target Image中相关寄存器,将60x总线地址空间的一部分(也就是PPMC上SDRAM对应的60x地址空间中的一段)映射到外部PCI空间上,外部PCI 器件就可能以PCI总线地址访问PPMC所带SDRAM,PowerSpan自动进行有关转换工作。
由此可知,MPC8260和PowerSpan都可成为60x总线的Master,都会访问SDRAM。从效率考虑,必须允许二者可以猝发存取 SDRAM。 与读写ROM不同,读写SDRAM的时序关系很复杂,要考虑到多种因素,如SDRAM的刷新问题。遗憾的是,就60x总线信号的时序而言,无法直接与 SDRAM连接。特别是对PowerSpan,没有内嵌任何内存控制器,即使MPC8260提供了一些辅助控制信号,也无法直接连接,因而外部须提供逻辑转换。就本PPMC系统而言,必须在EPLD内实现一个SDRAM控制器,这就是图4中引入EPLD的原因。 该控制器采用Verilog HDL实现,可为SDRAM提供一系列符合时序的控制信号。控制器就其本质而言,是一个状态机。随着外部60x总线输入信号的变化,该状态机在一系列不同状态之间转换,同时输出SDRAM控制信号,以及60x总线的回应信号。例如就读数据而言,隐去刷新等状态,状态机如图5所示。 图6是在触发方式下,2-beat读取数据时,内存控制器产生的控制信号。此时,Page Closed、CAS latency为3个时钟周期,Activate to Read interval为2个时钟周期。RAS为控制器输出的行地址选择信号,CAS为列地址选择信号,DQM为字节选择信号。
5 初始化软件流程 本PPMC的初始化流程有着与RTOS中标准BSP(Board Support Package)要求相同的次序,程序流程如图7所示。 系统初始启动时,MPC8260自动读取Bootrom中的指令。Bootrom中最初一段程序采用PowerPC汇编语言编写,该部分程序必须对系统进行基本的初始化工作。其中最重要的是初始化那些与SDRAM有关的寄存器,以便可以尽快使用SDRAM,从而在其后可以使用C语言编写的程序进行后继初始化工作。 本文构建了一个符合VSO和IEEE标准的PPMC系统,可以为嵌入式系统(特别是通讯用嵌入式系统)提供一个功能强大、高度模块化、具体高度可扩展性的微型计算机系统。
返回列表