概覽
作者:
NI中國 資深技術(shù)市場(chǎng)工程師 周斌
NI中國 資深技術(shù)市場(chǎng)工程師 周斌
NI中國 市場(chǎng)部經(jīng)理 朱君
目錄
儀器技術(shù)新時(shí)代
并行技術(shù)的涌現(xiàn)
虛擬儀器技術(shù)新紀(jì)元
更多相關(guān)資源
1. 儀器技術(shù)新時(shí)代
日新月異的科技發(fā)展與日趨激烈的市場(chǎng)競爭給工程師們帶來了持續(xù)的壓力和挑戰(zhàn)。
其中一個(gè)挑戰(zhàn)就是協(xié)議的多樣化,比如在通訊行業(yè)中,比起十年前,目前的通訊協(xié)議幾乎數(shù)不清(見圖1),而且沒有一個(gè)明顯的主導(dǎo)協(xié)議,因此最終產(chǎn)品就需要同時(shí)實(shí)現(xiàn)多個(gè)協(xié)議。如果按照原來的傳統(tǒng)方式,即一個(gè)測(cè)試儀器針對(duì)一個(gè)協(xié)議,那么很難想象會(huì)需要多少臺(tái)獨(dú)立儀器。

圖1 通訊行業(yè)并存著多樣的協(xié)議
產(chǎn)品功能的日趨集成化也是挑戰(zhàn)之一,我們拿新上市的iPhone為例(見圖2),它匯聚了多種功能, 不僅用來通話,也可以用作mp3、PDA、數(shù)字相機(jī)等等,并且為了保持市場(chǎng)的競爭力,新的功能會(huì)被不斷地加入。如果要跟上這樣的發(fā)展來進(jìn)行產(chǎn)品的功能測(cè)試,顯然,功能固定的傳統(tǒng)測(cè)試方法已無法滿足靈活性的要求;而且如果產(chǎn)品功能每增加一個(gè)就意味著需要增加或替換一臺(tái)儀器來測(cè)試的話,這是工程師們所無法接受的。

圖2 產(chǎn)品功能日趨集成化
隨著科技的高速發(fā)展,上述的發(fā)展趨勢(shì)目前已愈加明顯,因此測(cè)試儀器也正在經(jīng)歷一個(gè)基本原則的變更——從功能固定的分立儀器向著靈活的基于軟件的模塊化儀器架構(gòu)轉(zhuǎn)變,而這也就是NI在20多年前提出的 “虛擬儀器技術(shù)”的概念。利用虛擬儀器技術(shù)的特性,我們可以有效地解決上述的挑戰(zhàn):基于軟件的自定義功能使得工程師們可以針對(duì)不同的協(xié)議開發(fā)對(duì)應(yīng)的測(cè)試程序;而模塊化的儀器架構(gòu)則可以根據(jù)不同的功能測(cè)試選用不同的模塊硬件,在同一個(gè)測(cè)試平臺(tái)上靈活地實(shí)現(xiàn)測(cè)試系統(tǒng)的集成。
目前,虛擬儀器技術(shù)已經(jīng)被應(yīng)用在測(cè)試測(cè)量和自動(dòng)化的各大領(lǐng)域,協(xié)助越來越多的工程師們來創(chuàng)建高性能、高擴(kuò)展性的測(cè)試系統(tǒng),可以說,一個(gè)儀器技術(shù)的新時(shí)代已經(jīng)來臨。
而與此同時(shí),虛擬儀器技術(shù)本身也在不斷發(fā)展和創(chuàng)新,縱觀其20多年來的發(fā)展歷程,我們可以看到,由于虛擬儀器技術(shù)是建立在商業(yè)可用技術(shù)的基礎(chǔ)之上,因此它能夠?qū)⑿屡d發(fā)展的科學(xué)技術(shù)都融合進(jìn)來,使工程師能以最迅速和便捷的方式來享用,從而創(chuàng)建更高性能的測(cè)試系統(tǒng)。PC處理器技術(shù)的發(fā)展就是一個(gè)很好的例子:在1990年,用當(dāng)時(shí)的PC(Intel 386/16)處理65000個(gè)點(diǎn)的FFT(快速傅立葉變換,用于頻譜分析的基本方法)需要1100秒時(shí)間,而現(xiàn)在使用3.4GHz的P4計(jì)算機(jī)實(shí)現(xiàn)相同的FFT只需要約0.8秒,可以想見,這一技術(shù)上的飛躍對(duì)工程師們意味著多少曾經(jīng)的設(shè)想將成為可能。
以此類推,目前正在蓬勃發(fā)展著的新興技術(shù)也注定將成為推動(dòng)虛擬儀器技術(shù)發(fā)展的新動(dòng)力,例如PCI Express總線技術(shù)可以讓更多的原始數(shù)據(jù)以更高的速度傳送給PC;而多核技術(shù)則可以實(shí)現(xiàn)真正的并行運(yùn)算,從而直線提升系統(tǒng)的數(shù)據(jù)處理性能;可編程邏輯門陣列(FPGA)技術(shù)則允許工程師根據(jù)不同的測(cè)試要求通過軟件重新定制硬件的功能。因此,可以預(yù)見的是,這些主流的商業(yè)可用技術(shù)將讓虛擬儀器技術(shù)向許多之前只能用昂貴的專用設(shè)備的應(yīng)用領(lǐng)域敞開了大門,從而開啟一個(gè)虛擬儀器技術(shù)的新紀(jì)元!
2. 并行技術(shù)的涌現(xiàn)
縱觀目前主流的商業(yè)可用技術(shù),我們可以很明顯地看到,其發(fā)展的趨勢(shì)是通過并行拓?fù)浣Y(jié)構(gòu)來實(shí)現(xiàn)更高的性能,下面將針對(duì)它們進(jìn)行更深入的探討。
(1)PCI Express 總線技術(shù)
傳統(tǒng)儀器由于將數(shù)據(jù)處理和分析的過程放在了儀器硬件內(nèi)部,因此它只能返回一個(gè)結(jié)果值,這種方式雖然方便,但是卻無法滿足之前已經(jīng)敘述過的靈活性的要求。因此,一個(gè)更好的測(cè)試方式就是直接得到原始數(shù)據(jù),再使用專業(yè)的分析工具來分析數(shù)據(jù),這種方式可以允許工程師們對(duì)原始數(shù)據(jù)進(jìn)行多次的分析,從而不再需要做多次測(cè)試來獲得不同的分析結(jié)果,節(jié)省了時(shí)間和成本。
然而,隨著采樣率的不斷提高和通道數(shù)的增多,現(xiàn)有的總線帶寬能否進(jìn)行原始數(shù)據(jù)的實(shí)時(shí)讀取,這是實(shí)現(xiàn)很多新興測(cè)試應(yīng)用之前就需要解決的問題。
回顧現(xiàn)有的總線技術(shù),可以看到PCI總線的數(shù)據(jù)傳達(dá)吞吐率可以高達(dá)132兆/秒,這個(gè)相比其他總線已經(jīng)屬于相當(dāng)高了,并且還具有最低的延時(shí)(圖3)。然而它是一個(gè)共享資源的總線,也就是說,當(dāng)多個(gè)設(shè)備同時(shí)在總線上傳輸數(shù)據(jù)時(shí),每個(gè)設(shè)備可享受的帶寬會(huì)相比例地降低。隨著I/O速度和應(yīng)用要求的提高,這樣的架構(gòu)成為了瓶頸。而新一代的PCI Express技術(shù),它運(yùn)用了點(diǎn)對(duì)點(diǎn)總線的拓?fù)浼軜?gòu),使每個(gè)儀器可以通過獨(dú)立的通道向處理器傳輸數(shù)據(jù),明顯地改善了傳輸數(shù)據(jù)的帶寬,極小化了對(duì)內(nèi)存的需求,并加快了數(shù)據(jù)流的傳輸(圖4)。
眾所周知,在通信背板上添加的PCI總線是推動(dòng)PXI得到快速應(yīng)用的一個(gè)關(guān)鍵因素?,F(xiàn)在,隨著商用的PC技術(shù)從PCI總線發(fā)展到PCI Express,PXI也已經(jīng)將PCI Express結(jié)合到PXI標(biāo)準(zhǔn)中,即PXI Express(圖5)。PXI Express不僅保留了PXI的定時(shí)和同步等特性,還加入了很多新的同步特性,甚至還提供了微分系統(tǒng)時(shí)鐘,微分信號(hào)以及微分星觸發(fā)等。

圖3 總線帶寬與延時(shí)比較

圖4 PCI與PCI Express總線對(duì)比

圖5 PXI Express機(jī)箱
值得一提的是,PXI Express標(biāo)準(zhǔn)還提供了向后的軟件兼容性,這樣工程師們就可以充分利用他們?cè)谝延熊浖到y(tǒng)中所開發(fā)的成果。此外,NI提供的PXI Express混合插槽可以同時(shí)支持PXI和PXI Express兩種總線形式的模塊,從而更好地保留了過去的投資。
總言之,PCI Express技術(shù)的誕生使得虛擬儀器技術(shù)可以實(shí)現(xiàn)對(duì)于數(shù)據(jù)吞吐率有高要求的應(yīng)用,例如汽車碰撞測(cè)試的高速圖像采集或高速數(shù)字I/O應(yīng)用等等。
(2)多核處理器技術(shù)
PCI Express技術(shù)提高了總線帶寬和數(shù)據(jù)吞吐率,使得工程師可以獲得原始數(shù)據(jù),并通過專業(yè)的分析工具拿到可靠的測(cè)試結(jié)果。不過近年的數(shù)據(jù)量快速增長,導(dǎo)致對(duì)這些數(shù)據(jù)進(jìn)行處理和分析成為擺在工程師們面前的又一個(gè)問題。在過去的很多年來,我們都可以無需改變?nèi)魏尉幊碳纯赏ㄟ^升級(jí)CPU處理器來享受運(yùn)算性能的提升,而現(xiàn)在,這種“免費(fèi)的午餐”即將結(jié)束。
以往計(jì)算機(jī)處理器都是單純通過提高主頻來提高處理器的運(yùn)行速度,正如摩爾定律所陳述的:每隔24個(gè)月,晶體管的數(shù)量將翻番。但目前受制于功率的因素,單純提高主頻的方法已不再可行(圖6),一個(gè)新的架構(gòu)正孕育而生,那就是多核。

圖6 處理器速度的發(fā)展趨勢(shì)
多核處理器技術(shù)能夠提高傳統(tǒng)的測(cè)試算法的運(yùn)行速度,但是不同于以往的單核,為了實(shí)現(xiàn)性能的提高,開發(fā)人員需要在應(yīng)用軟件里配置線程。從圖7中可以看到,即使是在四核的處理器上,如果其應(yīng)用只是單線程的話,操作系統(tǒng)仍舊會(huì)將所有的任務(wù)分配到其中的一個(gè)核上運(yùn)行。可見,為了實(shí)現(xiàn)在多核處理器上程序性能的提升,就必須將你的應(yīng)用程序分成多個(gè)線程,再由OS協(xié)調(diào)分配在不同的核上運(yùn)行,這樣才能最大限度的利用多核處理器并行的優(yōu)勢(shì)來提升性能。
然而,這對(duì)于許多習(xí)慣于開發(fā)單線程應(yīng)用的開發(fā)者來說都是一個(gè)極大的挑戰(zhàn)。如果工程師使用的是基于文本的編程語言,如C語言,那么在進(jìn)行多線程應(yīng)用軟件的編寫時(shí),需要專門的語義創(chuàng)建和管理線程,并且在線程安全方式下進(jìn)行數(shù)據(jù)的傳送。

圖7使用多線程編程才能最大限度地利用多核處理器的性能
而NI LabVIEW,就非常適合于創(chuàng)建并行的多線程應(yīng)用。首先,相比文本編程語言的至上而下的順序結(jié)構(gòu),LabVIEW本身就是一種并行的編程結(jié)構(gòu);其次,早在LabVIEW 5.0時(shí)LabVIEW就已經(jīng)支持多線程,在LabVIEW程序編寫完畢后,LabVIEW編譯器可以自動(dòng)地識(shí)別線程并創(chuàng)建線程到不同的任務(wù)和循環(huán)上,再由OS分配到不同的核上運(yùn)行(圖8)。而最新的LabVIEW 8.5更針對(duì)多核技術(shù)進(jìn)行了全面的支持;此外,在實(shí)時(shí)操作系統(tǒng)中,用戶還可以自己分配特定的線程在特定的核上運(yùn)行,如圖9所示。
而且,隨著更多的核的到來,LabVIEW 可以自動(dòng)創(chuàng)建更多的線程來自動(dòng)提升程序的性能。簡單來說,就是當(dāng)你把測(cè)試系統(tǒng)的控制器升級(jí)為更多核的處理器時(shí),不需要對(duì)程序做任何修改,測(cè)試系統(tǒng)就能自動(dòng)達(dá)到更高的處理性能。

圖8 使用LabVIEW方便實(shí)現(xiàn)多線程編程

圖9 LabVIEW 8.5允許用戶手動(dòng)分配線程在指定的核上運(yùn)行
綜上所述,多核處理器使用了并行拓?fù)浼軜?gòu)來提高處理能力,而真正的多線程編程語言,如LabVIEW,可以幫助我們輕松實(shí)現(xiàn)真正的運(yùn)算性能的提高。
(3)FPGA技術(shù)
虛擬儀器技術(shù)最初的一個(gè)重要特性就是可以使用軟件來定制硬件的功能。隨著LabVIEW作為并行化的編程語言的地位逐漸穩(wěn)固,它的應(yīng)用也得到了不斷的擴(kuò)展,并對(duì)強(qiáng)大的并行硬件技術(shù)FPGA提供了強(qiáng)有力的支持。
發(fā)明于80年代中期的FPGA技術(shù)是扎根于簡單的可編程邏輯上,一塊FPGA芯片包含了一個(gè)可重置的門陣列邏輯電路,內(nèi)部電路如何連接是通過軟件來實(shí)現(xiàn)開發(fā)和部署。
通常來說,F(xiàn)PGA的軟件開發(fā)平臺(tái)是使用VHDL語言來實(shí)現(xiàn),但是這種語言需要很長的學(xué)習(xí)時(shí)間,并且也需要深厚的硬件技術(shù)背景,因此只有少數(shù)的一些專業(yè)人員掌握。隨著可編程硬件的需求日益增長,F(xiàn)PGA已成為一種主流的技術(shù),這種趨勢(shì)需要我們能夠有方法降低FPGA編程的門檻,從而將FPGA技術(shù)帶給更多的工程師。
LabVIEW的并行化的編程方式以及圖形化的編程環(huán)境可以允許工程師們能以直觀的方式來實(shí)現(xiàn)FPGA的邏輯功能。例如,使用LabVIEW,在FPGA中實(shí)現(xiàn)圖10所示的邏輯功能就變得相對(duì)簡單。
當(dāng)然,如果要搭建一個(gè)完整的測(cè)控平臺(tái),我們還需要有很多不同的IO模塊來選擇。NI提供給工程師們完整的基于FPGA的商業(yè)可用型平臺(tái)以供選擇,讓工程師們能夠利用這一技術(shù)實(shí)現(xiàn)更高性能的測(cè)試應(yīng)用。

圖10 使用LabVIEW實(shí)現(xiàn)FPGA邏輯功能
3. 虛擬儀器技術(shù)新紀(jì)元
最后,讓我們一起來展望一下未來虛擬儀器技術(shù)的藍(lán)圖。
PCI Express總線的高帶寬將虛擬儀器技術(shù)的應(yīng)用范圍擴(kuò)展到更多新興的應(yīng)用,從而使工程師們能夠在享受高通道、高采樣率的好處同時(shí),又可根據(jù)自身需要靈活定制相關(guān)功能。
Intel已經(jīng)許諾了在2011年會(huì)推出80個(gè)芯核的CPU,而NI LabVIEW也已經(jīng)做好了迎接這一豐盛饕餮的準(zhǔn)備,工程師們可以在不改變程序的同時(shí),充分提升數(shù)據(jù)分析和處理的性能。
而利用基于FPGA的平臺(tái),工程師們可以對(duì)硬件進(jìn)行重新配置,它可以靈活地根據(jù)待測(cè)單元、軟件或者是測(cè)試需求的變化來進(jìn)行重新配置。
綜上所述,新的技術(shù)不斷地被吸收和融合,成為推動(dòng)虛擬儀器技術(shù)飛躍的源動(dòng)力。這一次,PCI Express、多核以及FPGA等并行技術(shù)將扮演開啟虛擬儀器技術(shù)新紀(jì)元的角色,從而推動(dòng)它成功實(shí)現(xiàn)這一次的騰躍!
4. 更多相關(guān)資源
中文網(wǎng)頁:全方位了解 PCI EXPRESS
技術(shù)文檔:LabVIEW的前世今生
在線研討會(huì):LabVIEW FPGA 模塊簡介視頻演示
下載/索?。篖abVIEW評(píng)估版