《基于MPC755的嵌入式计算机系统设计.docx》由会员分享,可在线阅读,更多相关《基于MPC755的嵌入式计算机系统设计.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于MPC755的嵌入式计算机系统设计ronggang导语:本文介绍了以MPC755为核心的嵌入式计算机系统的构造框架、主要芯片、地址空间分配、实现难点,以及系统的调试方法和启动经过MPC755是Freescale公司开发的PowerPC系列微处理器中具有卓越性能的G3代产品。本文介绍了以MPC755为核心的嵌入式计算机系统的构造框架、主要芯片、地址空间分配、实现难点,以及系统的调试方法和启动经过。该嵌入式系统处理才能优越,内核最高处理才能可达733MIPS,可用于语音处理、路由器、无线接入、VoIP、软交换等。伴随着信息化时代的降临,嵌入式系统在通讯中的应用越来越广泛,人们对带宽的需求越来越
2、高,而新业务要求嵌入式系统具备更强的处理才能。本文以MPC755为核心,构建了一个功能强大、高度模块化、实时性强、具备高度可扩展性的嵌入式计算机系统,可用于语音处理、路由器、无线接入、VoIP、软交换等诸多场合。由于MPC755具有并行执行数条指令、简单指令的快速执行、流水线操纵等优点,所以该系统处理才能优越,内核最高处理才能可达733MIPS。通过主/PCI桥MPC107扩展了多种通讯协议处理接口,符合多种RTOS实时操纵系统,如VxWorks、嵌入式Linux等对其运行平台的要求。图1:MPC755构造框图MPC755处理器MPC755是一种32位超标量微处理器,遵循了PowerPC处理器
3、架构,有着与PowerPC完全一样的指令集。芯片集成了6个独立的执行单元2个整数单元、1个加载/存储单元、1个双精度浮点单元、1个系统存放器单元和1个跳转处理单元,在一个时钟周期内最多可以同时执行6条指令。MPC755内嵌了独立的32K字节指令和数据高速缓存,以及指令和数据内存治理单元MMU。L2Cache二级高速缓存控制单元最大可外接1M字节SRAM,用作二级高速缓存。总线接口单元向外引出60X总线,可以外接具有60X总线的设备。当内核工作在400MHz时,性能高达733MIPS。MPC755还包含了一个性能监视器、一个遵循IEEE1149.1标准的JTAG调试接口、以及温度治理单元等MPC
4、755功能构造见图1。MPC755在引脚定义和软件代码上都向下兼容,核心电压为2.0V,I/O电压3.3V/1.8V可选。MPC755内核的最高频率是400MHz。系统时钟通过SYSCLK0引脚输入,经过PLL电路倍频,产生内核时钟,即主频。引脚PLL_CFG0:3在系统上电时的配置值本设计中是0b1010决定了倍频系数。系统总体设计图2是基于MPC755的嵌入式计算机的系统框图。由图可见,MPC755的接口扩展主要依靠于主/PCI桥MPC107。MPC755本身只外接了二级缓存,以进步系统性能。而其它接口都从MPC107引出,包括一个串口,一个10M/100M自适应网口,I2C口等。串口和网
5、口符合多种RTOS对运行平台的要求,且在硬件上知足了嵌入式系统的两种主要调试手段串口调试和以太网调试,应用开发相当轻易。PMC槽使系统具备较强的现场可扩展性,可知足不同的应用需求。图2:基于MPC755的系统框图1.MPC107MPC107是Freescale公司开发的一种高性能、高带宽的PCI桥接芯片。图3显示了MPC107的根本构造。MPC107一侧是60X总线接口,总线宽度32位/64位可选,最高频率100MHz,另一侧是PCI总线接口。芯片内部集成了存储器控制器、DMA控制器、可编程中断控制器、4个定时器、I2C控制器、消息单元I2O、PCI仲裁器、看门狗电路、动态电源治理单元,PCI
6、总线性能监视单元、JTAG接口等。存储器控制器共有12个片选空间,其中8个RAM片选空间,CS0:7。每个片选空间的时序可编程,可支持FPMDRAM、EDODRAM或者SDRAM,最大可外接1GBRAM。另4个是ROM片选空间,RCS0:3,支持8位、32位、64位接口宽度,最大可外接144MBROM。2.存储器本系统在CS0空间中扩展128MB的SDRAM,用5片256M位16M16位SDRAM拼成,其中一片用作ECC,其余4片用作系统内存。Flash选用了Intel公司的28F016S3,2M字节。由于系统启动时,必须从RCS0上的设备读取启动代码,因此,Flash的片选连接到RCS0上。
7、At24C04是512字节的EEPROM,通过I2C总线连接到MPC107,用于存储系统信息,例如,产品名称、版本号、网口的物理地址等。图3:MPC107构造框图二级高速缓存选用了IDT公司的IDT71V35761,每片128K36位,共2片,组合成128K72位,其中64位是数据线,另外8位是校验信号。芯片的最高频率为200MHz。二级高速缓存的使用极大地进步了系统性能,使MPC755如虎添翼。3.串口TL16C550是RS-232串口控制芯片,接在RCS1空间,MAX3221是电平转换芯片。串口的工作形式由软件决定,既可工作于中断形式,也可工作于轮询形式。在调试的时候,串口用于输出调试信息
8、和接收外部命令。在实际应用中,串口可以作为系统和用户的沟通窗口,用户通过串口来把握或者改变系统的运行情况。4.PCI设备本系统中,PCI采用MPC107内部仲裁器,总线工作于33MHz。系统的网口芯片选用了Intel82559,这是一款具有PCI接口的,将物理层和链路层集成在一起的10M/100M自适应网口芯片,可减少电路板空间和走线数目。变压器选用了Pulse公司的H1012。网口可工作于全双工或半双工形式。另外,PCI1410A是连接PCI总线和CF卡的一种接口芯片。CF卡具有携带方便、易于晋级、存储量大、抗震性好等优点。在本设计中,CF卡主要用于保存应用软件、用户数据备份等。而且,在今后
9、的系统维护和软件晋级中,技术人员只需要更换CF卡或晋级CF卡中的软件,特别方便。设计选用了SanDisk公司的型号为SDCFB-64-101的CF卡,64M字节容量,几何尺寸为36.4mm42.8mm3mm。表1:地址空间分配。PMC插槽用于扩展PCI插卡,增加系统功能。例如,假如系统需要增加一个网口,只要在PMC槽上插入一块具有PMC接口的网卡就可以了。5.时钟M41T81是ST公司消费的一款时钟芯片。在本设计中,为系统提供时钟,由于在电信、网络等很多应用场合,系统必须提供时间信息。M41T81具有I2C接口,两种供电形式:在系统上电时,由电路板上的3.3V电源供电;系统断电时,自动切换到外
10、接电池供电。电池供电时的电流很小,仅为1A。地址空间分配在PCI主设备形式下,MPC107支持两种地址空间分配方案:MapA和MapB。在PCI从设备形式下,MPC107只支持MapB。选择哪种地址分配方案是由上电启动时,引脚SDBA0的上下来决定的,假如为高,那么选用MapB,否那么,选用MapA。在本系统中,MPC107工作于PCI主设备形式,选用了MapB地址空间分配方案。在MapB地址空间分配方案中,整个32位4G地址空间被分为4大块:本地存储空间、PCI存储空间、PCII/O空间、系统ROM空间。如表1所示。在本系统中,128MBSDRAM的基地址是0000_0000,2MBFlas
11、h的基地址是FFE0_0000,串口控制芯片TL16C550的基地址是:7C00_0000,64MCF卡的访问地址是8000_0000。1.时钟时钟信号是本设计的一大关键。整个系统只有一个时钟输入:OSC_IN,33MHz,输入到MPC107,经过MPC107的FO缓存产生5个同步的PCI时钟信号,其中3个PCI时钟输送给PCI设备,1个保存,另一个PCI时钟作为系统时钟PCISYNC_OUT,输送到PLL和DLL延时锁相环模块,经过锁相和倍频,分别产生CPU时钟CPU_CLK0、4个SDRAMSDRAM_CLKx时钟、和一个回馈时钟SDRAM_SYNC。CPU_CLK0输送给MPC755。表
12、2:重要走线示意MPC107的DLL模块类似于PLL,但是它可以把一个时钟周期分为128个离散的间隔。在PCB布线时,SDRAM时钟的走线是等长的。DLL检测SDRAM_SYNC时钟从输出到输入的时延,这个时延就相当于SDRAM_CLK的时延。通过调整SDRAM_SYNC时钟的时延,可以方便地增加或减少SDRAM_CLK时钟的延迟。一般情况下,走线16.5cm相当于时延1000ps。本设计中,CPU_CLK0走线长度、SDRAM_SYNC的走线长度和SDRAM_CLK时钟的走线长度三者相等。PCISYNC_OUT到PCISYNC_IN的走线长度和PCICLK的走线长度相等。MPC755通过对C
13、PU_CLK0时钟倍频,获得内核主频。二级高速缓存的时钟是由MPC755对内核主频分配所得,分频系数由L2CR存放器的L2CLK位决定,可以是1、1.5、2、2.5、3本系统选择了2.5。一般的,分配系数的选择要根据外部Cache的性能、MPC755的内核工作频率和DLL的调整才能决定。L2Cache最小的工作频率是80MHz。分频后的时钟经过片内的DLL电路调整,输送到二级缓存。但是,L2SYNC_OUT作为反应时钟又输入到L2SYNC_IN,返回途径长度必须是L2CLK_OUTA走线长度的二分之一,这样CPU就可以保证输入到L2Cache的时钟信号上升沿是和L2接口的时钟信号上升沿对齐的。
14、2.高速布线MPC107的PLL外部电路必须尽可能地靠近MPC107。网口芯片82559和变压器H1012之间的走线应该尽可能短,网口的一对输入信号和一对输出信号采用差分走线。连接MPC755和二级高速缓存的数据线、地址线的长度尽可能相等,由于要连接二片SRAM芯片,所以采用“Y形走线方式。SDRAM、L2Cache的地址线、数据线和控制线也都需要十分留意。如表2所示,所有高速走线,包括PCI走线,都进展了阻抗匹配控制。系统启动经过和调试表3:启动配置引脚及意义当信号#HRESET为低电平时,MPC107就读取配置引脚,以决定工作状态。这些配置引脚是复用的,但是,在上电时,它们只扮作配置引脚。
15、关键的几个配置引脚的意义如表3。系统的硬件调试借助了Windriver公司的EST7xx系列仿真器。仿真器一端连接PC机,另一端连接MPC755的JTAG接口,即使SDRAM等模块工作不正常,仿真器也可以访问MPC755和MPC107的内部存放器,帮助判定SDRAM和其它器件的故障所在。首先调试PowerPC内核和外部SDRAM,一旦它们工作正常,就可以通过仿真器下载RTOS,来辅助硬件调试。为此,笔者选用了Windriver公司的嵌入式实时操纵系统,VxWorks及其集成开发工具Tornado。然后,调试串口,由于串口相对简单。假如串口工作正常,就可以脱离仿真器,利用Tornado提供的工具
16、软件,例如WDB,通过串口线建立电路板和PC机的通讯机制,继续调试其它模块。调试的主要工作量是在MPC107,而不是MPC755。调试完毕后,将正确的启动代码烧制到Flash中,VxWorks和应用软件烧制到CF卡。由于启动时中断入口的基地址为0xFFF00000,而PowerPC处理器启动的中断向量偏移地址是0x100,所以启动代码必须烧制在Flash的0xFFF00100地址。系统上电或硬复位后,MPC755自动从该地址读取指令并执行,步骤如下:PowerPC内核初始化;关闭所有中断;初始化SDRAM;初始化MPC755内部的高速缓存;初始化二级高速缓存初始化PCI接口;初始化CF卡;从CF卡读取VxWorks及应用软件到SDRAM中;运行VxWorks;初始化串口;初始化I2C,从AT24C04读取MAC地址;初始化网口;翻开中断;运行应用软件。Bootrom中最初一段程序采用PowerPC的汇编语言编写,这局部程序完成了对系统的最根本的初始化,其中最重要的是PowerPC内核和SDRAM,以便可以尽快使用SDRAM,进而在其后可以使用C语言编写的程序进展后继初始化工作。