嵌入式系統(tǒng)離線測試
電子設(shè)計應(yīng)用2004年第9期
本文引用地址:http://www.ex-cimer.com/article/3585.htm摘 要:為保證硬件和系統(tǒng)軟件應(yīng)用程序的兼容性、可靠性和高可用性,在系統(tǒng)開發(fā)和測試階段,需要迅速發(fā)現(xiàn)并準確定位硬件或軟件中存在的問題,對嵌入式系統(tǒng)進行離線測試與分析就變得十分重要。本文結(jié)合上海貝爾阿爾卡特股份有限公司開發(fā)的寬帶交換系統(tǒng),討論離線單板硬件測試方法和系統(tǒng)測試方法。
關(guān)鍵詞: 嵌入式系統(tǒng);硬件測試;寬帶交換機
引言
隨著嵌入式系統(tǒng)的發(fā)展,迫切需要在嵌入式系統(tǒng)開發(fā)階段對嵌入式系統(tǒng)進行離線測試與分析,以保證系統(tǒng)的軟件應(yīng)用程序、硬件具有兼容性、高可靠性和高可用性,迅速發(fā)現(xiàn)并準確定位系統(tǒng)中存在的問題。本文結(jié)合上海貝爾阿爾卡特股份有限公司開發(fā)的寬帶交換系統(tǒng),討論離線單板硬件測試方法和系統(tǒng)測試方法。
離線單板硬件測試概述
在寬帶交換機系統(tǒng)中,離線測試包括自檢測試和一般的離線測試。自檢測試是單板初始化完成后為了保證板子的正確運轉(zhuǎn)進行的測試。它主要包括看門狗測試、快速硬件器件測試和下載通路測試??焖儆布y試完成寄存器測試和單板上單個硬件設(shè)備測試,其中又包括許多測試項。如果某一測試項測試失敗,整個測試就會停止直到看門狗超時重啟系統(tǒng)。下載測試是為了保證軟件下載功能能正常工作而進行的測試。這項測試主要完成通信接口收發(fā)數(shù)據(jù)測試、中斷功能測試。而一般的離線測試是在出廠檢驗、開發(fā)階段中的檢測和維修診斷時對上述的各測試項進行更具體的測試,以定位單板上的出錯位置。
看門狗測試
在做任何一項硬件測試之前必須完成看門狗測試。這是因為一項硬件測試失敗之后需要重啟系統(tǒng),而硬件測試的失敗通常是以看門狗超時為判斷條件的。這就需要看門狗在硬件測試時能正常工作。看門狗測試方法是設(shè)置并激活一個1秒的看門狗,等待1秒后系統(tǒng)重啟。
Flash測試
在Flash中可存放程序,也可以存放數(shù)據(jù)。在燒錄Flash時,可存放預(yù)先計算好的checksum值。要測試Flash時,程序重新計算checksum,然后與預(yù)先存放的值進行比較。
數(shù)據(jù)Flash的測試方法有兩種。一種是非破壞性的基本測試,主要是checksum測試。另一種是破壞性的擴展測試,包括讀寫測試和地址/數(shù)據(jù)總線測試,具體方法與內(nèi)存測試一致?;緶y試可在系統(tǒng)自檢時使用,擴展測試可在維修診斷時采用。
內(nèi)存測試
內(nèi)存測試可分為三類:
1. 數(shù)據(jù)總線測試: 將0001循環(huán)左移并寫入內(nèi)存,然后讀出并比較測試。
2. 內(nèi)存區(qū)測試: 對內(nèi)存所有存儲單元進行讀寫測試(讀寫5555H和AAAAH測試)。
3. 地址總線測試:
對內(nèi)存所有存儲單元進行地址累加測試。從RAM的基地址起,在每一個存儲單元(按照總線寬度)中寫入不同的值(遞增值),地址遞增,直至所有的存儲單元都保存不同的內(nèi)容,然后讀出并進行檢驗。
地址總線測試還可采用快速測試的方法:對0x1地址的內(nèi)存單元寫入地址值0x1,地址值循環(huán)左移,依次將相應(yīng)的地址值寫入相應(yīng)的內(nèi)存地址,最后檢驗。
在本文的系統(tǒng)中,自檢測試時只包括內(nèi)存區(qū)測試。并且,由于測試時間的限制,只是隨機選擇內(nèi)存的一些頁面進行讀寫測試。對于其它的內(nèi)存測試方法,可以用于出廠檢驗、開發(fā)階段中的檢測和維修診斷。
主控芯片測試
主控芯片測試主要是對主控芯片進行定時器測試、寄存器測試、中斷測試和片內(nèi)RAM測試。寄存器測試是對一些特殊寄存器的功能進行測試,以驗證CPU寄存器是否能正常工作。中斷測試是人為產(chǎn)生一些硬件中斷,檢測主控芯片對中斷的反應(yīng),是否能及時標志中斷寄存器的相應(yīng)標志位。片內(nèi)內(nèi)存測試則遵循一般內(nèi)存測試規(guī)則。
PLD/FPGA簡單測試
在寬帶交換機系統(tǒng)中,較大的FPGA常實現(xiàn)較復(fù)雜的功能。在測試時要對相關(guān)的功能進行詳細的功能測試。而對于其它簡單的小型PLD/FPGA則尋求自測的方法,在PLD或FPGA的編制過程中,適當(dāng)?shù)募尤胍恍┳詼y手段。當(dāng)主控芯片要測試它們時,設(shè)置和讀取相應(yīng)的PLD或FPGA的測試接口,從而獲得測試結(jié)果。
PCI總線測試
PCI總線常用于連接處理器和各類外設(shè)。它提供了一個低時延路徑,使處理器能夠直接存取任何映射在存儲器或I/O地址空間的PCI設(shè)備。它還提供一個高帶寬路徑,允許PCI主設(shè)備直接到主存儲器存取。測試方法是先測試是否能正確讀寫PCI配置空間寄存器,然后測試內(nèi)存映射是否可以在兩端正確讀寫。
嵌入式系統(tǒng)離線測試方法
增量測試模型
在單板測試完成后,系統(tǒng)集成在一起之后有可能仍不能正常工作。主要原因是,模塊相互調(diào)用時接口會引入許多新問題。例如,數(shù)據(jù)經(jīng)過接口可能丟失;一個模塊對另一模塊可能造成不應(yīng)有的影響;模塊之間的硬件連接不正確也可能造成通信不暢;誤差不斷積累達到不可接受的程度等等。所以需要通過綜合測試來發(fā)現(xiàn)各種錯誤。
如果把所有模塊按設(shè)計要求一次全部組裝起來,然后直接運行系統(tǒng)軟件,這稱為非增量式集成。這種方法易出現(xiàn)混亂,在改正一個錯誤時又可能引入新的錯誤,新舊錯誤混雜,更難斷定出錯的原因和位置。增量式集成方法通過測試軟件一段一段地擴展,測試的范圍一步一步地增大,來逐步定位錯誤和糾正。根據(jù)系統(tǒng)的不同特點可以采用兩種增量式集成模型:自底向上集成和自頂向下集成。
寬帶機架系統(tǒng)由主控板和其它單板組成,離線系統(tǒng)測試軟件采用自頂向下集成的方法。由主控板將各個單板的系統(tǒng)測試程序通過網(wǎng)絡(luò)下載到目的板,然后主控板通過深度優(yōu)先策略搜索單板。首先主控板發(fā)送消息到直連的單板,如果主控板、單板之間連線正確,且單板硬件及軟件工作正常,單板收到消息后將自己的相關(guān)信息返回給主控板。接著主控板再通過直連的單板獲取下層單板的相關(guān)信息,直到獲得所有單板的相關(guān)信息(位置,單板類型等),然后就可以開始整個系統(tǒng)的綜合測試。
綜合測試方法
目前大型的嵌入式系統(tǒng)大部分是分布式處理系統(tǒng),由多個模塊協(xié)同工作完成復(fù)雜的功能,模塊之間通過網(wǎng)絡(luò)互聯(lián)。一般將整個系統(tǒng)分成3個不同的層次:設(shè)備層、系統(tǒng)層和應(yīng)用層。針對這3個層次,系統(tǒng)的離線綜合測試可以通過互通性測試、功能測試和性能測試來進行。
互通性測試
互通性測試包括物理連通性和一致性的測試,確保系統(tǒng)中的各模塊之間進行互聯(lián)時不會出現(xiàn)問題。物理連通性和一致性的測試是最基本的網(wǎng)絡(luò)系統(tǒng)測試內(nèi)容,其中主要是線纜測試, 用以查明所測線纜及布線是否符合設(shè)計要求和國際標準。在寬帶交換機系統(tǒng)中,互通性測試由主控板按照網(wǎng)絡(luò)連接的層次,依次發(fā)送消息給各塊PBA單板,等待它們的回復(fù)。如果主控板能在規(guī)定時間內(nèi)收到回復(fù),說明從主控板到該單板的網(wǎng)絡(luò)連線正確。同時,主控板從PBA的回復(fù)中也獲取了有關(guān)單板的相關(guān)信息,為下一步的功能測試和性能測試奠定了基礎(chǔ)。
功能測試
在整個系統(tǒng)內(nèi)部的互通性測試完成之后,接著要進行功能測試,目的是檢驗設(shè)備能否完成它應(yīng)該具備的功能。設(shè)備不同,其所要進行的功能測試也相應(yīng)變化。如果單板硬件工作沒有異常,再由主控板啟動單板,執(zhí)行其所具有的特定功能。
性能測試
完成系統(tǒng)設(shè)備測試和網(wǎng)絡(luò)互通性測試之后就可以在系統(tǒng)上加載各種應(yīng)用。性能測試是綜合測試中最高層次的測試內(nèi)容,主要測試系統(tǒng)對應(yīng)用的支持水平。性能測試有不同的分類方法。在寬帶交換機系統(tǒng)中采用了仿真的方法,在實際的機架環(huán)境中,由測試集中的第一塊單板主動發(fā)送數(shù)據(jù)包,進行環(huán)回測試,主要進行的是數(shù)據(jù)鏈路層的測試,包括流量分析、錯誤數(shù)據(jù)統(tǒng)計等。
結(jié)語
以上介紹了寬帶交換機系統(tǒng)中實現(xiàn)單板硬件測試的一些方法和系統(tǒng)離線集成測試模型。在具體的開發(fā)中,用這些測試在設(shè)計階段盡早地檢查出了設(shè)計方面的問題。在維護階段,這些測試有效地定位了現(xiàn)場發(fā)現(xiàn)的問題。這些測試對寬帶交換機系統(tǒng)的可靠性起到了非常重要的作用,保證了系統(tǒng)在現(xiàn)場安全穩(wěn)定的工作?!?/p>
參考文獻
1 PCI Local Bus Specification Revision 2.2 December 18, 1998 Copyright 1992, 1993, 1995, 1998 PCI Special Interest Group
2 VxWorks Programmer’s Guide 5.4 Edition 1 Copyright 1984 -1999 Wind River Systems, Inc.
3 MPC860 PowerQUICCTM User’s Manual Motorola Inc. 1998
評論