《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)離線測試
嵌入式系統(tǒng)離線測試
中電網(wǎng)
祝捷
摘要: 隨著嵌入式系統(tǒng)的發(fā)展,,迫切需要在嵌入式系統(tǒng)開發(fā)階段對(duì)嵌入式系統(tǒng)進(jìn)行離線測試與分析,,以保證系統(tǒng)的軟件應(yīng)用程序、硬件具有兼容性,、高可靠性和高可用性,,迅速發(fā)現(xiàn)并準(zhǔn)確定位系統(tǒng)中存在的問題,。本文結(jié)合上海貝爾阿爾卡特股份有限公司開發(fā)的寬帶交換系統(tǒng),討論離線單板硬件測試方法和系統(tǒng)測試方法,。
Abstract:
Key words :

  引言
    
  隨著嵌入式系統(tǒng)的發(fā)展,,迫切需要在嵌入式系統(tǒng)開發(fā)階段對(duì)嵌入式系統(tǒng)進(jìn)行離線測試與分析,以保證系統(tǒng)的軟件應(yīng)用程序,、硬件具有兼容性,、高可靠性和高可用性,迅速發(fā)現(xiàn)并準(zhǔn)確定位系統(tǒng)中存在的問題,。本文結(jié)合上海貝爾阿爾卡特股份有限公司開發(fā)的寬帶交換系統(tǒng),,討論離線單板硬件測試方法和系統(tǒng)測試方法。

  離線單板硬件測試概述
    
  在寬帶交換機(jī)系統(tǒng)中,,離線測試包括自檢測試和一般的離線測試,。自檢測試是單板初始化完成后為了保證板子的正確運(yùn)轉(zhuǎn)進(jìn)行的測試。它主要包括看門狗測試,、快速硬件器件測試和下載通路測試,。  快速硬件測試完成寄存器測試和單板上單個(gè)硬件設(shè)備測試,,其中又包括許多測試項(xiàng),。如果某一測試項(xiàng)測試失敗,整個(gè)測試就會(huì)停止直到看門狗超時(shí)重啟系統(tǒng),。下載測試是為了保證軟件下載功能能正常工作而進(jìn)行的測試,。這項(xiàng)測試主要完成通信接口收發(fā)數(shù)據(jù)測試、中斷功能測試,。而一般的離線測試是在出廠檢驗(yàn),、開發(fā)階段中的檢測和維修診斷時(shí)對(duì)上述的各測試項(xiàng)進(jìn)行更具體的測試,以定位單板上的出錯(cuò)位置,。

  看門狗測試
    
  在做任何一項(xiàng)硬件測試之前必須完成看門狗測試,。這是因?yàn)橐豁?xiàng)硬件測試失敗之后需要重啟系統(tǒng),而硬件測試的失敗通常是以看門狗超時(shí)為判斷條件的,。這就需要看門狗在硬件測試時(shí)能正常工作,。看門狗測試方法是設(shè)置并激活一個(gè)1秒的看門狗,,等待1秒后系統(tǒng)重啟,。

  Flash測試
    
  在Flash中可存放程序,也可以存放數(shù)據(jù)。在燒錄Flash時(shí),,可存放預(yù)先計(jì)算好的checksum值,。要測試Flash時(shí),程序重新計(jì)算checksum,,然后與預(yù)先存放的值進(jìn)行比較,。
    
  數(shù)據(jù)Flash的測試方法有兩種。一種是非破壞性的基本測試,,主要是checksum測試,。另一種是破壞性的擴(kuò)展測試,包括讀寫測試和地址/數(shù)據(jù)總線測試,,具體方法與內(nèi)存測試一致,。基本測試可在系統(tǒng)自檢時(shí)使用,,擴(kuò)展測試可在維修診斷時(shí)采用,。

  內(nèi)存測試

  內(nèi)存測試可分為三類:

1. 數(shù)據(jù)總線測試: 將0001循環(huán)左移并寫入內(nèi)存,然后讀出并比較測試,。

2. 內(nèi)存區(qū)測試: 對(duì)內(nèi)存所有存儲(chǔ)單元進(jìn)行讀寫測試(讀寫5555H和AAAAH測試),。

3. 地址總線測試:對(duì)內(nèi)存所有存儲(chǔ)單元進(jìn)行地址累加測試。從RAM的基地址起,,在每一個(gè)存儲(chǔ)單元(按照總線寬度)中寫入不同的值(遞增值),,地址遞增,直至所有的存儲(chǔ)單元都保存不同的內(nèi)容,,然后讀出并進(jìn)行檢驗(yàn),。

  地址總線測試還可采用快速測試的方法:對(duì)0x1地址的內(nèi)存單元寫入地址值0x1,地址值循環(huán)左移,,依次將相應(yīng)的地址值寫入相應(yīng)的內(nèi)存地址,,最后檢驗(yàn)。

  在本文的系統(tǒng)中,,自檢測試時(shí)只包括內(nèi)存區(qū)測試,。并且,由于測試時(shí)間的限制,,只是隨機(jī)選擇內(nèi)存的一些頁面進(jìn)行讀寫測試,。對(duì)于其它的內(nèi)存測試方法,可以用于出廠檢驗(yàn),、開發(fā)階段中的檢測和維修診斷,。

  主控芯片測試

  主控芯片測試主要是對(duì)主控芯片進(jìn)行定時(shí)器測試、寄存器測試,、中斷測試和片內(nèi)RAM測試,。寄存器測試是對(duì)一些特殊寄存器的功能進(jìn)行測試,,以驗(yàn)證CPU寄存器是否能正常工作,。中斷測試是人為產(chǎn)生一些硬件中斷,,檢測主控芯片對(duì)中斷的反應(yīng),是否能及時(shí)標(biāo)志中斷寄存器的相應(yīng)標(biāo)志位,。片內(nèi)內(nèi)存測試則遵循一般內(nèi)存測試規(guī)則,。

  PLD/FPGA簡單測試

  在寬帶交換機(jī)系統(tǒng)中,較大的FPGA常實(shí)現(xiàn)較復(fù)雜的功能,。在測試時(shí)要對(duì)相關(guān)的功能進(jìn)行詳細(xì)的功能測試,。而對(duì)于其它簡單的小型PLD/FPGA則尋求自測的方法,在PLD或FPGA的編制過程中,,適當(dāng)?shù)募尤胍恍┳詼y手段,。當(dāng)主控芯片要測試它們時(shí),設(shè)置和讀取相應(yīng)的PLD或FPGA的測試接口,,從而獲得測試結(jié)果,。

  PCI總線測試

  PCI總線常用于連接處理器和各類外設(shè)。它提供了一個(gè)低時(shí)延路徑,,使處理器能夠直接存取任何映射在存儲(chǔ)器或I/O地址空間的PCI設(shè)備,。它還提供一個(gè)高帶寬路徑,允許PCI主設(shè)備直接到主存儲(chǔ)器存取,。測試方法是先測試是否能正確讀寫PCI配置空間寄存器,,然后測試內(nèi)存映射是否可以在兩端正確讀寫。

  嵌入式系統(tǒng)離線測試方法

  增量測試模型

  在單板測試完成后,,系統(tǒng)集成在一起之后有可能仍不能正常工作,。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問題,。例如,,數(shù)據(jù)經(jīng)過接口可能丟失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響,;模塊之間的硬件連接不正確也可能造成通信不暢,;誤差不斷積累達(dá)到不可接受的程度等等。所以需要通過綜合測試來發(fā)現(xiàn)各種錯(cuò)誤,。

  如果把所有模塊按設(shè)計(jì)要求一次全部組裝起來,,然后直接運(yùn)行系統(tǒng)軟件,這稱為非增量式集成,。這種方法易出現(xiàn)混亂,,在改正一個(gè)錯(cuò)誤時(shí)又可能引入新的錯(cuò)誤,新舊錯(cuò)誤混雜,,更難斷定出錯(cuò)的原因和位置,。增量式集成方法通過測試軟件一段一段地?cái)U(kuò)展,測試的范圍一步一步地增大,來逐步定位錯(cuò)誤和糾正,。根據(jù)系統(tǒng)的不同特點(diǎn)可以采用兩種增量式集成模型:自底向上集成和自頂向下集成,。

  寬帶機(jī)架系統(tǒng)由主控板和其它單板組成,離線系統(tǒng)測試軟件采用自頂向下集成的方法,。由主控板將各個(gè)單板的系統(tǒng)測試程序通過網(wǎng)絡(luò)下載到目的板,,然后主控板通過深度優(yōu)先策略搜索單板。首先主控板發(fā)送消息到直連的單板,,如果主控板,、單板之間連線正確,且單板硬件及軟件工作正常,,單板收到消息后將自己的相關(guān)信息返回給主控板,。接著主控板再通過直連的單板獲取下層單板的相關(guān)信息,直到獲得所有單板的相關(guān)信息(位置,,單板類型等),,然后就可以開始整個(gè)系統(tǒng)的綜合測試。

  綜合測試方法

  目前大型的嵌入式系統(tǒng)大部分是分布式處理系統(tǒng),,由多個(gè)模塊協(xié)同工作完成復(fù)雜的功能,,模塊之間通過網(wǎng)絡(luò)互聯(lián)。一般將整個(gè)系統(tǒng)分成3個(gè)不同的層次:設(shè)備層,、系統(tǒng)層和應(yīng)用層,。針對(duì)這3個(gè)層次,系統(tǒng)的離線綜合測試可以通過互通性測試,、功能測試和性能測試來進(jìn)行,。

  互通性測試

  互通性測試包括物理連通性和一致性的測試,確保系統(tǒng)中的各模塊之間進(jìn)行互聯(lián)時(shí)不會(huì)出現(xiàn)問題。物理連通性和一致性的測試是最基本的網(wǎng)絡(luò)系統(tǒng)測試內(nèi)容,其中主要是線纜測試, 用以查明所測線纜及布線是否符合設(shè)計(jì)要求和國際標(biāo)準(zhǔn),。在寬帶交換機(jī)系統(tǒng)中,,互通性測試由主控板按照網(wǎng)絡(luò)連接的層次,依次發(fā)送消息給各塊PBA單板,,等待它們的回復(fù),。如果主控板能在規(guī)定時(shí)間內(nèi)收到回復(fù),說明從主控板到該單板的網(wǎng)絡(luò)連線正確,。同時(shí),,主控板從PBA的回復(fù)中也獲取了有關(guān)單板的相關(guān)信息,為下一步的功能測試和性能測試奠定了基礎(chǔ),。

  功能測試

  在整個(gè)系統(tǒng)內(nèi)部的互通性測試完成之后,,接著要進(jìn)行功能測試,目的是檢驗(yàn)設(shè)備能否完成它應(yīng)該具備的功能,。設(shè)備不同,,其所要進(jìn)行的功能測試也相應(yīng)變化,。如果單板硬件工作沒有異常,再由主控板啟動(dòng)單板,,執(zhí)行其所具有的特定功能,。

  性能測試

  完成系統(tǒng)設(shè)備測試和網(wǎng)絡(luò)互通性測試之后就可以在系統(tǒng)上加載各種應(yīng)用。性能測試是綜合測試中最高層次的測試內(nèi)容,主要測試系統(tǒng)對(duì)應(yīng)用的支持水平,。性能測試有不同的分類方法,。在寬帶交換機(jī)系統(tǒng)中采用了仿真的方法,,在實(shí)際的機(jī)架環(huán)境中,,由測試集中的第一塊單板主動(dòng)發(fā)送數(shù)據(jù)包,進(jìn)行環(huán)回測試,,主要進(jìn)行的是數(shù)據(jù)鏈路層的測試,,包括流量分析、錯(cuò)誤數(shù)據(jù)統(tǒng)計(jì)等,。

  結(jié)語

  以上介紹了寬帶交換機(jī)系統(tǒng)中實(shí)現(xiàn)單板硬件測試的一些方法和系統(tǒng)離線集成測試模型,。在具體的開發(fā)中,用這些測試在設(shè)計(jì)階段盡早地檢查出了設(shè)計(jì)方面的問題,。在維護(hù)階段,,這些測試有效地定位了現(xiàn)場發(fā)現(xiàn)的問題。這些測試對(duì)寬帶交換機(jī)系統(tǒng)的可靠性起到了非常重要的作用,,保證了系統(tǒng)在現(xiàn)場安全穩(wěn)定的工作,。

  參考文獻(xiàn)

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。