摘 要: 简单介绍了MPC7448微处理器的分类及应用。以本公司某型号为例,阐述了以MPC7448处理器为核心的最小系统原理、架构,着重介绍了该产品在调试和维修过程中可能遇到的问题及解决方法,希望在对以MPC7448为处理器的主控板产品的调试和维修有借鉴作用。
关键词: MPC7448;最小系统;PowerPC
MPC7448系列是飞思卡尔(Freescale)PowerPC主处理器中目前已量产的最高端系列产品,秉承了以往的PowerPC系统高稳定、高可靠、低功耗的特点,其主频范围为1 GHz~1.7 GHz,极大地提高了基于PowerPC的嵌入式处理器的性能;同时有效地管理功率并改进AltiVec吞吐量,带有1 MB的L2高速缓存,使每瓦特功率获得最佳的性能[1]。MPC7448最小系统在国外研究较早,几乎与MPC7448样片同步进行。目前,以MPC7448为处理器的系统已应用到高端通信、军事及工控领域,如软交换系统、无线基站控制器、雷达测控、声纳、火炮控制、电子对抗及气象预测等。
在对系统运算处理能力要求较高而希望功耗在比较理想范围内的高端应用场合,可以让两个或者两个以上的处理器以多处理器的方式协同工作。多处理器系统有不同的实现方式,总体上可以分为对称多处理器系统和不对称多处理器系统。对称多处理器系统SMP的特点是运行同一个操作系统,多个处理器共享地址空间,各处理器对软件透明,由操作系统进行资源分配以及负荷分担。不对称多处理器系统AMP的特点是各个处理器可以运行相同的或不同的操作系统,各操作系统相对独立,静态负荷分担[2]。
1 系统方案架构
针对不同的应用,以MPC7448为处理器的各种系统架构基本类似,如图1所示。其系统架构通过桥片来扩展总线及输入输出设备,系统的存储器通过在北桥芯片Tis109上配置1 GB的板载DDR2 SDRAM作为整个系统的主要动态存储单元,为软件提供运行空间;系统还配置了两片(可选)128 MB的Flash用作BOOT ROM及存放软件。
2 常见问题概述
以下所列问题均以本公司某型号单MPC7448处理器的PowerPC产品为例。由于篇幅有限,这里只能列出在生产调试维修过程中出现频率较高、具有一定典型性的几个问题。下列所述问题并不包括此类MPC7448主控板在调试维修过程中所出现的全部问题。调试维修过程中系统平台连接关系图如图2所示。
2.1 NVRAM损坏
故障现象:NVRAM读写异常。
处理过程:此类问题可以利用JTAG仿真器,通过以下步骤来判断NVRAM的好坏:
(1)打开CodeWarrior IDE软件,在DEBUG目录中点击connect选项,待初始化文件7448_CETC52_init.cfg编译完成;
(2)选择DATA目录下的View Memory选项,在弹出的窗口中address地址一栏里输入0xEF000000,对NVRAM内的32 KB(0xEF000000~0xEF007FFF)空间数据进行读写测试;
(3)双击对应地址中的数据对其进行修改,如果键入的数据与显示的数据不同,则重点检查U13、U14是否短路、虚焊或者损坏。若键入数据正确,则右键选择Refresh选项,刷新数据。如果发现数据刷新后发生变化,而且其他地址中的数据同时发生变化,则可判断NVRAM虚焊或损坏。
2.2 MPC7448或Tsi109损坏
故障现象:MPC7448或Tsi109无法正常连接。
处理过程:此类问题可以利用JTAG仿真器,通过如下步骤来判断MPC7448或Tsi109好坏。
(1)关闭电源,将USB-TAP一端接至PC,一端接控制板XS1(XS1的第1脚靠近接插件XS2),打开电源;
(2)在PC上打开CodeWarrior IDE v8.8,在File菜单中新建Empty Project,打开Edit→XX Project Setting(XX为工程名)界面,在Target Setting中选择Linker为EPPC Linux GNU Linker,点击Apply,RemoteDebugging中Connection为CodeWarrior USB TAP,在EPPC Debugger中选择7448处理器,配置初始化文件7448_CETC52_init.cfg,再点击Apply。在Debug目录中点击connect选项,连接MPC7448,在询问是否配置初始化文件时,选择“Yes”。连接成功后,会跳出Connected界面,可以看到指令地址指向0xFFF00100。若连接失败,未出现询问对话框,则可能是MPC7448出现问题。若出现对话框并选择“Yes”后配置文件下载速度很慢、下载失败或下载后显示CPU无法停止等信息,则是MPC7448或Tsi109出现问题。
2.3 PCI设备无法被识别
故障现象:PCI设备无法被识别。
处理过程:这里的PCI设备包括通过桥芯片总线引出的转33 MHz PCI设备、PMC 64 bit×66 MHz插槽、PCI BUS 32 bit×33 MHz等设备。常见的问题如:所有PCI均无法识别,或某些PCI总线设备正常而其他PCI设备不正常(常见设备有USB口、PCI设备、PMC载板等)。
总结:此问题如果是所有PCI设备均无法识别,说明Tsi109桥片工作可能出现了问题;如果是某些PCI总线设备正常而其他PCI设备不正常,这时可以围绕某个或某些不正常PCI总线设备来确定。在处理过程中存在如芯片PCI2050BIGHK焊接存在虚焊、短路或者本身桥芯片有问题,或接口接插件本身问题等情况,这时首先可以排除PCI2050BIGHK桥芯片周围排阻焊接问题,再根据原理图量其周围排阻值和正常板卡对比值是否存在误差,如果有部分管脚阻值偏差比较大,基本确定为桥问题。在对植球BGA封装的芯片重新植球或者更换时,要特别注意焊接工艺流程,如果板卡和芯片焊接前没有根据其元件特性除湿,轻则可能会造成芯片损坏,严重可能会导致印制板焊脚脱落,直至整块板卡报废发生。
2.4 串口无法打印信息
故障现象:串口无法打印信息。
处理过程:此类问题应该说比较严重,出错的位置应该在MPC7448端,而出错的数据可能刚好在BGA的最外围,理论上重新回焊一遍就可以生成焊盘,不需要焊下重新植球。此时连接JATG仿真器,如果软件连接正常则说明MPC7448故障可能性比较小,可能是Tis109桥芯片出问题了,不是虚焊的问题,这时直接更换Tis109桥芯即可。
2.5 部分Flash地址无法擦写
故障现象:部分Flash地址无法擦写。
处理过程:此类问题在调试时可能发生,在Flash擦写时,Flash的0xf2000000~0xf2ffffff地址无法擦写,其他地址空间正常。这时可以通过对软件作相应修改或者直接更换Flash来解决。如果发现全部为坏块,则应该直接更换处理。
3 举例
为了更进步说明调试及排故过程注意事项,下面着重举一例(实际工作调试中发现的问题)加以说明。
故障现象:在对Flash烧写内核程序时,发现“内存校验不成功”。
处理过程:通过最小系统排除法的方式来初步分析与判断故障出现的范围,以达到快速定位并分析解决的目的。首先,根据调试平台确定除待调板卡外其他调试工装及使用应用软件、仿真器、目标代码文件等是否正常;然后,测量其电源对地内阻测试是否正常,如发现对地内阻有异常现象或短路时(此时切记不能加电,以免带来不可挽回的后果),应该了解其原理先排除故障点,再进行下步操作,此类问题相对较为简单,在这里就不加以说明;此时加电再测量其常备电压和各关键点电压是否均正常。本例中,利用CodeWarrior IDE软件测试Flash、NVRAM以及内存时,发现内存高位地址有问题。
根据原理架构,造成内存无法校验的问题定位为Tis109桥芯片或者为内存本身问题。通过读取内存地址判断与分析,发现仅高2位有问题,进一步定为内存U35与Tis109桥芯片处问题。由于此块MPC7448共计有8片内存,每片用到8 bit数据线,共计64 bit数据总线,为了进一步判断是Tis109桥芯片还是内存问题,可以断开用于连接U35内存的RP117和RP118两个排阻,分别给于两个排阻靠近Tis109桥芯片一个1.8 V的高电平,为了避免电压有可能带来的损坏,可串入两个1 k?赘左右的电阻(此步验证结果如果全为F,则说明Tis109芯片没有问题,反之此Tis109芯片有问题)。此时连接USB仿真器,使用CodeWarrior IDE软件测试内存,发现高位均为FF,证明Tis109桥芯片为正常,这时进一步定位到U35问题。为了验证是U35芯片本身问题还是焊接问题,可以对U35重新人工植球后重新焊接,如果正常为焊接问题。通过上述验证发现故障现象相同,故对U35进行了更换新的芯片处理。处理后再通过使用CodeWarrior IDE软件测试内存,发现高位均为FF,此时再去校验内存通过。通过此例可以看出在了解其架构的基础上,再从大到小的定位过程。
就生产过程中遇到的问题而言,除了器件本身失效的问题,还有一些如工艺过程导致的问题以及外部因素及焊接上的问题。由于本板卡成本相对比较高,需要调试维修人员及使用人员在各个环节都要加以注意和保护。
参考文献
[1] 秦东明,朱大勇,张新丽,等.基于MPC7447A单板计算机系统设计[J].微计算机信息,2008(29):43-46.
[2] 张大波,吴迪,郝军,等.嵌入式系统原理、设计与应用[M].北京:机械工业出版社,2004.