摘 要: 簡(jiǎn)單介紹了MPC7448微處理器的分類及應(yīng)用。以本公司某型號(hào)為例,闡述了以MPC7448處理器為核心的最小系統(tǒng)原理、架構(gòu),著重介紹了該產(chǎn)品在調(diào)試和維修過程中可能遇到的問題及解決方法,希望在對(duì)以MPC7448為處理器的主控板產(chǎn)品的調(diào)試和維修有借鑒作用。
關(guān)鍵詞: MPC7448;最小系統(tǒng);PowerPC
MPC7448系列是飛思卡爾(Freescale)PowerPC主處理器中目前已量產(chǎn)的最高端系列產(chǎn)品,秉承了以往的PowerPC系統(tǒng)高穩(wěn)定、高可靠、低功耗的特點(diǎn),其主頻范圍為1 GHz~1.7 GHz,極大地提高了基于PowerPC的嵌入式處理器的性能;同時(shí)有效地管理功率并改進(jìn)AltiVec吞吐量,帶有1 MB的L2高速緩存,使每瓦特功率獲得最佳的性能[1]。MPC7448最小系統(tǒng)在國外研究較早,幾乎與MPC7448樣片同步進(jìn)行。目前,以MPC7448為處理器的系統(tǒng)已應(yīng)用到高端通信、軍事及工控領(lǐng)域,如軟交換系統(tǒng)、無線基站控制器、雷達(dá)測(cè)控、聲納、火炮控制、電子對(duì)抗及氣象預(yù)測(cè)等。
在對(duì)系統(tǒng)運(yùn)算處理能力要求較高而希望功耗在比較理想范圍內(nèi)的高端應(yīng)用場(chǎng)合,可以讓兩個(gè)或者兩個(gè)以上的處理器以多處理器的方式協(xié)同工作。多處理器系統(tǒng)有不同的實(shí)現(xiàn)方式,總體上可以分為對(duì)稱多處理器系統(tǒng)和不對(duì)稱多處理器系統(tǒng)。對(duì)稱多處理器系統(tǒng)SMP的特點(diǎn)是運(yùn)行同一個(gè)操作系統(tǒng),多個(gè)處理器共享地址空間,各處理器對(duì)軟件透明,由操作系統(tǒng)進(jìn)行資源分配以及負(fù)荷分擔(dān)。不對(duì)稱多處理器系統(tǒng)AMP的特點(diǎn)是各個(gè)處理器可以運(yùn)行相同的或不同的操作系統(tǒng),各操作系統(tǒng)相對(duì)獨(dú)立,靜態(tài)負(fù)荷分擔(dān)[2]。
1 系統(tǒng)方案架構(gòu)
針對(duì)不同的應(yīng)用,以MPC7448為處理器的各種系統(tǒng)架構(gòu)基本類似,如圖1所示。其系統(tǒng)架構(gòu)通過橋片來擴(kuò)展總線及輸入輸出設(shè)備,系統(tǒng)的存儲(chǔ)器通過在北橋芯片Tis109上配置1 GB的板載DDR2 SDRAM作為整個(gè)系統(tǒng)的主要?jiǎng)討B(tài)存儲(chǔ)單元,為軟件提供運(yùn)行空間;系統(tǒng)還配置了兩片(可選)128 MB的Flash用作BOOT ROM及存放軟件。
2 常見問題概述
以下所列問題均以本公司某型號(hào)單MPC7448處理器的PowerPC產(chǎn)品為例。由于篇幅有限,這里只能列出在生產(chǎn)調(diào)試維修過程中出現(xiàn)頻率較高、具有一定典型性的幾個(gè)問題。下列所述問題并不包括此類MPC7448主控板在調(diào)試維修過程中所出現(xiàn)的全部問題。調(diào)試維修過程中系統(tǒng)平臺(tái)連接關(guān)系圖如圖2所示。
2.1 NVRAM損壞
故障現(xiàn)象:NVRAM讀寫異常。
處理過程:此類問題可以利用JTAG仿真器,通過以下步驟來判斷NVRAM的好壞:
(1)打開CodeWarrior IDE軟件,在DEBUG目錄中點(diǎn)擊connect選項(xiàng),待初始化文件7448_CETC52_init.cfg編譯完成;
(2)選擇DATA目錄下的View Memory選項(xiàng),在彈出的窗口中address地址一欄里輸入0xEF000000,對(duì)NVRAM內(nèi)的32 KB(0xEF000000~0xEF007FFF)空間數(shù)據(jù)進(jìn)行讀寫測(cè)試;
(3)雙擊對(duì)應(yīng)地址中的數(shù)據(jù)對(duì)其進(jìn)行修改,如果鍵入的數(shù)據(jù)與顯示的數(shù)據(jù)不同,則重點(diǎn)檢查U13、U14是否短路、虛焊或者損壞。若鍵入數(shù)據(jù)正確,則右鍵選擇Refresh選項(xiàng),刷新數(shù)據(jù)。如果發(fā)現(xiàn)數(shù)據(jù)刷新后發(fā)生變化,而且其他地址中的數(shù)據(jù)同時(shí)發(fā)生變化,則可判斷NVRAM虛焊或損壞。
2.2 MPC7448或Tsi109損壞
故障現(xiàn)象:MPC7448或Tsi109無法正常連接。
處理過程:此類問題可以利用JTAG仿真器,通過如下步驟來判斷MPC7448或Tsi109好壞。
(1)關(guān)閉電源,將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,點(diǎn)擊Apply,RemoteDebugging中Connection為CodeWarrior USB TAP,在EPPC Debugger中選擇7448處理器,配置初始化文件7448_CETC52_init.cfg,再點(diǎn)擊Apply。在Debug目錄中點(diǎn)擊connect選項(xiàng),連接MPC7448,在詢問是否配置初始化文件時(shí),選擇“Yes”。連接成功后,會(huì)跳出Connected界面,可以看到指令地址指向0xFFF00100。若連接失敗,未出現(xiàn)詢問對(duì)話框,則可能是MPC7448出現(xiàn)問題。若出現(xiàn)對(duì)話框并選擇“Yes”后配置文件下載速度很慢、下載失敗或下載后顯示CPU無法停止等信息,則是MPC7448或Tsi109出現(xiàn)問題。
2.3 PCI設(shè)備無法被識(shí)別
故障現(xiàn)象:PCI設(shè)備無法被識(shí)別。
處理過程:這里的PCI設(shè)備包括通過橋芯片總線引出的轉(zhuǎn)33 MHz PCI設(shè)備、PMC 64 bit×66 MHz插槽、PCI BUS 32 bit×33 MHz等設(shè)備。常見的問題如:所有PCI均無法識(shí)別,或某些PCI總線設(shè)備正常而其他PCI設(shè)備不正常(常見設(shè)備有USB口、PCI設(shè)備、PMC載板等)。
總結(jié):此問題如果是所有PCI設(shè)備均無法識(shí)別,說明Tsi109橋片工作可能出現(xiàn)了問題;如果是某些PCI總線設(shè)備正常而其他PCI設(shè)備不正常,這時(shí)可以圍繞某個(gè)或某些不正常PCI總線設(shè)備來確定。在處理過程中存在如芯片PCI2050BIGHK焊接存在虛焊、短路或者本身橋芯片有問題,或接口接插件本身問題等情況,這時(shí)首先可以排除PCI2050BIGHK橋芯片周圍排阻焊接問題,再根據(jù)原理圖量其周圍排阻值和正常板卡對(duì)比值是否存在誤差,如果有部分管腳阻值偏差比較大,基本確定為橋問題。在對(duì)植球BGA封裝的芯片重新植球或者更換時(shí),要特別注意焊接工藝流程,如果板卡和芯片焊接前沒有根據(jù)其元件特性除濕,輕則可能會(huì)造成芯片損壞,嚴(yán)重可能會(huì)導(dǎo)致印制板焊腳脫落,直至整塊板卡報(bào)廢發(fā)生。
2.4 串口無法打印信息
故障現(xiàn)象:串口無法打印信息。
處理過程:此類問題應(yīng)該說比較嚴(yán)重,出錯(cuò)的位置應(yīng)該在MPC7448端,而出錯(cuò)的數(shù)據(jù)可能剛好在BGA的最外圍,理論上重新回焊一遍就可以生成焊盤,不需要焊下重新植球。此時(shí)連接JATG仿真器,如果軟件連接正常則說明MPC7448故障可能性比較小,可能是Tis109橋芯片出問題了,不是虛焊的問題,這時(shí)直接更換Tis109橋芯即可。
2.5 部分Flash地址無法擦寫
故障現(xiàn)象:部分Flash地址無法擦寫。
處理過程:此類問題在調(diào)試時(shí)可能發(fā)生,在Flash擦寫時(shí),F(xiàn)lash的0xf2000000~0xf2ffffff地址無法擦寫,其他地址空間正常。這時(shí)可以通過對(duì)軟件作相應(yīng)修改或者直接更換Flash來解決。如果發(fā)現(xiàn)全部為壞塊,則應(yīng)該直接更換處理。
3 舉例
為了更進(jìn)步說明調(diào)試及排故過程注意事項(xiàng),下面著重舉一例(實(shí)際工作調(diào)試中發(fā)現(xiàn)的問題)加以說明。
故障現(xiàn)象:在對(duì)Flash燒寫內(nèi)核程序時(shí),發(fā)現(xiàn)“內(nèi)存校驗(yàn)不成功”。
處理過程:通過最小系統(tǒng)排除法的方式來初步分析與判斷故障出現(xiàn)的范圍,以達(dá)到快速定位并分析解決的目的。首先,根據(jù)調(diào)試平臺(tái)確定除待調(diào)板卡外其他調(diào)試工裝及使用應(yīng)用軟件、仿真器、目標(biāo)代碼文件等是否正常;然后,測(cè)量其電源對(duì)地內(nèi)阻測(cè)試是否正常,如發(fā)現(xiàn)對(duì)地內(nèi)阻有異?,F(xiàn)象或短路時(shí)(此時(shí)切記不能加電,以免帶來不可挽回的后果),應(yīng)該了解其原理先排除故障點(diǎn),再進(jìn)行下步操作,此類問題相對(duì)較為簡(jiǎn)單,在這里就不加以說明;此時(shí)加電再測(cè)量其常備電壓和各關(guān)鍵點(diǎn)電壓是否均正常。本例中,利用CodeWarrior IDE軟件測(cè)試Flash、NVRAM以及內(nèi)存時(shí),發(fā)現(xiàn)內(nèi)存高位地址有問題。
根據(jù)原理架構(gòu),造成內(nèi)存無法校驗(yàn)的問題定位為Tis109橋芯片或者為內(nèi)存本身問題。通過讀取內(nèi)存地址判斷與分析,發(fā)現(xiàn)僅高2位有問題,進(jìn)一步定為內(nèi)存U35與Tis109橋芯片處問題。由于此塊MPC7448共計(jì)有8片內(nèi)存,每片用到8 bit數(shù)據(jù)線,共計(jì)64 bit數(shù)據(jù)總線,為了進(jìn)一步判斷是Tis109橋芯片還是內(nèi)存問題,可以斷開用于連接U35內(nèi)存的RP117和RP118兩個(gè)排阻,分別給于兩個(gè)排阻靠近Tis109橋芯片一個(gè)1.8 V的高電平,為了避免電壓有可能帶來的損壞,可串入兩個(gè)1 k?贅左右的電阻(此步驗(yàn)證結(jié)果如果全為F,則說明Tis109芯片沒有問題,反之此Tis109芯片有問題)。此時(shí)連接USB仿真器,使用CodeWarrior IDE軟件測(cè)試內(nèi)存,發(fā)現(xiàn)高位均為FF,證明Tis109橋芯片為正常,這時(shí)進(jìn)一步定位到U35問題。為了驗(yàn)證是U35芯片本身問題還是焊接問題,可以對(duì)U35重新人工植球后重新焊接,如果正常為焊接問題。通過上述驗(yàn)證發(fā)現(xiàn)故障現(xiàn)象相同,故對(duì)U35進(jìn)行了更換新的芯片處理。處理后再通過使用CodeWarrior IDE軟件測(cè)試內(nèi)存,發(fā)現(xiàn)高位均為FF,此時(shí)再去校驗(yàn)內(nèi)存通過。通過此例可以看出在了解其架構(gòu)的基礎(chǔ)上,再從大到小的定位過程。
就生產(chǎn)過程中遇到的問題而言,除了器件本身失效的問題,還有一些如工藝過程導(dǎo)致的問題以及外部因素及焊接上的問題。由于本板卡成本相對(duì)比較高,需要調(diào)試維修人員及使用人員在各個(gè)環(huán)節(jié)都要加以注意和保護(hù)。
參考文獻(xiàn)
[1] 秦東明,朱大勇,張新麗,等.基于MPC7447A單板計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(29):43-46.
[2] 張大波,吳迪,郝軍,等.嵌入式系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004.