基于MPC8260处理器的PPMC系统
与读写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为字节选择信号。
javascript:window.open(this.src);" style="cursor:pointer;"/>
5 初始化软件流程
本PPMC的初始化流程有着与RTOS中标准BSP(Board Support Package)要求相同的次序,程序流程如图7所示。
系统初始启动时,MPC8260自动读取Bootrom中的指令。Bootrom中最初一段程序采用PowerPC汇编语言编写,该部分程序必须对系统进行基本的初始化工作。其中最重要的是初始化那些与SDRAM有关的寄存器,以便可以尽快使用SDRAM,从而在其后可以使用C语言编写的程序进行后继初始化工作。
本文构建了一个符合VSO和IEEE标准的PPMC系统,可以为嵌入式系统(特别是通讯用嵌入式系统)提供一个功能强大、高度模块化、具体高度可扩展性的微型计算机系统。