一種硬件測試方法
【專利摘要】本發(fā)明提供一種硬件測試方法,包括:接收待測硬件的信息;通過硬件適配器與所述待測硬件連接起來;根據(jù)所述待測硬件的信息,通過查詢預(yù)先存儲的硬件協(xié)議,從而對所述待測硬件進行測試,以得到測試結(jié)果。本發(fā)明的硬件測試方法簡化了硬件設(shè)備測試,提高了測試效率,并且降低了重復(fù)開發(fā)的概率。
【專利說明】一種硬件測試方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明總體上涉及半導(dǎo)體領(lǐng)域,更具體地,涉及對硬件參數(shù)進行測試的領(lǐng)域。
【背景技術(shù)】
[0002] 硬件設(shè)備,例如半導(dǎo)體測試中硬件測試設(shè)備。半導(dǎo)體晶圓通常需要進行嚴(yán)格的測 試。晶圓測試是對晶片上的每個晶粒進行針測,在檢測頭裝上以金線制成細如毛發(fā)的探針 (probe),與晶粒上的接點(pad)接觸,通過硬件設(shè)備測試其電氣,光學(xué),機械等物理化學(xué)特 性,不合格的晶粒會被標(biāo)上記號,而后當(dāng)晶片依晶粒為單位切割成獨立的晶粒時,標(biāo)有記號 的不合格晶粒會被淘汰,不再進行下一個制程,以免徒增制造成本。
[0003] 不同的硬件設(shè)備、晶圓通常具有不同的參數(shù),例如,不同廠商生產(chǎn)出的相同類型的 晶圓常常會表現(xiàn)出不同的性能,甚至同一廠商生產(chǎn)的同一批晶圓也可能存在差異。同樣,不 同廠商生產(chǎn)出的相同類型的硬件測試設(shè)備,甚至同一廠商生產(chǎn)的同一系列硬件測試設(shè)備也 存在著差異。
[0004] 在傳統(tǒng)的晶圓測試中,通常需要針對不同的硬件測試設(shè)備。晶圓來開發(fā)出不同的 測試系統(tǒng),而由于硬件測試設(shè)備和晶圓的差異性非常巨大,所以開發(fā)出不同的測試系統(tǒng)將 是一件非常耗時且容易出錯的工作,由此也將使得測試者的效率低下,并且費用昂貴,同時 也制約了新型晶圓的開發(fā)和研究。
[0005] 此外,即使不同硬件測試設(shè)備,晶圓存在著差異,但其也有著相同之處。對于這些 相同之處,測試人員也需要再次對測試系統(tǒng)進行開發(fā),從而導(dǎo)致了很多重復(fù)工作。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的至少在于克服現(xiàn)有技術(shù)中硬件設(shè)備測試的繁瑣、效率低下以及重復(fù) 開發(fā)等問題。
[0007] 根據(jù)本發(fā)明的一個方面,提供一種硬件測試方法,包括:接收待測硬件的信息;通 過硬件適配器與所述待測硬件連接起來;根據(jù)所述待測硬件的信息,通過查詢預(yù)先存儲的 硬件協(xié)議,從而對所述待測硬件進行測試,以得到測試結(jié)果。
[0008] 根據(jù)本發(fā)明的一個實施方式,其中,接收待測硬件的信息包括:接收待測硬件的輸 入?yún)?shù);以及,接收測試流程信息,其中所述測試流程信息用于對所述待測硬件的輸入?yún)?shù) 進行調(diào)度。
[0009] 根據(jù)本發(fā)明的一個實施方式,進一步包括:將所述待測硬件的信息轉(zhuǎn)換為計算機 可執(zhí)行語言;以及將所述計算機可執(zhí)行語言編譯為目標(biāo)程序;其中,根據(jù)所述目標(biāo)程序,通 過查詢預(yù)先存儲的硬件協(xié)議,來對連接到所述硬件適配器的待測硬件進行測試。
[0010] 根據(jù)本發(fā)明的一個實施方式,其中,所述計算機可執(zhí)行語言為i語言。
[0011] 根據(jù)本發(fā)明的一個實施方式,其中對所述待測硬件進行測試通過如下方式來進 行:將所述輸入?yún)?shù)按照所述測試流程信息寫入到所述待測硬件中;以及讀取所述待測硬 件的測試結(jié)果。
[0012] 根據(jù)本發(fā)明的一個實施方式,進一步包括:在緩存器中存儲來自于所述硬件適配 器中的測試結(jié)果;讀取所述緩存器中的測試結(jié)果以供呈現(xiàn)。
[0013] 根據(jù)本發(fā)明的一個實施方式,進一步包括:采用數(shù)據(jù)訪問層接口來對所讀取的測 試結(jié)果進行訪問和抽象。
[0014] 根據(jù)本發(fā)明的一個實施方式,其中,以下列方式中的至少一種來呈現(xiàn)所述測試結(jié) 果:通過顯示器來呈現(xiàn)所述測試結(jié)果;通過報告的形式來呈現(xiàn)所述測試結(jié)果;直接將所述 測試結(jié)果以數(shù)據(jù)的形式輸出;以及以插件兼容的方式來呈現(xiàn)或處理所述測試結(jié)果。
[0015] 根據(jù)本發(fā)明的一個實施方式,進一步包括:通過路由器與所述硬件適配器相連接, 以根據(jù)待測硬件的信息對來自和/或去往所述硬件適配器的數(shù)據(jù)進行路由。
[0016] 根據(jù)本發(fā)明的一個實施方式,其中進行路由包括通過多條通道對來自和/或去往 所述硬件適配器的數(shù)據(jù)進行并行傳輸。
[0017] 本發(fā)明所實現(xiàn)的有益效果至少在于簡化了硬件設(shè)備測試,提高了測試效率,并且 降低了重復(fù)開發(fā)的概率。
【專利附圖】
【附圖說明】
[0018] 圖1示出了根據(jù)本發(fā)明一個實施方式的測試方法所應(yīng)用的硬件測試系統(tǒng)的示意 性框圖; 圖2示出了根據(jù)本發(fā)明一個示例性實施方式的硬件測試系統(tǒng)中測試信息接收器所呈 現(xiàn)的輸入界面的示例; 圖3示出了根據(jù)本發(fā)明另一個實施方式的硬件測試系統(tǒng)的示意性框圖; 圖4示出了根據(jù)本發(fā)明又一個實施方式的硬件測試系統(tǒng)的示意性框圖; 圖5示出了根據(jù)本發(fā)明再一個實施方式的硬件測試系統(tǒng)的示意性框圖; 圖6示出了根據(jù)本發(fā)明一個優(yōu)選實施方式的硬件測試系統(tǒng)的示意性框圖;以及 圖7示出了根據(jù)本發(fā)明一個實施方式的硬件測試方法的流程圖。
【具體實施方式】
[0019] 下面結(jié)合附圖來對本發(fā)明的實施方式進行詳細描述。
[0020] 圖1示出了根據(jù)本發(fā)明一個實施方式的測試方法可以應(yīng)用的硬件測試系統(tǒng)10的 示意性框圖。需要理解的是,圖1僅僅是本發(fā)明的方法所應(yīng)用的一個示例性實施方式,并不 意味著本發(fā)明必然由圖1的系統(tǒng)來執(zhí)行,而是可以由任何其他系統(tǒng)(包括硬件、軟件、或二 者的結(jié)合)來執(zhí)行。因此本發(fā)明的系統(tǒng)和方法并不必然地存在著執(zhí)行主體和被執(zhí)行方法的 關(guān)系。
[0021] 如圖1所示,根據(jù)本發(fā)明的硬件測試系統(tǒng)10包括:測試信息接收器110,配置用于 接收待測硬件的信息;硬件協(xié)議庫120,配置用于存儲待測硬件的協(xié)議;硬件適配器130,配 置用于與所述待測硬件連接并與所述待測硬件進行通信;以及測試流控制器140,配置用 于根據(jù)所述待測硬件的信息,通過查詢所述硬件協(xié)議庫,來與連接到所述硬件適配器的待 測硬件交換數(shù)據(jù),從而對所述待測硬件進行測試,以得到測試結(jié)果。
[0022] 測試信息接收器110可以從任何來源接收待測硬件的信息。例如,可以通過手動 輸入的方式來向測試信息接收器110輸入待測硬件的信息;也可以通過編寫程序的方式, 將所需的待測硬件的信息寫入到該程序中,然后由該程序直接將信息寫入到該測試信息接 收器110中。對于一些固定的硬件設(shè)備而言,還可以將這些硬件設(shè)備的信息嵌入在測試信 息接收器中,或者預(yù)先存儲在存儲器中,當(dāng)測試信息接收器110啟動時,則加載或者調(diào)用這 些信息。因此,測試信息接收器可以采用任何已知或者未知的方式來接收信息。
[0023] 根據(jù)本發(fā)明的一個實施方式,其中,所述待測硬件的信息包括待測硬件的輸入?yún)?數(shù)和測試流程信息,所述測試流程信息用于對所述待測硬件的輸入?yún)?shù)進行調(diào)度。
[0024] 所述待測硬件的信息可以至少包括所述待測硬件的名稱。所述待測硬件的信息還 可以包括待測硬件所要采用的通信協(xié)議,待測硬件的地址,待測硬件所處的端口等等。
[0025] 根據(jù)本發(fā)明的上述實施方式,所述測試流程信息是對待測硬件的信息進行安排和 調(diào)度的信息,例如,當(dāng)存在多個待測硬件的情況下,測試流程信息可以控制待測硬件的測試 順序,即先測試哪個硬件,后測試哪個硬件。此外,對于每個待測硬件而言,測試流程信息還 可以控制該待測硬件中多個參數(shù)的測試順序。需要理解的是,測試流程信息并不僅僅是按 照時間的先后順序來測試硬件或者參數(shù),而是可以存在多種邏輯關(guān)系,例如當(dāng)滿足特定條 件時,則開始測量另一個硬件或者參數(shù)。本領(lǐng)域技術(shù)人員可以根據(jù)需求來對測試流程信息 進行編寫。
[0026] 圖2示出了根據(jù)本發(fā)明一個示例性實施方式的測試信息接收器110所呈現(xiàn)的輸入 界面的示例。
[0027] 如圖2所示,該輸入界面可以包括待測硬件的名稱(儀器,名稱為K4200SCS)、待測 硬件的輸入?yún)?shù)(輸入?yún)?shù))、所需的輸出參數(shù)、測試類型(類型,類型為lgs)、測試條件以 及各參數(shù)的單位等等。需要理解的是,對于某些待測硬件,無需在該輸入界面中錄入其輸入 參數(shù),而是可以在硬件上直接設(shè)置其設(shè)定其輸入?yún)?shù);或者,對于某些硬件設(shè)備而言,其參 數(shù)比較簡單,因此其輸入?yún)?shù)在硬件制造完成時已經(jīng)設(shè)定好了,因此無需錄入其輸入?yún)?shù)。 而對于某些硬件設(shè)備而言,其輸出參數(shù)可能僅有一個,因此系統(tǒng)則默認(rèn)并識別該輸出參數(shù), 由此在該輸入界面中也無需手動錄入其輸出參數(shù)。
[0028] 上面所述的輸入和輸出參數(shù),可以是有關(guān)于硬件的任何類型的參數(shù),包括但不限 于電壓、電流、電感、電阻、電容、測試間隔以及上述參數(shù)的各種組合等等。
[0029] 圖2中還示出了一個測試流程信息的示例。如圖2所示,本示例的測試包括測試 1、測試2、測試3和測試4,每個測試針對相應(yīng)的儀器以及測試類型,并且由此會得到相應(yīng)的 結(jié)果。本領(lǐng)域技術(shù)人員可以根據(jù)需求來安排該測試流程信息。
[0030] 需要理解的是,圖2所示僅僅是一種示例,本領(lǐng)域技術(shù)人員可以采用任何其他類 型的界面設(shè)置,并且對于不同的硬件設(shè)備(儀器)而言,其對應(yīng)的輸入?yún)?shù)和輸出參數(shù)也有 所不同。
[0031] 硬件協(xié)議庫是一個存儲與硬件通信所需協(xié)議的空間或者存儲器。所存儲的協(xié)議可 以是一種或多種,不同的設(shè)備之間可以采用相同或者不同的協(xié)議進行通信,而相同的設(shè)備 之間也可以采用相同或者不同的協(xié)議進行通信。例如,計算機與同樣的外部設(shè)備之間即可 以通過USB 口進行通信,也可以通過諸如TCPIP,GPIB,藍牙,串行通信等協(xié)議進行通信。
[0032] 硬件適配器用于根據(jù)硬件協(xié)議庫中存儲的協(xié)議同與之連接的待測硬件進行通信。 每個硬件設(shè)備只與其相應(yīng)的硬件適配器對象進行通信。硬件適配器對象通過配置于其上的 通信協(xié)議、端口、地址等來唯一地識別硬件設(shè)備。
[0033] 本發(fā)明的硬件適配器可以采用任何已知類型的適配器。對于未來開發(fā)出的硬件, 其適配器也可以以插件的形式安裝到本發(fā)明的系統(tǒng)中。所加載或安裝的硬件適配器插件可 以存儲在規(guī)定的空間中,從而在需要的時候被調(diào)用。
[0034] 硬件適配器可以通過人工來創(chuàng)建或者銷毀。根據(jù)本發(fā)明的一個實施方式,可以提 供硬件適配器控制器來管理硬件適配器的生命周期(例如硬件適配器的創(chuàng)建、銷毀、檢索 等等),并控制硬件適配器在規(guī)定空間中的加載或者安裝。
[0035] 根據(jù)本發(fā)明的上述實施方式,本領(lǐng)域技術(shù)人員可以理解,根據(jù)用戶需求,可以通過 添加或刪除硬件適配器來對新的硬件進行測試,由此擴展了硬件測試的適應(yīng)性。
[0036] 根據(jù)本發(fā)明的一個實施方式,如圖1所示,測試流控制器130用于對測試信息接收 器110、硬件協(xié)議庫120以及硬件適配器130進行控制和管理,并對來往于各個組件之間的 數(shù)據(jù)流進行調(diào)度。
[0037] 更具體地,測試流控制器140首先從測試信息接收器110中接收待測硬件的信息, 例如待測硬件的輸入?yún)?shù)和測試流程信息等等,然后例如根據(jù)待測硬件的信息(例如待測 硬件信息中的待測硬件名稱)來找到適當(dāng)?shù)挠布m配器130,并將待測硬件的信息(例如輸 入?yún)?shù))傳送到硬件適配器130以與待測硬件進行通信。硬件適配器130通過根據(jù)硬件協(xié) 議庫120中的適當(dāng)協(xié)議同與之連接的待測硬件進行通信,即將所接收到的輸入?yún)?shù)傳送給 待測硬件,以期望根據(jù)這些輸入?yún)?shù)來得到輸出參數(shù)。
[0038] 待測硬件的信息可以以多種形式存在,例如可以以計算機代碼的形式存在,或者 以自然信號的形式存在,然后經(jīng)過計算機處理而得到計算機可識別的形式。
[0039] 根據(jù)本發(fā)明的一個實施方式,待測硬件的信息可以以人類能理解的自然語言的形 式存在,如圖2所示的那樣,由此更加方便用戶(特別是對計算機語言不太熟悉的用戶)的 使用的操作。由此,則需要將自然語言轉(zhuǎn)換為計算機能夠識別的形式。
[0040] 圖3示出了根據(jù)本發(fā)明另一個實施方式的硬件測試系統(tǒng)的示意性框圖。
[0041] 根據(jù)本發(fā)明的一個優(yōu)選實施方式,本發(fā)明的硬件測試系統(tǒng)10進一步包括:轉(zhuǎn)換 器150,配置用于在所述待測硬件的信息與計算機可執(zhí)行語言之間進行轉(zhuǎn)換;以及編譯器 155,配置用于將所述計算機可執(zhí)行語言編譯為目標(biāo)程序,其中,所述測試流控制器140根 據(jù)所述目標(biāo)程序,通過查詢所述硬件協(xié)議庫120,來對連接到所述硬件適配器130的待測硬 件進行測試。
[0042] 上述的計算機可執(zhí)行語言可以是目前任何類型的計算機課執(zhí)行語言,例如C語 目,C++語目,匯編語目等等。本發(fā)明并不限制任何語目的使用。
[0043] 根據(jù)本發(fā)明的一個實施方式,所述計算機可執(zhí)行語言為i語言。
[0044] i語言是eoulu公司創(chuàng)造的簡單,快捷的面向儀器儀表的編程語言,主要用來處理 測試測量邏輯,i語言主要功能有: a. 變量定義(整形,浮點,雙精度,字符串,數(shù)組等) b. 賦值,表達式計算(數(shù)學(xué)運算和邏輯運算等) c. 邏輯控制(循環(huán),分支選擇,跳轉(zhuǎn),判斷等) d. 函數(shù)定義,調(diào)用 e. 輸入輸出 f. Win32平臺函數(shù)調(diào)用 根據(jù)本發(fā)明的實施方式,轉(zhuǎn)換器150將把以自然語言存在的待測硬件的信息轉(zhuǎn)化為i 語言的測試測量腳本,然后編譯器155將其轉(zhuǎn)換為目標(biāo)代碼或程序。在此情況下,測試流控 制器140可以控制虛擬機將根據(jù)該目標(biāo)程序來對待測硬件進行測試。
[0045] 相應(yīng)地,編譯器155和轉(zhuǎn)換器150也可以以反向的方式進行工作,即分別將目標(biāo)代 碼轉(zhuǎn)換為i語言以及將i語言轉(zhuǎn)換為自然語言。
[0046] 根據(jù)本發(fā)明的實施方式,本發(fā)明的編譯器155為實時編譯器。i語言提供了面向儀 器儀表編程的語言,主要用于與儀器儀表通信指令的包裝,解碼,邏輯控制(條件轉(zhuǎn)移,循 環(huán),分支選擇,表達式計算)和輸入輸出等。通過實時編譯器,可對i語言腳本進行編譯,解 碼,執(zhí)行邏輯處理,輸入輸出等功能 根據(jù)上面的描述可以看出,待測硬件的輸入?yún)?shù)可以是通過測試信息接收器110來輸 入到本發(fā)明的硬件測試系統(tǒng)中(例如如圖2所示),也可以通過其他方式來輸入。
[0047] 由此,根據(jù)本發(fā)明的一個實施方式,其中對所述待測硬件進行測試通過如下方式 來進行:通將所述輸入?yún)?shù)寫入到所述待測硬件中;以及讀取所述待測硬件的測試結(jié)果。
[0048] 例如通過如圖2所示的方式來將輸入?yún)?shù)寫入待測軟件中可以避免人工調(diào)整待 測硬件的參數(shù)所帶來的麻煩和不精確,保持每次測試中輸入?yún)?shù)的統(tǒng)一性。并且,寫入自然 語言的輸入?yún)?shù)更容易理解,也使得操作更加簡單高效。
[0049] 在將輸入?yún)?shù)寫入待測硬件之后,則會得到所需的測試結(jié)果,即輸出參數(shù)。
[0050] 在i語言中,可以采用write命令來進行寫入,并且采用read命令來讀出測試結(jié) 果。需要理解的是,在其他計算機可執(zhí)行語言中,將存在其適當(dāng)?shù)膶懭牒妥x出命令,并且這 些命令也同樣適用于本發(fā)明的各個實施方式。
[0051] 根據(jù)本發(fā)明的測試結(jié)果可以是各種方式來輸出,例如,可以由外部設(shè)備直接讀出, 可以存儲在特定的存儲器中,可以直接顯示給用戶等等。
[0052] 圖4示出了根據(jù)本發(fā)明又一個實施方式的硬件測試系統(tǒng)的示意性框圖。
[0053] 如圖4所示,根據(jù)本發(fā)明的一個實施方式,本發(fā)明的硬件測試系統(tǒng)10進一步包括: 緩存器160,配置用于存儲來自于所述硬件適配器中的測試結(jié)果;讀取器165,配置用于讀 取所述緩存器中的測試結(jié)果以供呈現(xiàn)。
[0054] 緩存器160可以是任何類型的存儲器,可以是例如硬盤、軟盤、只讀存儲器、隨即 存儲器、動態(tài)隨機存儲器、USB存儲設(shè)備、光盤等等,并且可以為任何易失性存儲器和非易失 性存儲器。本發(fā)明并不限于存儲器的類型。
[0055] 讀取器165可以讀取測試結(jié)果并將其存儲在該緩存器中。根據(jù)本發(fā)明的一個實施 方式,存儲時可以按照測試結(jié)果所針對的被測硬件的名稱進行分類存儲,也可以按照所測 參數(shù)的類型進行分類存儲。本發(fā)明并不限于任何分類存儲方式。
[0056] 存儲于緩存器160的測試結(jié)果可以隨后被獲取并進行進一步的分析。獲取這些測 試結(jié)果可以采用任何方式,例如由外部設(shè)備從緩存器160中獲取,直接顯示這些測試結(jié)果 等等。
[0057] 根據(jù)本發(fā)明的一個實施方式,本發(fā)明的硬件測試系統(tǒng)10進一步包括數(shù)據(jù)訪問層 (DAL)接口 170,配置用于與所述讀取器連接并提供對來自所述讀取器的數(shù)據(jù)進行訪問和 抽象的接口。
[0058] 在計算機軟件中,DAL是提供對存儲在存儲器中的數(shù)據(jù)進行簡化存取的計算機程 序?qū)?,其提供?shù)據(jù)訪問的接口和抽象實現(xiàn),具體的實現(xiàn)通過插件方式運行時加載到系統(tǒng)中, 從而實現(xiàn)數(shù)據(jù)服務(wù)的可插拔。
[0059] 通過DAL接口,將可以對存儲的數(shù)據(jù)進行存取。
[0060] 如圖4所示,根據(jù)本發(fā)明的另一實施方式,本發(fā)明的硬件測試系統(tǒng)10進一步包括 下列接口中的至少一個,配置用于與所述數(shù)據(jù)訪問層接口 170連接并呈現(xiàn)所述測試結(jié)果: 顯示接口 172,配置用于通過顯示器來呈現(xiàn)所述測試結(jié)果;報告接口 174,配置用于通過報 告的形式來呈現(xiàn)所述測試結(jié)果;輸出接口 176,配置用于直接將所述測試結(jié)果以數(shù)據(jù)的形 式輸出;以及插件接口 178,配置用于以插件兼容的方式來呈現(xiàn)或處理所述測試結(jié)果。
[0061] 顯示接口 172制定了數(shù)據(jù)顯示接口,其由顯示管理器進行管理并提供數(shù)據(jù)顯示對 象容器,并且可以實現(xiàn)顯示界面的可定制。通過顯示接口 172,可以連接顯示器等顯示設(shè)備, 從而能夠直接向用戶顯示測試結(jié)果。
[0062] 報告接口 174制定了數(shù)據(jù)報告接口,各種形式的報告可以通過實現(xiàn)該接口來實現(xiàn) 多樣性??梢杂蓤蟾婀芾砥鱽碡撠?zé)每個數(shù)據(jù)報表的生命周期。
[0063] 輸出接口 176可以與外部設(shè)備連接,例如USB存儲設(shè)備、海量存儲設(shè)備、光盤存儲 器等等,從而能夠?qū)y試數(shù)據(jù)直接輸出到這些存儲設(shè)備中,而并不直接向用戶顯示。
[0064] 插件接口 178可以制定可插拔對象的協(xié)議接口。例如,未來開發(fā)出的接口協(xié)議或 者系統(tǒng)當(dāng)前不支持的接口協(xié)議可以通過插件的方式安裝到本發(fā)明的硬件測試系統(tǒng)中,從而 能夠以任何適當(dāng)?shù)姆绞絹沓尸F(xiàn)或處理測試數(shù)據(jù)。
[0065] 還需要理解的是,本發(fā)明的上述各種接口可以與測試信息接收器110結(jié)合在一 起,而不必然是分離的。例如,測試信息接收器110可以與顯示接口相連接,從而與顯示器 結(jié)合在一起。需要理解的是,盡管圖4中示出的測試信息接收器110直接與測試流控制器 140相連接,但該測試信息接收器110也可以通過上述接口與測試流控制器140相連接。
[0066] 圖5示出了根據(jù)本發(fā)明再一個實施方式的硬件測試系統(tǒng)的示意性框圖。
[0067] 如圖5所示,本發(fā)明的硬件測試系統(tǒng)10進一步包括路由器180,其與所述硬件適配 器相連接,配置用于根據(jù)待測硬件的信息對來自和/或去往所述硬件適配器的數(shù)據(jù)進行路 由。
[0068] 去往硬件適配器130的數(shù)據(jù),例如來自測試流控制器140或者來自編譯器155的 數(shù)據(jù)通常包括針對或指向不同硬件適配的信息,例如各個待測硬件的名稱,因此需要將這 些數(shù)據(jù)發(fā)送到爭取的地址。由此,根據(jù)本發(fā)明實施方式的路由器180可以將去往硬件適配 器130的數(shù)據(jù)路由到相應(yīng)的地址。
[0069] 同樣,來自于各個硬件適配器130的數(shù)據(jù)需要被路由到相應(yīng)的地址,并且分類進 行存儲,由此,根據(jù)本發(fā)明的一個實施方式的路由器180可以將最終的測量數(shù)據(jù)傳送至相 應(yīng)的地址。
[0070] 可以理解,也可以采用多種方式來對數(shù)據(jù)進行路由,例如通過時分復(fù)用的方式來 傳送,也可以通過串行方式來傳送數(shù)據(jù)。
[0071] 優(yōu)選地,根據(jù)本發(fā)明的一個實施方式,進行路由包括通過多條通道對來自和/或 去往所述硬件適配器的數(shù)據(jù)進行并行傳輸。通過并行傳輸,則可以將來自和/或去往不同 硬件適配器130的數(shù)據(jù)路由到適當(dāng)?shù)牡刂贰?br>
[0072] 可以通過總線服務(wù)來實現(xiàn)并行的數(shù)據(jù)傳輸,并且可以為每一個硬件適配器130分 配一個數(shù)據(jù)通道和緩存空間。
[0073] 還需要理解的是,盡管根據(jù)附圖對各個實施方式單獨進行了描述,但可以將這些 實施方式組合起來。例如,可以將圖3和圖4所示的實施方式組合起來,即圖4所示的系統(tǒng) 包括了圖3所示的轉(zhuǎn)換器150和編譯器155 ;也可以將圖4和圖5所示的實施方式組合起 來,即圖4所示的系統(tǒng)包括了圖5所示的路由器180,在此情況下,緩存器160的數(shù)據(jù)可以直 接來自于硬件適配器140,也可以來自于路由器180,本發(fā)明并不對此進行任何限制。
[0074] 圖6示出了根據(jù)本發(fā)明一個優(yōu)選實施方式的硬件測試系統(tǒng)的示意性框圖。
[0075] 圖6所示出的實施方式是圖3、圖4和圖5所示實施方式的組合,因此其工作方式 與圖3、圖4和圖5所示實施方式相似,這里將不再進行詳述。需要指出的是,盡管圖6中所 示的緩存器160的數(shù)據(jù)來自于路由器180,但緩存器160的數(shù)據(jù)也可以直接來自于硬件適配 器140,或者可以來自于轉(zhuǎn)換器150,或者緩存器160的數(shù)據(jù)可以來自其他圖中未示出的、能 夠存儲測試結(jié)果的組件。
[0076] 圖7示出了根據(jù)本發(fā)明另一方面的硬件測試方法,包括:步驟S210,接收待測硬件 的信息;步驟S220,通過硬件適配器與所述待測硬件連接起來;以及,步驟S230,根據(jù)所述 待測硬件的信息,通過查詢預(yù)先存儲的硬件協(xié)議,從而對所述待測硬件進行測試,以得到測 試結(jié)果。
[0077] 圖7示出的步驟S210可以由圖1中的測試信息接收器110來執(zhí)行。此外,接收信 息可以從任何來源接收待測硬件的信息。例如,可以通過手動輸入的方式來接收待測硬件 的信息;也可以通過編寫程序的方式,將所需的待測硬件的信息寫入到該程序中,然后由該 程序直接將信息寫入。對于一些固定的硬件設(shè)備而言,還可以將這些硬件設(shè)備的信息嵌入 在測試信息接收器中,或者預(yù)先存儲在存儲器中,當(dāng)測試信息接收器110啟動時,則加載或 者調(diào)用這些信息。因此,測試信息接收器可以采用任何已知或者未知的方式來接收信息。
[0078] 根據(jù)本發(fā)明的一個實施方式,其中,接收待測硬件的信息的步驟S210包括:接收 待測硬件的輸入?yún)?shù);以及,接收測試流程信息,其中所述測試流程信息用于對所述待測硬 件的輸入?yún)?shù)進行調(diào)度。
[0079] 所述待測硬件的信息可以至少包括所述待測硬件的名稱。所述待測硬件的信息還 可以包括待測硬件所要采用的通信協(xié)議,待測硬件的地址,待測硬件所處的端口等等。例 如,對于某些有著簡單固定參數(shù)的硬件,接收硬件的名稱則意味著可以直接接收到該硬件 的參數(shù)。
[0080] 根據(jù)本發(fā)明的上述實施方式,所述測試流程信息是對待測硬件的信息進行安排和 調(diào)度的信息,例如,當(dāng)存在多個待測硬件的情況下,測試流程信息可以控制待測硬件的測試 順序,即先測試哪個硬件,后測試哪個硬件。此外,對于每個待測硬件而言,測試流程信息還 可以控制該待測硬件中多個參數(shù)的測試順序。需要理解的是,測試流程信息并不僅僅是按 照時間的先后順序來測試硬件或者參數(shù),而是可以存在多種邏輯關(guān)系,例如當(dāng)滿足特定條 件時,則開始測量另一個硬件或者參數(shù)。本領(lǐng)域技術(shù)人員可以根據(jù)需求來對測試流程信息 進行編與。
[0081] 如圖2所示,該輸入界面可以包括待測硬件的名稱(儀器,名稱為K4200SCS)、待測 硬件的輸入?yún)?shù)(輸入?yún)?shù))、所需的輸出參數(shù)、測試類型(類型,類型為lgs)、測試條件以 及各參數(shù)的單位等等。需要理解的是,對于某些待測硬件,無需在該輸入界面中錄入其輸入 參數(shù),而是可以在硬件上直接設(shè)置其設(shè)定其輸入?yún)?shù);或者,對于某些硬件設(shè)備而言,其參 數(shù)比較簡單,因此其輸入?yún)?shù)在硬件制造完成時已經(jīng)設(shè)定好了,因此無需錄入其輸入?yún)?shù)。 而對于某些硬件設(shè)備而言,其輸出參數(shù)可能僅有一個,因此系統(tǒng)則默認(rèn)并識別該輸出參數(shù), 由此在該輸入界面中也無需手動錄入其輸出參數(shù)。
[0082] 上面所述的輸入和輸出參數(shù),可以是有關(guān)于硬件的任何類型的參數(shù),包括但不限 于電壓、電流、電感、電阻、電容、測試間隔以及上述參數(shù)的各種組合等等。
[0083] 圖2中還示出了一個測試流程信息的示例。如圖2所示,本示例的測試包括測試 1、測試2、測試3和測試4,每個測試針對相應(yīng)的儀器以及測試類型,并且由此會得到相應(yīng)的 結(jié)果。本領(lǐng)域技術(shù)人員可以根據(jù)需求來安排該測試流程信息。
[0084] 需要理解的是,圖2所示僅僅是一種示例,本領(lǐng)域技術(shù)人員可以采用任何其他類 型的界面設(shè)置,并且對于不同的硬件設(shè)備(儀器)而言,其對應(yīng)的輸入?yún)?shù)和輸出參數(shù)也有 所不同。
[0085] 硬件協(xié)議庫是一個存儲與硬件通信所需協(xié)議的空間或者存儲器。所存儲的協(xié)議可 以是一種或多種,不同的設(shè)備之間可以采用相同或者不同的協(xié)議進行通信,而相同的設(shè)備 之間也可以采用相同或者不同的協(xié)議進行通信。例如,計算機與同樣的外部設(shè)備之間即可 以通過USB 口進行通信,也可以通過諸如TCP/IP,GPIB,藍牙,串行通信等協(xié)議進行通信。
[0086] 根據(jù)本發(fā)明的方法所采用的硬件適配器用于根據(jù)硬件協(xié)議庫中存儲的協(xié)議同與 之連接的待測硬件進行通信。每個硬件設(shè)備只與其相應(yīng)的硬件適配器對象進行通信。硬件 適配器對象通過配置于其上的通信協(xié)議、端口、地址等來唯一地識別硬件設(shè)備。
[0087] 本發(fā)明的方法所采用的硬件適配器可以采用任何已知類型的適配器。對于未來開 發(fā)出的硬件,其適配器也可以以插件的形式安裝到本發(fā)明的系統(tǒng)中。所加載或安裝的硬件 適配器插件可以存儲在規(guī)定的空間中,從而在需要的時候被調(diào)用。
[0088] 硬件適配器可以通過人工來創(chuàng)建或者銷毀。根據(jù)本發(fā)明的一個實施方式,可以提 供硬件適配器控制器來管理硬件適配器的生命周期(例如硬件適配器的創(chuàng)建、銷毀、檢索 等等),并控制硬件適配器在規(guī)定空間中的加載或者安裝。
[0089] 根據(jù)本發(fā)明的上述實施方式,本領(lǐng)域技術(shù)人員可以理解,根據(jù)用戶需求,可以通過 添加或刪除硬件適配器來對新的硬件進行測試,由此擴展了硬件測試的適應(yīng)性。
[0090] 根據(jù)本發(fā)明,步驟S230可以由控制器來執(zhí)行??刂破骺梢园ㄓ绍浖?、硬件、數(shù)字 信號處理芯片等各種方式實現(xiàn)的控制器來執(zhí)行,從而對各種數(shù)據(jù)流進行總體的調(diào)度。
[0091] 更具體地,首先接收待測硬件的信息,例如待測硬件的輸入?yún)?shù)和測試流程信息 等等,然后例如根據(jù)待測硬件的信息(例如待測硬件信息中的待測硬件名稱)來找到適當(dāng) 的硬件適配器,并將待測硬件的信息(例如輸入?yún)?shù))傳送到硬件適配器130以與待測硬 件進行通信。硬件適配器130通過根據(jù)硬件協(xié)議庫120中的適當(dāng)協(xié)議同與之連接的待測硬 件進行通信,即將所接收到的輸入?yún)?shù)傳送給待測硬件,以期望根據(jù)這些輸入?yún)?shù)來得到 輸出參數(shù)。
[0092] 待測硬件的信息可以以多種形式存在,例如可以以計算機代碼的形式存在,或者 以自然信號的形式存在,然后經(jīng)過計算機處理而得到計算機可識別的形式。
[0093] 根據(jù)本發(fā)明的一個實施方式,待測硬件的信息可以以人類能理解的自然語言的形 式存在,如圖2所示的那樣,由此更加方便用戶(特別是對計算機語言不太熟悉的用戶)的 使用的操作。由此,則需要將自然語言轉(zhuǎn)換為計算機能夠識別的形式。
[0094] 根據(jù)本發(fā)明的一個實施方式,本發(fā)明的方法進一步包括:將所述待測硬件的信息 轉(zhuǎn)換為計算機可執(zhí)行語言;以及,將所述計算機可執(zhí)行語言編譯為目標(biāo)程序;其中,根據(jù)所 述目標(biāo)程序,通過查詢預(yù)先存儲的硬件協(xié)議,來對連接到所述硬件適配器的待測硬件進行 測試。
[0095] 可以理解的是,當(dāng)原始的待測硬件信息被轉(zhuǎn)換為目標(biāo)程序之后,則可以根據(jù)轉(zhuǎn)換 后的目標(biāo)程序,通過查詢預(yù)先存儲的硬件協(xié)議,來對連接到所述硬件適配器的待測硬件進 行測試。實際上,"根據(jù)待測硬件的信息"與"根據(jù)目標(biāo)程序"二者并不沖突,目標(biāo)程序?qū)嶋H 上也上待測硬件信息的另外一種表達形式。
[0096] 上述的計算機可執(zhí)行語言可以是目前任何類型的計算機課執(zhí)行語言,例如C語 言,C++語言,匯編語言等等。本發(fā)明并不限制任何語言的使用。根據(jù)本發(fā)明的一個實施方 式,所述計算機可執(zhí)行語言為i語言。
[0097] 根據(jù)本發(fā)明的一個實施方式,其中對所述待測硬件進行測試通過如下方式來進 行:將所述輸入?yún)?shù)按照所述測試流程信息寫入到所述待測硬件中;以及讀取所述待測硬 件的測試結(jié)果。
[0098] 例如通過如圖2所示的方式來將輸入?yún)?shù)寫入待測軟件中可以避免人工調(diào)整待 測硬件的參數(shù)所帶來的麻煩和不精確,保持每次測試中輸入?yún)?shù)的統(tǒng)一性。并且,寫入自然 語言的輸入?yún)?shù)更容易理解,也使得操作更加簡單高效。
[0099] 在將輸入?yún)?shù)寫入待測硬件之后,則會得到所需的測試結(jié)果,即輸出參數(shù)。
[0100] 在i語言中,可以采用write命令來進行寫入,并且采用read命令來讀出測試結(jié) 果。需要理解的是,在其他計算機可執(zhí)行語言中,將存在其適當(dāng)?shù)膶懭牒妥x出命令,并且這 些命令也同樣適用于本發(fā)明的各個實施方式。
[0101] 根據(jù)本發(fā)明的測試結(jié)果可以是各種方式來輸出,例如,可以由外部設(shè)備直接讀出, 可以存儲在特定的存儲器中,可以直接顯示給用戶等等。
[0102] 由此,根據(jù)本發(fā)明的一個實施方式,本發(fā)明的方法進一步包括:在緩存器中存儲來 自于所述硬件適配器中的測試結(jié)果;讀取所述緩存器中的測試結(jié)果以供呈現(xiàn)。
[0103] 根據(jù)本發(fā)明的一個實施方式,本發(fā)明的方法進一步包括:采用數(shù)據(jù)訪問層接口來 對所讀取的測試結(jié)果進行訪問和抽象。
[0104] 在計算機軟件中,DAL是提供對存儲在存儲器中的數(shù)據(jù)進行簡化存取的計算機程 序?qū)樱涮峁?shù)據(jù)訪問的接口和抽象實現(xiàn),具體的實現(xiàn)通過插件方式運行時加載到系統(tǒng)中, 從而實現(xiàn)數(shù)據(jù)服務(wù)的可插拔。
[0105] 根據(jù)本發(fā)明的一個實施方式,可以以下列方式中的至少一種來呈現(xiàn)所述測試結(jié) 果:通過顯示器來呈現(xiàn)所述測試結(jié)果;通過報告的形式來呈現(xiàn)所述測試結(jié)果;直接將所述 測試結(jié)果以數(shù)據(jù)的形式輸出;以及以插件兼容的方式來呈現(xiàn)或處理所述測試結(jié)果。
[0106] 可以理解的是,以顯示器方式來顯示表示可以將結(jié)果直接顯示在顯示器上,以報 告的形式來呈現(xiàn)可以直接將測試結(jié)果以報告的形式打印出來,以數(shù)據(jù)的形式輸出可以是將 測試結(jié)果輸出到特定的存儲空間中供后續(xù)調(diào)用,而無需直接向用戶顯示,而以插件兼容的 方式來呈現(xiàn)或處理測試結(jié)果則可以是將未來開發(fā)出的接口協(xié)議或者系統(tǒng)當(dāng)前不支持的接 口協(xié)議可以通過插件的方式安裝到本發(fā)明的硬件測試系統(tǒng)中,從而能夠以任何適當(dāng)?shù)姆绞?來呈現(xiàn)或處理測試數(shù)據(jù)。
[0107] 根據(jù)本發(fā)明的一個實施方式,進一步包括:通過路由器與所述硬件適配器相連接, 以根據(jù)待測硬件的信息對來自和/或去往所述硬件適配器的數(shù)據(jù)進行路由。
[0108] 根據(jù)本發(fā)明的一個實施方式,其中進行路由包括通過多條通道對來自和/或去往 所述硬件適配器的數(shù)據(jù)進行并行傳輸。
[0109] 可以理解,可以采用多種方式來對數(shù)據(jù)進行路由,例如通常時分復(fù)用的方式來傳 送,以此方式則可以通過串行方式來傳送數(shù)據(jù)。
[0110] 優(yōu)選地,根據(jù)本發(fā)明的一個實施方式,進行路由包括通過多條通道對來自和/或 去往所述硬件適配器的數(shù)據(jù)進行并行傳輸。通過并行傳輸,則可以將來自和/或去往不同 硬件適配器的數(shù)據(jù)路由到適當(dāng)?shù)牡刂贰?br>
[0111] 可以通過總線服務(wù)來實現(xiàn)并行的數(shù)據(jù)傳輸,并且可以為每一個硬件適配器分配一 個數(shù)據(jù)通道和緩存空間。
[0112] 還需要理解的是,盡管根據(jù)附圖對各個實施方式單獨進行了描述,但可以將這些 實施方式組合起來,而不僅僅限于之前的描述。
[0113] 需要理解的是,本發(fā)明上述的待測硬件可以是任何需要進行測試的硬件,包括但 不限于電子器件、晶圓、儀器儀表以及各種硬件測試的組合等等。
[0114] 上述的不同塊、操作以及技術(shù)的至少一部分可以被執(zhí)行,通過使用硬件,處理器執(zhí) 行固件指令,處理器執(zhí)行軟件指令,或者及其任意組合。當(dāng)采用執(zhí)行固件以及軟件指令的處 理器執(zhí)行時,軟件或固件指令可以被存儲在任意計算機可讀存儲中,例如磁盤,光盤或者其 他存儲介質(zhì),在一個RAM或者ROM或者flash存儲器,處理器,硬盤,光盤,磁盤等等。同樣 地,軟件和固件指令可以被傳輸?shù)接脩艋蛘呦到y(tǒng),通過任意已知的或者期望的傳輸方式包 括,例如,在計算機可讀盤或者其他便攜式計算機存儲機制或者通過通信媒介。通信媒介典 型地具體話計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或者在已調(diào)制數(shù)據(jù)信號中的其它數(shù)據(jù)例 如載波或者其他傳輸機制。通過示例,并非限制,通信介質(zhì)包括有線介質(zhì)例如有線網(wǎng)絡(luò)或者 單線連接,以及無線媒介,例如聲、無線頻率,紅外以及其它無線介質(zhì)。從而,軟件和固件指 令可以被傳輸給用戶或者系統(tǒng),通過通信信道,例如電話線,DSL線,電纜電視線,光纖線纜, 無線信道,因特網(wǎng),等等(通過便攜式存儲介質(zhì)提供這樣的軟件,其被看作是相同的或者可 互換的)。軟件或者同件指令可以包括及其可讀指令,其當(dāng)由處理器執(zhí)行時,導(dǎo)致處理器執(zhí) 行不同動作。
[0115] 當(dāng)在硬件中執(zhí)行時,硬件可以包括一個或多個離散組件,一個集成電路,一個應(yīng)用 特定的集成電路(ASIC),等等。
[0116] 需要理解的是,本發(fā)明可以以純軟件、純硬件、固件以及上述的各種組合來實現(xiàn)。 硬件例如可以是處理器、專用集成電路、大規(guī)模集成電路等等。
[0117] 雖然當(dāng)前發(fā)明參考特定的示例被描述,其只是為了解釋的目的而不是對本發(fā)明的 限制,對實施方式的改變,增加和/或刪除可以被做出而不脫離本發(fā)明的范圍。
[0118] 這些實施方式所涉及的、從上面描述和相關(guān)聯(lián)的附圖中呈現(xiàn)的教導(dǎo)獲益的領(lǐng)域中 的技術(shù)人員將認(rèn)識到這里記載的本發(fā)明的很多修改和其他實施方式。因此,應(yīng)該理解,本發(fā) 明不限于公開的【具體實施方式】,旨在將修改和其他實施方式包括在所附權(quán)利要求書的范圍 內(nèi)。盡管在這里采用了特定的術(shù)語,但是僅在一般意義和描述意義上使用它們并且不是為 了限制的目的而使用。
[0119] 應(yīng)該注意的是,上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本 領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求 中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞"包含"不排除存 在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞"一"或"一個"不排除存在多個 這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機 來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬 件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋 為名稱。
【權(quán)利要求】
1. 一種硬件測試方法,包括: 接收待測硬件的信息; 通過硬件適配器與所述待測硬件連接起來; 根據(jù)所述待測硬件的信息,通過查詢預(yù)先存儲的硬件協(xié)議,從而對所述待測硬件進行 測試,以得到測試結(jié)果。
2. 根據(jù)權(quán)利要求1所述的硬件測試方法,其中,接收待測硬件的信息包括: 接收待測硬件的輸入?yún)?shù);以及 接收測試流程信息,其中所述測試流程信息用于對所述待測硬件的輸入?yún)?shù)進行調(diào) 度。
3. 根據(jù)權(quán)利要求1所述的硬件測試方法,進一步包括: 將所述待測硬件的信息轉(zhuǎn)換為計算機可執(zhí)行語言;以及 將所述計算機可執(zhí)行語言編譯為目標(biāo)程序; 其中,根據(jù)所述目標(biāo)程序,通過查詢預(yù)先存儲的硬件協(xié)議,來對連接到所述硬件適配器 的待測硬件進行測試。
4. 根據(jù)權(quán)利要求3所述的硬件測試方法,其中, 所述計算機可執(zhí)行語言為i語言。
5. 根據(jù)權(quán)利要求2所述的硬件測試方法,其中對所述待測硬件進行測試通過如下方式 來進行: 將所述輸入?yún)?shù)按照所述測試流程信息寫入到所述待測硬件中;以及 讀取所述待測硬件的測試結(jié)果。
6. 根據(jù)權(quán)利要求1所述的硬件測試方法,進一步包括: 在緩存器中存儲來自于所述硬件適配器中的測試結(jié)果; 讀取所述緩存器中的測試結(jié)果以供呈現(xiàn)。
7. 根據(jù)權(quán)利要求6所述的硬件測試方法,進一步包括:采用數(shù)據(jù)訪問層接口來對所讀 取的測試結(jié)果進行訪問和抽象。
8. 根據(jù)權(quán)利要求7所述的硬件測試方法,其中,以下列方式中的至少一種來呈現(xiàn)所述 測試結(jié)果: 通過顯示器來呈現(xiàn)所述測試結(jié)果; 通過報告的形式來呈現(xiàn)所述測試結(jié)果; 直接將所述測試結(jié)果以數(shù)據(jù)的形式輸出;以及 以插件兼容的方式來呈現(xiàn)或處理所述測試結(jié)果。
9. 根據(jù)權(quán)利要求1-8中任意一項所述的硬件測試方法,進一步包括:通過路由器與所 述硬件適配器相連接,以根據(jù)待測硬件的信息對來自和/或去往所述硬件適配器的數(shù)據(jù)進 行路由。
10. 根據(jù)權(quán)利要求9所述的硬件測試方法,其中進行路由包括通過多條通道對來自和/ 或去往所述硬件適配器的數(shù)據(jù)進行并行傳輸。
【文檔編號】G01R31/00GK104111385SQ201310136256
【公開日】2014年10月22日 申請日期:2013年4月19日 優(yōu)先權(quán)日:2013年4月19日
【發(fā)明者】沈景山, 呂文波 申請人:深圳伊歐陸微電子系統(tǒng)有限公司