LabVIEW、多核技術(shù)及FPGA技術(shù)如何改變自動測試
關(guān)鍵字:LabVIEW、多核技術(shù) FPGA技術(shù)
本文引用地址:http://www.ex-cimer.com/article/194595.htm編輯筆記:Eric Starkloff,美國國家儀器的模塊化儀器和儀器控制產(chǎn)品營銷總監(jiān)。他將和我們一起討論影響儀器技術(shù)和自動測試的一些變化,以及NI的LabVIEW,多核處理器技術(shù)和現(xiàn)場可編程邏輯門陣列(FPGA)技術(shù)如何推動下一代測試技術(shù)的產(chǎn)生。
問題:在最近這幾年里,儀器技術(shù)和自動化測試領(lǐng)域發(fā)生了什么樣的變化?
Starkloff回答:我們現(xiàn)在正將處于軟件定義的世界里。我們每天使用的設(shè)備如智能手機(jī),機(jī)頂盒,甚至汽車,這些都是建立在嵌入式軟件系統(tǒng)發(fā)展的基礎(chǔ)之上。對于測試工程師們來說,在開發(fā)時(shí)間和預(yù)算減少的情況下對這些復(fù)雜的設(shè)備進(jìn)行測試給他們帶來了挑戰(zhàn)?,F(xiàn)在,測試管理人員和工程師們利用模塊化儀器,軟件定義體系來應(yīng)對這些挑戰(zhàn)和趨勢。
用戶定義儀器或測試系統(tǒng)的概念已經(jīng)不新了。實(shí)際上,用戶定義儀器已經(jīng)以虛擬儀器的形式存在了20多年的時(shí)間。推動這些趨勢進(jìn)一步發(fā)展的技術(shù),已經(jīng)發(fā)展成熟。正是這些技術(shù)可以將這種新式的軟件定義的模式推向頂峰。參考Web2.0,軟件定義的儀器技術(shù)和之前儀器技術(shù)的差異可以稱之為儀器技術(shù)2.0了。推動這樣的變化的關(guān)鍵技術(shù)包括高速PCI總線,多核處理器技術(shù)和FPGA技術(shù)。
問題:多核處理能夠?yàn)楣こ處焺?chuàng)建測試系統(tǒng)提供什么樣的好處呢?
Starkloff回答:處理器的制造商已經(jīng)提出了將多個(gè)CPU集成到一個(gè)芯片上的多核處理器,這種多核處理器技術(shù)如今已經(jīng)成基于PC機(jī)的應(yīng)用程序提高執(zhí)行性能的關(guān)鍵技術(shù)。超線程作為改善多線程代碼的支持之一也被提出了,超線程也為更高效的利用CPU資源提供了可能。上述這兩種技術(shù)的結(jié)合就會使工程師們開發(fā)高密度的處理和高吞吐量的應(yīng)用程序稱為可能,而這兩種應(yīng)用程序在并行的方式下執(zhí)行時(shí)性能會得到提升。
由于多核處理能的執(zhí)行性能直接取決于一個(gè)應(yīng)用程序的源代碼按照什么樣的并行方式進(jìn)行書寫,所以,對于希望利用多核處理器進(jìn)行開發(fā)的工程師們來說,軟件開發(fā)就是他們所面臨的一項(xiàng)挑戰(zhàn)。雙核和多核處理器為軟件開發(fā)世界帶來了很大的沖擊,而這種沖擊自十多年前面向?qū)ο蟮木幊谭绞疆a(chǎn)生時(shí)就已經(jīng)開始了。對于軟件開發(fā)者們來說,這種沖擊就像Herb Sutter(一名很有名的C++專家)寫到的“免費(fèi)的午餐時(shí)代已經(jīng)結(jié)束!”。傳統(tǒng)的順序編程方法已經(jīng)不再適用了,所以,軟件開發(fā)者們需要新的編程模式,比如LabVIEW的圖形化并行編程,來充分發(fā)揮并行硬件體系的潛在的性能。
問題:是什么使LabVIEW處于multicore-ready軟件層的上層?
Starkloff回答:工程師如果要在控制應(yīng)用程序中尋找更快的測試方法或更好的循環(huán)頻率,那么他們就需要考慮他們要如何執(zhí)行并行應(yīng)用程序以及如何利用多核處理器所帶來的性能的提高。采用LabVIEW,工程師們就會有一個(gè)理想的軟件環(huán)境來進(jìn)行并行程序的編寫,這都是因?yàn)長abVIEW是以數(shù)據(jù)流為基礎(chǔ)的編程語言,以及由LabVIEW實(shí)時(shí)標(biāo)準(zhǔn)模塊和向下滲透的多核支持的軟件堆。LabVIEW8.5在1998年推出的LabVIEW5.0的基礎(chǔ)上又增加了許多增強(qiáng)多線程性能的功能。
利用LabVIEW進(jìn)行應(yīng)用程序開發(fā)的時(shí)候,最大的優(yōu)點(diǎn)就是LabVIEW是一種直觀的,圖形化的編程語言。LabVIEW的數(shù)據(jù)流的本質(zhì)就意味著任何時(shí)候在框圖上都會存在一個(gè)分支或者是并行順序,潛在的LabVIEW的編譯器試圖創(chuàng)建一個(gè)用于并行執(zhí)行代碼的線程。LabVIEW的這種圖形化的語言本身就考慮著某種并行化的程度。LabVIEW8.5擴(kuò)展了能夠在桌面系統(tǒng)中應(yīng)用的自動多線程功能,這樣就可以在SMP的支持下在多核實(shí)時(shí)硬件上開發(fā)實(shí)時(shí)系統(tǒng)。
問題:如果將多核并行處理和像PCI Express這樣的總線結(jié)合起來的話,將會對測試系統(tǒng)產(chǎn)生怎樣的影響呢?
Starkloff回答:工程師經(jīng)常會有一些特殊的測試需求,如執(zhí)行高性能測量任務(wù)、信號處理和定制的信號分析。PCI Express使其成為可能。這種建立在PCI Express總線技術(shù)上的解決方案代替固定的,由賣方定義的解決方案。PC總線的帶寬和潛在的規(guī)范自15年前開始,快速發(fā)展至今。從ISA到PCI再到現(xiàn)在的PCI Express,在使用儀器和處理器之間建立了一條快速的、專門的通道。這就使工程師們能夠?qū)⑺麄兊脑嫉臏y試數(shù)據(jù)重新裝載到主PC處理器里進(jìn)行實(shí)時(shí)處理和測試分析了。結(jié)合并行編程和多核處理器,工程師們還可以在他們的測試系統(tǒng)中增強(qiáng)系統(tǒng)性能和數(shù)據(jù)處理通道的數(shù)量。如果將PCI Express、LabVIEW8.5和多核處理器結(jié)合起來的話,不僅可以增加測試的吞吐量,而且還可以將虛擬儀器的應(yīng)用擴(kuò)展到新的應(yīng)用領(lǐng)域中。比如,高速數(shù)字測試,中頻數(shù)據(jù)流,多通道數(shù)據(jù)采集,以及全速圖像采集等。利用這些現(xiàn)成的計(jì)算機(jī)技術(shù),工程師們可以對包括大且貴的賣方定義和其他解決方案進(jìn)行選擇。比如,Eaton公司,這樣一個(gè)工業(yè)產(chǎn)品生產(chǎn)商,通過將基于LabVIEW的系統(tǒng)移植到一個(gè)四核心的系統(tǒng)后,成功地使他們的測試系統(tǒng)的運(yùn)行通道數(shù)量增加了4倍。
問題:儀器控制總線,比如GPIB,以太網(wǎng)和USB的發(fā)展前景如何?
Starkloff回答:GPIB,以太網(wǎng)和USB都是基于計(jì)算機(jī)的儀器控制的可選方法。GPIB在一起控制中仍然是最常用到的總線,這主要是因?yàn)樗呀?jīng)被世人所證明的性能,良好的連通性以及大量的儀器和控制器的配置基礎(chǔ)。USB越來越被那些便攜式的,快速建立的臺式應(yīng)用所青睞,而以太網(wǎng)則被那些不要求準(zhǔn)確的系統(tǒng)時(shí)間和同步的高分布式的儀器系統(tǒng)所青睞。
每種儀器控制總線都會依據(jù)你的應(yīng)用類型以及你的儀器上可利用的功能來發(fā)揮它們各自的優(yōu)勢。在決定一個(gè)應(yīng)用中要采用哪種總線比較理想之前,充分了解每種總線的相關(guān)技術(shù),易用性和交易等是至關(guān)重要的。美國國家儀器在它的網(wǎng)站ni.com上,提供了能夠幫助培養(yǎng)工程師們了解這些交易的詳細(xì)信息。工程師們同樣需要考慮到一種混合式的總線方式,這種總線方式包括了大量的儀器控制總線的選項(xiàng),從而工程師們可以就可以最大限度發(fā)揮系統(tǒng)的執(zhí)行性能和靈活性,并且對系統(tǒng)進(jìn)行在利用。一個(gè)基于計(jì)算機(jī)的儀器平臺,比如,PXI,被推薦運(yùn)用到一個(gè)混合式測試的系統(tǒng)中來。通過抑制可能發(fā)生的低帶寬,高潛在的總線比如以太網(wǎng)的總線瓶頸問題,可以全面的最大化系統(tǒng)的執(zhí)行性能。
問題:您認(rèn)為在未來的幾年里,使用儀器和自動測試會有怎樣的變化呢?
Starkloff回答:在這個(gè)領(lǐng)域中,一個(gè)最被看好的技術(shù)就是FPGA。使用FPGA,工程師們可以在設(shè)備上定義硬件系統(tǒng)的行為,進(jìn)行在線處理或分散處理。FPGA由于它內(nèi)在的并行可靠地執(zhí)行,同樣可以使FPGA有了更快的執(zhí)行速度。LabVIEW的圖形數(shù)據(jù)流的并行的本質(zhì),非常適用于多核應(yīng)用,這種本質(zhì)同樣對于FPGA技術(shù)的優(yōu)勢發(fā)揮也很理想。
當(dāng)FPGA應(yīng)用到獨(dú)立的儀器中時(shí),工程師們就不能對這些儀器進(jìn)行在編程,這對自動測試來說是很關(guān)鍵的一個(gè)要求。當(dāng)然,在一個(gè)主雙核的處理器上進(jìn)行不同的處理有很多好處。比如,F(xiàn)PGA非常適用于在點(diǎn)對點(diǎn)的I/O上進(jìn)行像簡單的采樣這樣的在線分析。但是,在一個(gè)主處理器上進(jìn)行復(fù)雜的調(diào)制就會得到更好的結(jié)果。這是因?yàn)閺?fù)雜的調(diào)制過程需要大量的浮點(diǎn)運(yùn)算。另外,盡管FPGA在進(jìn)行自動測試的時(shí)候具有編譯功能和靈活性,但是,這些功能都是需要通過采用硬件描述語言,如Verilog或VHDL等來進(jìn)行描述,這些語言都是用低級的語法來描述硬件行為的。而大部分測試工程師都不是很精通這些工具。
將FPGA的編程細(xì)節(jié)用系統(tǒng)水平的工具來抽象就會跨過這個(gè)不足。比如,LabVIEW FPGA,可以直接利用一個(gè)LabVIEW程序來實(shí)現(xiàn)便攜式的FPGA以及綜合必要的硬件。開發(fā)一個(gè)分散型的處理系統(tǒng)最理想的方法就是專門的開發(fā)環(huán)境,比如LabVIEW這種環(huán)境可以在主處理器或FPGA中選擇一個(gè)較好的執(zhí)行性能將處理過程進(jìn)行快速的分割。
問題:圖形化系統(tǒng)設(shè)計(jì)對測試來說意味著什么?
Starkloff回答:這些年來,美國國家儀器一直在傳播虛擬儀器,一個(gè)可以對工業(yè)發(fā)展產(chǎn)生革命性意義的概念。工程師們可以利用虛擬儀器創(chuàng)建能夠滿足特定需求的用戶自定義的系統(tǒng)。圖形化系統(tǒng)設(shè)計(jì)推動虛擬儀器向著更遠(yuǎn)的方向發(fā)展,它也為工程師們帶來了利用LabVIEW圖形化開發(fā)環(huán)境和標(biāo)準(zhǔn)FPGA硬件在單獨(dú)的一個(gè)平臺上開發(fā)他們常用的I/O,信號處理和分析算法的機(jī)會。這種方法可以幫助工程師在他們的系統(tǒng)中快速開發(fā)常用的測量功能,并且是他們能夠盡快的成為儀器設(shè)計(jì)師。
評論