專利名稱:一種硬件模塊的測試系統及方法
技術領域:
本發明涉及硬件模塊的測試技術,具體涉及一種硬件模塊的測試系統及方法。
背景技術:
當琳瑯滿目的產品出現時,作為產品的組成部分的各種硬件模塊也必然會 不斷進行重新設計、升級和更新。隨著各種高性能、高密度、小體積、多功能、 系列化的硬件模塊的出現,標志著硬件模塊已經由簡單的硬件電路設計逐漸向 復雜的硬件電路設計方向發展。復雜的硬件模塊不僅體現在功能多、密度高等方面,而且更體現在對外的 復雜接口、各種型號處理器應用以及多種硬件電路的集成等方面。硬件模塊的 不斷發展和應用,為硬件模塊的全面測試提出了更高的挑戰。目前,硬件模塊的測試系統主要由硬件模塊、設備儀表和測試后臺組成, 測試過程是由測試后臺控制設備儀表對硬件模塊進行測試的,這種測試方法由 于測試自動化程度不高,效率較低,所以在復雜的對外接口、射頻硬件指標等 方面的測試中 一般僅對某些對外接口和射頻硬件指標進行測試,而不對復雜的 對外接口、射頻硬件指標等進行全面測試,這很容易在后續的集成、系統級測 試中,因為接口指標問題和射頻硬件指標問題等原因導致錯誤產生,并且不同 的硬件模塊需要搭建不同的測試環境,測試成本較高。再者,對于具有處理器的硬件模塊的測試中,測試代碼和正式代碼包含在 一套代碼中,測試時,采用加載測試程序的方式進行測試,這樣調用測試程序 的方式,不但容易在測試過程中引入各種錯誤,并且不易于代碼的維護和移植。 發明內容有鑒于此,本發明的主要目的在于提供一種測試效率較高的測試系統及方 法,能夠較大地提高硬件模塊生產的效率、降低測試成本,且其代碼可移植性 好、易于維護。為達到上述目的,本發明的技術方案是這樣實現的一種硬件模塊的測試系統,該系統主要包括硬件模塊、測試封裝、設備 儀表和測試后臺,所述測試封裝用于配合硬件模塊的測試;所述測試后臺用于 對測試過程進行控制、設置測試參數以及數據讀取和處理;所述設備儀表用于 輸出測試過程中的測試數據。測試后臺進一步用于對設備儀表進行測試設置。一種硬件模塊的測試方法,進行硬件模塊測試時,測試后臺根據具體的測 試項,以信息交互的方式分別對硬件模塊和測試封裝的參數進行設置及對測試 過程進行控制,從而得出測試結果,測試過程中的測試數據由設備儀表輸出。進行硬件模塊對外接口測試時,所述得出測試結果為測試后臺控制測試 封裝對硬件模塊進行測試,測試封裝對硬件模塊對外接口進行測試后把測試結 果上報給測試后臺。進行硬件模塊射頻指標測試時,所述得出測試結果為測試過程中,測試 后臺獲取設備儀表輸出的測試數據,并對測試數據進行處理得出測試結果。該方法進一步包括測試后臺對設備儀表進行測試設置。所述進行硬件才莫塊測試時用到的測試程序與正式程序相互獨立,是由測試 代碼、基本底層驅動代碼和接口代碼編譯生成的,進行測試時硬件模塊程序調 用步驟為a、 硬件才莫塊單斧反上電時,程序調用流程啟動;b、 判斷硬件標識是否為測試標識,如果是,嘗試調用測試程序,執行步驟 c;否則,嘗試調用正式程序,執行步驟d;c、 判斷是否成功調用測試程序,如果是,運行測試程序進行測試,流程結
束;否則,程序調用流程保持在啟動狀態;d、判斷是否成功調用正式程序,如果是,運行正式程序,流程結束;否則, 調用次數加1,如果調用次數大于預設值,將調用次數清零后硬件模塊單板重 新啟動并返回步驟b,如果調用次數不大于預設值,則再次嘗試調用正式程序 并返回步驟d。步驟b所述硬件標識以跳線的方式進行設計,跳線短接為測試標識,跳線 拔掉為正式工作標識。一種硬件模塊的測試方法,測試過程中用到的測試程序與正式程序相互獨 立,是由測試代碼、基本底層驅動代碼和接口代碼編譯生成的,進行測試時硬 件模塊程序調用步驟為o、硬件模塊單板上電時,程序調用流程啟動;p、判斷硬件標識是否為測試標識,如果是,嘗試調用測試程序,執行步驟 q;否則,嘗試調用正式程序,執行步驟r;q、判斷是否成功調用測試程序,如果是,運行測試程序進行測試,流程結 束;否則,程序調用流程保持在啟動狀態;r、判斷是否成功調用正式程序,如果是,運行正式程序,流程結束;否貝'J, 調用次數力口 1,如果調用次數大于預設值,將調用次數清零后硬件模塊單板重 新啟動并返回步驟p,如果調用次數不大于預設值,則再次嘗試調用正式程序 并返回步驟r。步驟p所述硬件標識以跳線的方式進行設計,跳線短接為測試標識,跳線 拔掉為正式工作標識。本發明硬件模塊的測試系統及方法,增加集成了設備儀表部分功能的測試 封裝,來配合硬件模塊的測試,提高了測試效率和硬件模塊的生產效率,并降 低了測試成本,本發明還將正式代碼和測試代碼進4亍分離,增強了代碼的可移 植性,更易于維護。
圖1為本發明硬件模塊的測試系統示意圖; 圖2為本發明正式代碼與測試代碼之間的關系示意圖; 圖3為本發明正式軟件與測試軟件形成示意圖; 圖4為本發明硬件模塊程序調用流程圖。
具體實施方式
本發明硬件模塊的測試系統及方法,增加集成了設備儀表部分功能的測試 封裝,來配合硬件模塊的測試,提高了測試效率和硬件模塊的生產效率,并降 低了測試成本,本發明還將正式代碼和測試代碼進行分離,增強了代碼的可移 植性,更易于維護。下面以射頻收發信板(RPXX)為例對本發明硬件模塊的 測試系統及方法作進一步詳細說明。RFXX硬件單板上有處理器芯片、模擬電路、射頻硬件電路等。RFXX單 板的對外硬件接口包括上下電控制邏輯、通訊網口、調試串口、射頻信號輸入 輸出端口、槽位信息等。RFXX單板的射頻硬件指標測試包括下行校準測試、 下行驗證測試、下行輸出功率測試、下行輻射模板測試、上行靈壽文度測試、上 行阻塞測試等。圖1為本發明硬件模塊的測試系統示意圖,如圖l所示,本發明硬件模塊 的測試系統由硬件模塊11、測試封裝12、設備儀表13和測試后臺14組成。其 中,測試封裝12用于配合硬件模塊的測試,測試后臺14用于對測試過程進行 控制、設置測試參數以及數據讀取和處理,設備儀表13用于輸出測試過程中的 測試數據。測試后臺14可以通過通用引腳接口總線(GPIB)或者其它控制方 式,達到對設備儀表的自動控制。硬件模塊11的對外硬件接口 ,可以包括通訊、 數據傳輸、時鐘傳輸、硬件控制邏輯等等。測試封裝12是根據多種硬件模塊的 具體特點綜合考慮設計的,測試封裝12集成了設備儀表13的部分功能,能夠 在較大程度上盡可能的滿足多種硬件模塊的測試要求,以達到在大批量生產中,
大幅提高生產效率的目的。進行硬件才莫塊測試時,測試后臺14根據具體的測試項,以信息交互的方式 分別對硬件模塊11和測試封裝12的參數進行設置及對測試過程進行控制,從 而得出測試結果,測試過程中的測試數據由設備儀表13輸出。硬件模塊的射頻硬件指標測試中,測試后臺14根據具體的測試項,以消息 交互的方式分別對硬件模塊11和測試封裝12的參數如測試模式等進行設置及 對測試過程進行控制,獲取測試過程中設^[義表13的測試數據,并對測試數據 進行處理得出測試結果,測試過程中的測試數據由設^f義表13輸出。以RFXX 單板的下行校準測試為例,測試處理過程如下步驟1:搭好測試環境,進行RFXX單板、測試封裝、設備儀表、測試后 臺的正確連接。RFXX單板射頻輸出口,接到設備儀表(矢量分析儀)13上。步驟2:測試后臺14檢查本地用來更正輸出的校準文件是否存在,不存在 則創建校準文件,否則繼續執行;步驟3:測試后臺14發送測試模式消息到測試封裝12,啟動測試,測試封 裝12收到該消息后根據測試模式通過對外硬件接口發送測試數據到RFXX單 板,同時返回執行消息到測試后臺14,返回結果成功,繼續測試;失敗,結束 測試,輸出失敗信息;步驟4:測試后臺14控制設備儀表13進行測試相關設置,如頻點設置、 工作模式設置等,成功,繼續測試;失敗,結束測試,輸出失敗信息;步驟5:測試后臺14根據校準頻率范圍和每次校準的頻率跨度即校準步長 Step,計算測試步驟數N,成功,繼續測試;失敗,結束測試,輸出失敗信息;步驟6:測試后臺14才艮據初始單^1頻率FreqO,以及當前測試步驟數n ( n 的初始值為1),計算當前頻率Freq=FreqO+Stepxn,并發送設置頻率消息到 RFXX單纟反進4于射頻頻點-沒置,成功,繼續測試;失敗,結束測試,輸出失敗信息;步驟7:通過設備儀表13,讀取RFXX單板的輸出功率,讀取成功,繼續 測試;失敗,結束測試,輸出失敗信息; 步驟8:判斷通過設備儀表13讀取的RFXX單板輸出功率是否滿足設定的 要求,滿足要求,進行對應校準值計算,并寫入校準文件,否則,結束測試, 輸出失敗信息;步驟9:判斷當前測試步驟數n是否小于N,如果n<N,則n+l,并轉到 步驟6,否則繼續測試;步驟10:綜合每個測試頻點的測試結果,得出測試結果,測試結束。 硬件模塊的對外接口測試中,測試后臺14根據具體的測試項,以消息交互 的方式分別對硬件模塊11和測試封裝12的參數如測試模式等進行設置及對測 試過程進行控制,測試后臺14發送測試消息到測試封裝12,測試封裝12對硬 件模塊11對外接口進行測試后,把測試結果上報給測試后臺14,測試過程中 的測試數據由設備儀表13輸出。以RFXX單板的時鐘輸入接口測試為例,測 試處理過程為測試后臺14發送消息到測試封裝12;該消息攜帶測試類型等 內容,測試封裝12接收到消息后,發送時鐘信號和通知消息到RFXX單板; RFXX單板進行時鐘測試,并把測試結果報給測試封裝12;測試封裝12收到 測試結果后,再把測試結果上報到測試后臺14,測試過程中的測試數據由設備 儀表13輸出。但是,并不是所有的測試項都必須需要測試封裝12、設備儀表13,如硬件 模塊的部分測試則可以通過測試后臺14和硬件模塊11直接交互完成。測試后 臺14發送測試消息到硬件模塊11,硬件模塊ll接收到消息后進行測試處理, 把測試結果或者測試信息上報給測試后臺14。以RFXX單板的電可編程邏輯器 件(EPLD)的測試為例,測試后臺14通過網口發送測試消息到RFXX單板, 測試消息中包含測試需要測試的測試項,RFXX單板接收到該消息后,進行對 應的測試,4巴測試結果或者測試信息上報給測試后臺14,測試后臺14在顯示 的同時進行保存。圖2為本發明正式代碼與測試代碼之間的關系示意圖。如圖2所示,本發 明正式代碼包括高層軟件21、基本底層驅動代碼23和接口代碼24。測試代碼 22可以調用接口代碼24或者直接操作硬件模塊的硬件來完成相關的部分測試。
可以看出,高層軟件21和測試代碼22為兩套代碼,不會相互影響。圖3為本發明正式軟件與測試軟件形成示意圖,如圖3所示,正式運行程 序SBx(x-0, 1, 2, 3, n)由高層軟件開發分支上的節點Sx (x=0, 1, 2, 3, n)和基本底層驅動代碼和接口代碼開發分支上的節點Bx (x=0, 1, 2, 3, n) 共同編譯生成。測試運4亍程序CBx (x=0, 1, 2, 3, n)由測試代碼開發分支 上的節點Cx(x-O, 1, 2, 3, n)與基本底層驅動代碼和接口代碼開發分支上 的節點Bx(x-O, 1, 2, 3, n)共同編譯生成。其中,高層軟件開發分支上的節點Sx表示高層軟件的版本變化,基本底層 驅動代碼和接口代碼開發分支上的節點Bx表示基本底層驅動代碼和接口代碼 版本變化,Cx表示測試代碼的版本變化。各個開發分支上相鄰的節點版本可以 完全相同,即軟件不發生變化。高層軟件版本Sx、測試代碼Cx、基本底層代 碼和接口代碼Bx的獨立分支開發,便于代碼的維護和移;f直。分別創建兩個工程項目,對應RFXX—PrjSB和RFXX—PrjCB,并分別添加 對應的代碼。RFXX—PrjSB工程項目包括Sx和Bx代碼,編譯生成SBx正式運 行程序。RFXX—PrjCB工程項目包括Cx和Bx代碼,編譯生成CBx測試運行程 序。硬件模塊上增加硬件標識,用以區分硬件模塊工作或者測試的環節。硬件 標識可以以跳線或者撥碼開關等方式進行設計,可以方便的進行硬件模塊工作 或者測試環節的切換。根據硬件模塊的硬件標識,硬件模塊在啟動過程中,很 容易判斷當前硬件模塊所處的工作或者測試環節,從而根據硬件模塊所處的工 作或者測試環節調用對應的程序。例如處于模塊級或者集成級測試時,調用測 試運行程序CBx,處于系統級測試或者正常工作時,調用正式運行程序SBx。 RFXX單板上設計有硬件跳線,通過短路塊短接表示測試模式、短路塊斷開表 示正式一莫式。圖4為本發明硬件模塊程序調用流程圖,如圖4所示,本發明硬件模塊程 序調用流程如下步驟401 步驟405:當RFXX單板上電、啟動(BOOT)完成后,判斷硬
件標識是否為測試標識,如果是,嘗試調用測試程序CBx,然后執行步驟406; 否則,嘗試調用正式程序SBx,然后執行步驟409。這里,根據單板上的硬件 跳線所處的位置判斷RFXX單板的狀態,RFXX單4反跳線短接為測試標識,單 板跳線拔掉為正式工作標識,即當RFXX單板跳線短接時,嘗試調用測試程序 CBx; RFXX單板跳線拔掉時,嘗試調用正式程序SBx。步驟406 步驟408:判斷是否成功調用測試程序CBx,如果是,運行測試 程序進行測試,本流程結束;否則,保持在BOOT狀態,本流程結束。步驟409 步驟411:判斷是否成功調用正式程序SBx,如果是,運行正式 程序,本流程結束;否則,調用次數加l,執行步驟412。步驟412:判斷調用次數是否大于預設值,如果是,將調用次數清零后返 回步驟402,單才反重新復位啟動;否則,返回步驟405,再次嘗試調用正式程序。 預設值為一大于O的整數,其值根據實際情況設定。RFXX單板跳線模塊的靈活設置,可以使RFXX單板比較方便的進行對應 程序的調用,極大的提高了測試生產效率。以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
權利要求
1、一種硬件模塊的測試系統,其特征在于,該系統主要包括硬件模塊、測試封裝、設備儀表和測試后臺,所述測試封裝用于配合硬件模塊的測試;所述測試后臺用于對測試過程進行控制、設置測試參數以及數據讀取和處理;所述設備儀表用于輸出測試過程中的測試數據。
2、 根據權利要求1所述的系統,其特征在于,所述測試后臺進一步用于對 設備儀表進行測試設置。
3、 一種硬件模塊的測試方法,其特征在于,進行硬件模塊測試時,測試后 臺根據具體的測試項,以信息交互的方式分別對^/f牛;漠塊和測試封裝的參數進行設置及對測試過程進行控制,從而得出測試結果,測試過程中的測試數據由 設備儀表輸出。
4、 根據權利要求3所述的方法,其特征在于,進行硬件模塊對外接口測試 時,所述得出測試結果為測試后臺控制測試封裝對硬件模塊進行測試,測試 封裝對硬件模塊對外接口進行測試后把測試結果上報給測試后臺。
5、 根據權利要求3所述的方法,其特征在于,進行硬件模塊射頻指標測試 時,所述得出測試結果為測試過程中,測試后臺獲取設備4義表輸出的測試數 據,并對測試數據進行處理得出測試結果。
6、 根據權利要求3所述的方法,其特征在于,該方法進一步包括測試后 臺對設備儀表進行測試設置。
7、 根據權利要求3所述的方法,其特征在于,所述進行硬件模塊測試時用 到的測試程序與正式程序相互獨立,是由測試代碼、基本底層驅動代碼和接口 代碼編譯生成的,進行測試時硬件模塊程序調用步驟為a、 硬件模塊單板上電時,程序調用流程啟動;b、 判斷硬件標識是否為測試標識,如果是,嘗試調用測試程序,執行步驟 c;否則,嘗試調用正式程序,執行步驟d;c、 判斷是否成功調用測試程序,如果是,運行測試程序進行測試,流程結 束;否則,程序調用流程保持在啟動狀態;d、判斷是否成功調用正式程序,如果是,運行正式程序,流程結束;否貝'J, 調用次數加1,如果調用次數大于預設值,將調用次數清零后硬件模塊單板重 新啟動并返回步驟b,如果調用次數不大于預設值,則再次嘗試調用正式程序 并返回步驟d。
8、 根據權利要求7所述的方法,其特征在于,步驟b所述硬件標識以跳線 的方式進行設計,跳線短接為測試標識,跳線拔掉為正式工作標識。
9、 一種硬件模塊的測試方法,其特征在于,測試過程中用到的測試程序與 正式程序相互獨立,是由測試代碼、基本底層驅動代碼和接口代碼編譯生成的, 進行測試時硬件模塊程序調用步驟為o、硬件模塊單板上電時,程序調用流程啟動;p、判斷硬件標識是否為測試標識,如果是,嘗試調用測試程序,執行步驟 q;否則,嘗試調用正式程序,執行步驟r;q、判斷是否成功調用測試程序,如果是,運行測試程序進行測試,流程結 束;否則,程序調用流程保持在啟動狀態;r、判斷是否成功調用正式程序,如果是,運行正式程序,流程結束;否貝'J, 調用次數加1,如果調用次數大于預設值,將調用次數清零后硬件模塊單板重 新啟動并返回步驟p,如果調用次數不大于預設值,則再次嘗試調用正式程序 并返回步驟r。
10、 根據權利要求9所述的方法,其特征在于,步驟p所述硬件標識以跳 線的方式進行設計,跳線短接為測試標識,跳線拔掉為正式工作標識。
全文摘要
本發明公開了一種硬件模塊的測試系統,該系統主要包括硬件模塊、測試封裝、設備儀表和測試后臺,其中,測試封裝主要用于配合硬件模塊內部硬件測試、對外接口測試以及硬件指標測試,本發明還公開了一種硬件模塊的測試方法,采用測試封裝配合硬件模塊的測試,并將測試代碼和正式代碼進行分離。本發明的硬件模塊的測試系統及方法,由于增加集成了設備儀表部分功能的測試封裝來配合硬件模塊的測試,提高了測試效率合硬件模塊的生產效率,并降低了測試成本,同時,正式代碼和測試代碼的分離,增強了代碼的可移植性,更易于維護。
文檔編號H04B17/00GK101159499SQ20071017697
公開日2008年4月9日 申請日期2007年11月7日 優先權日2007年11月7日
發明者吳學德, 崔文會, 王紅展, 羅文勝 申請人:中興通訊股份有限公司