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