功能原型系列:裝備與測試介紹
概覽
功能原型系列是一個(gè)文檔集,你可以通過它來了解原型過程。請閱讀關(guān)鍵概念,原型的優(yōu)勢,關(guān)于產(chǎn)品選擇的討論以及其它技術(shù)資源。
裝備與測試
開發(fā)原型的一個(gè)目的是為了快速地向潛在的客戶、投資者和同行展示一個(gè)想法和其設(shè)計(jì)。另一個(gè)同樣重要的原因在于原型能用來測試并驗(yàn)證基本的軟件和硬件性能。通常,只有當(dāng)你設(shè)法將一個(gè)功能型原型的電子器件、軟件和機(jī)械部件結(jié)合在一起時(shí),問題便會凸顯。
通過原型階段的完整測試,你能在問題將要導(dǎo)致巨大損失或無法修復(fù)之前就發(fā)現(xiàn)它們。原型測試為性能索賠的備份提供了具體的證據(jù),并且使你自信地將更加可靠的產(chǎn)品付諸實(shí)施。
優(yōu)勢
* 提高整體質(zhì)量–通過將系統(tǒng)發(fā)揮至極限來為你的嵌入式原型I/O進(jìn)行信號完整性測試。
* 提高可靠性 –請確認(rèn)你的嵌入式原型可以承受極限條件而不產(chǎn)生錯(cuò)誤,并對防止產(chǎn)品發(fā)生過載的安全系統(tǒng)進(jìn)行測試。
* 提高算法性能 – 通過在產(chǎn)品開發(fā)周期中通過測試和排除一切異常狀況來提高你的嵌入式程序的效率。
創(chuàng)建一個(gè)軟件測試平臺
軟件測試方法
軟件定義的儀器本身十分靈活且易于實(shí)現(xiàn)自動化。所以,當(dāng)今的產(chǎn)品設(shè)計(jì)團(tuán)隊(duì)可以通過減少人工測試的小時(shí)數(shù)和盡量減少實(shí)驗(yàn)用的儀器數(shù)量來簡化開發(fā)過程。
有了NI LabVIEW圖形化軟件平臺,你可以輕松地設(shè)置簡單的程序以測試主要算法的質(zhì)量和可靠性。原型的時(shí)候,請注意測試中主要的兩個(gè)方面:
1. 極限測試——請確定軟件設(shè)計(jì)提供了I/O通道整個(gè)范圍內(nèi)的高質(zhì)量數(shù)據(jù)。這將使原型在整個(gè)產(chǎn)品開發(fā)周期內(nèi)都符合質(zhì)量標(biāo)準(zhǔn)。
2. 壓力測試——請確定在長期使用后或當(dāng)所有I/O通道同時(shí)達(dá)到極限時(shí)都可以符合質(zhì)量標(biāo)準(zhǔn)。算法要足夠魯棒從而能考慮到有過載數(shù)據(jù)正在處理時(shí)的情況。
通過使用模擬 VI以使軟件算法達(dá)到極限,從而進(jìn)行無需硬件的測試。你可以在LabVIEW 中通過使用不同的信號生成VI或開發(fā)能準(zhǔn)確描述實(shí)際I/O的VI來輕松地實(shí)現(xiàn)測試。
圖1. I/O 模擬方法
隨著計(jì)算機(jī)的發(fā)展,通過模擬I/O,你無需使用任何硬件就可以完整地測試軟件。簡單而有效的I/O模擬方法有以下幾種:
* 信號產(chǎn)生VI –LabVIEW有一個(gè)特定的函數(shù)面板用來產(chǎn)生信號。從種類繁多的VI中選擇以有效地模擬I/O。
* 定制VI –有了高級的LabVIEW圖形化編程環(huán)境,開發(fā)能描述I/O的測試平臺VI變得十分簡單。
* 現(xiàn)有數(shù)據(jù) –LabVIEW具有從許多文件類型和數(shù)據(jù)庫中提取數(shù)據(jù)的功能。有了LabVIEW, 你可以使用模型化數(shù)據(jù)來為I/O模擬數(shù)據(jù)點(diǎn)。
使用I/O節(jié)點(diǎn)模擬進(jìn)行嵌入式FPGA測試
開發(fā)具有嵌入式現(xiàn)場可編程門陣列(FPGAs)的原型是件棘手的事情,它的開發(fā)技術(shù)與FPGA硬件和計(jì)算機(jī)軟件不同,主要原因有三:
1. 編譯時(shí)間——你需要大量的時(shí)間將一個(gè)設(shè)計(jì)編譯成硬件代碼并在FPGA上運(yùn)行。同時(shí),通常需要采用多次編譯來尋找程序錯(cuò)誤。
2. 硬件中不具備典型的LabVIEW調(diào)試功能——一旦在硬件中運(yùn)行代碼,或者說代碼即硬件,你將無法進(jìn)行單步,過程高亮,設(shè)置斷點(diǎn)等動作。
3. FPGA可高速并確定性地執(zhí)行——FPGA被用在高速和確定性應(yīng)用中。因此,設(shè)計(jì)者通常關(guān)注的是在FPGA的每個(gè)時(shí)鐘周期時(shí)所發(fā)生的情況,要么是純粹的性能原因,要么是描述并行任務(wù)間的同步性。
LabVIEW FPGA為通過模擬I/O或使用真實(shí)I/O進(jìn)行的基本FPGA算法測試提供了強(qiáng)大功能。
* 在有模擬I/O的開發(fā)計(jì)算機(jī)上執(zhí)行VI –當(dāng)你按下運(yùn)行箭頭時(shí),F(xiàn)PGA VI就在PC上運(yùn)行。你可以選擇使用隨機(jī)數(shù)據(jù)或定制I/O將測試平臺VI寫入以確定輸入和捕獲輸出。
* 在有真實(shí)I/O的開發(fā)計(jì)算機(jī)上執(zhí)行VI –這時(shí),僅NI R系列內(nèi)插設(shè)備才具備該功能。當(dāng)程序在FPGA I/O節(jié)點(diǎn)執(zhí)行時(shí),這個(gè)選項(xiàng)在PC機(jī)上運(yùn)行VI并將一個(gè)固定的性能下載到R系列設(shè)備以進(jìn)行I/O采樣。在早期測試和原型開發(fā)中,這是非常有用的,但是,請記?。篒/O是軟件定時(shí)采樣,很有可能無法代表你真正預(yù)想VI應(yīng)該使用的時(shí)間。
* 注意: 使用真正的I/O需要硬件。
使用數(shù)據(jù)采集來測量I/O
由于軟件測試不能提供使用真實(shí)硬件的同樣感覺,因而具有局限性。有了LabVIEW,你可以使用商用現(xiàn)成硬件去實(shí)現(xiàn)真實(shí)的I/O測試。
通過使用數(shù)字萬用表或數(shù)據(jù)采集設(shè)備,你可以輕松地調(diào)試物理硬件I/O。LabVIEW與NI-DAQmx設(shè)備相結(jié)合,從而為執(zhí)行復(fù)雜的數(shù)據(jù)采集任務(wù)提供一個(gè)簡單易用的高級接口。
圖2. 使用DAQ進(jìn)行測試
使用DAQmx Express VI:
* 測量嵌入式原型的物理輸出并分析信號的質(zhì)量和可靠性
* 為嵌入式原型提供實(shí)時(shí)信號以使軟件算法達(dá)到極限并對測試系統(tǒng)加壓
完全系統(tǒng)試驗(yàn)臺
系統(tǒng)ID
LabVIEW系統(tǒng)識別工具包不僅是一個(gè)VI庫,還是一個(gè)基于大量原始數(shù)據(jù)開發(fā)系統(tǒng)模型的助手。有了這些工具,你可以完成整個(gè)系統(tǒng)的識別,從分析原始數(shù)據(jù)到驗(yàn)證識別模型。你可以在更少的時(shí)間內(nèi),使用該系統(tǒng)識別助手來開發(fā)能夠反映某種特定動態(tài)系統(tǒng)行為的模型。
系統(tǒng)識別是一種基于所測量激勵(lì)和響應(yīng)數(shù)據(jù)而開發(fā)動態(tài)系統(tǒng)數(shù)學(xué)模型的方法。你能夠在許多應(yīng)用中使用系統(tǒng)識別,包括機(jī)械工程,生物學(xué),生理學(xué),氣象學(xué),經(jīng)濟(jì)學(xué)和基于模型的控制設(shè)計(jì)等。
基于模型的控制設(shè)計(jì)過程通常包含有識別對象模型,分析并綜合控制器,模擬閉環(huán)系統(tǒng),將控制器應(yīng)用到實(shí)時(shí)硬件中等過程。
LabVIEW系統(tǒng)識別工具包:
* 幫助你從真實(shí)數(shù)據(jù)中識別高階系統(tǒng)中的大型多變量模型
* 提供兩種工具,一個(gè)助手和一個(gè)VI庫,用來識別離散的單輸入單輸出和多輸入多輸出線性系統(tǒng)
* 幫助你完成整個(gè)系統(tǒng)的識別,從分析原始數(shù)據(jù)到驗(yàn)證識別模型
* 與其它附加功能相集成,包括LabVIEW實(shí)時(shí)和LabVIEW控制設(shè)計(jì)與模擬模塊
系統(tǒng)識別工具包提供這樣一些VI,你可以用它們從動態(tài)系統(tǒng)中預(yù)處理原始數(shù)據(jù)并開發(fā)能反映該系統(tǒng)行為的模型。有了數(shù)據(jù)預(yù)處理VI,你可以分析某一特定激勵(lì)下的動態(tài)系統(tǒng)響應(yīng)。分析完數(shù)據(jù)后,你可以使用參數(shù)模型估計(jì),非參數(shù)模型估計(jì),部分已知模型估計(jì),遞推模型估計(jì),頻域模型估計(jì)VI等來估計(jì)動態(tài)系統(tǒng)的模型。最后,你可以使用模型驗(yàn)證或模型分析VI來確定該模型是否能準(zhǔn)確描述系統(tǒng)的動態(tài)特性。
硬件在環(huán)(HIL)應(yīng)用
嵌入式控制系統(tǒng)在控制一個(gè)典型機(jī)械系統(tǒng)的不同元件時(shí)發(fā)揮了重要的作用。實(shí)際測試之前的系統(tǒng)軟件模擬并不總是有用的,因?yàn)槟M不能隨實(shí)際的模擬和數(shù)字信號而實(shí)時(shí)運(yùn)行。這一難題迫使我們在最后部署前,采用HIL模擬作為測試嵌入式控制系統(tǒng)的標(biāo)準(zhǔn)方法。
測試一個(gè)完整的嵌入式原型可能會很困難,特別是當(dāng)你要測試整個(gè)系統(tǒng)的所有元件間的相互作用時(shí)。測試原型嵌入式控制系統(tǒng)時(shí),安全性,可用性或成本考慮都能令使用完整系統(tǒng)進(jìn)行必要的測試變得不切實(shí)際。你可以使用HIL模擬來仿真帶來這些挑戰(zhàn)的系統(tǒng)部件,這將使你在真實(shí)的整體系統(tǒng)測試前,在虛擬環(huán)境中徹底地對嵌入式控制設(shè)備進(jìn)行測試。有了這個(gè)功能,即使你的測試系統(tǒng)變得更加復(fù)雜,你也能合算地保持可靠性和市場投放時(shí)間的要求。
圖 3. 一個(gè)包含有三個(gè)主要元件的HIL測試系統(tǒng):一個(gè)軟件接口, 一個(gè)實(shí)時(shí)處理器和一個(gè)I/O接口
在較短的時(shí)間內(nèi)快速投放市場、更好的可靠性以及日益復(fù)雜的產(chǎn)品等多方面帶來的挑戰(zhàn)使得人們迫切需要HIL測試平臺的幫助:
* 在主機(jī)上配置并監(jiān)控用戶界面和諸如NI VeriStand的測試管理工具
* 使用實(shí)時(shí)模擬器,在嵌入式控制器和測試系統(tǒng)之間產(chǎn)生真實(shí)的電氣交互
* 設(shè)置物理負(fù)載和故障插入測試——HIL測試系統(tǒng)可以精確地模擬真實(shí)的條件并測試故障情況下的反應(yīng)
LabVIEW圖形化開發(fā)環(huán)境和NI PXI模塊化的硬件平臺是建立HIL系統(tǒng)以實(shí)現(xiàn)高度逼真的控制器測試模擬的理想工具。
圖4. 圖形化系統(tǒng)設(shè)計(jì)
NI VeriStand是一個(gè)為了配置包含HIL測試的實(shí)時(shí)測試應(yīng)用的軟件環(huán)境。它可以幫助你配置多核實(shí)時(shí)引擎來執(zhí)行下列任務(wù):
* 基于模擬、數(shù)字、通信總線和現(xiàn)場可編程門陣列(FPGA)的I/O
* 觸發(fā)、多文件數(shù)據(jù)記錄
* 產(chǎn)生實(shí)時(shí)激勵(lì)
* 計(jì)算通道
* 事件報(bào)警和報(bào)警響應(yīng)例行測試
NI VeriStand也可以輸入控制算法并在LabVIEW軟件和第三方環(huán)境中仿真模型。你能使用一個(gè)運(yùn)行時(shí)可編輯的用戶界面來監(jiān)測這些任務(wù)并與其交互,這個(gè)界面包括了許多有用的工具來進(jìn)行強(qiáng)制賦值、報(bào)警監(jiān)控、I/O校準(zhǔn)和激勵(lì)文件編輯等。使用NI VeriStand時(shí)無需任何編程知識,它可以被定制和擴(kuò)展到多種軟件環(huán)境下,如NI LabVIEW, NI TestStand, Microsoft Visual Studio .NET, C/C++, 和Python等。
下一步
NI提供了大量的嵌入式原型測試工具。將LabVIEW平臺和NI-DAQmx , NI VeriStand結(jié)合在一起可以幫助你徹底地對質(zhì)量、可靠性和整個(gè)產(chǎn)品開發(fā)周期的表現(xiàn)進(jìn)行測試。