CompactRIO高性能控制器基于LabVIEW RIO架構(gòu),采用了功能強大的Intel Atom片上系統(tǒng)(SoC)和Xilinx Kintex7 FPGA等最新技術(shù)。 Intel Atom SoC提供了極高的性能和豐富的功能,包括集成式GPU和雙核1.33 GHz處理器。 比起其他CompactRIO控制器的FPGA,Kintex-7 325T FPGA包含大約3倍的復(fù)雜邏輯塊和超過13倍的DSP片。 FPGA與處理器使用PCI Express總線進行通信,大大提高了吞吐量,并可訪問16個DMA通道。
?
全新CompactRIO高性能控制器采用的LabVIEW RIO架構(gòu)提供了軟件靈活性,可將HMI和控制任務(wù)集成到同一個硬件和同一個操作系統(tǒng)中。 這主要歸功于Intel Atom SoC和NI Linux Real-Time操作系統(tǒng)提供的特性。 NI Linux Real-Time操作系統(tǒng)可將任務(wù)優(yōu)先級顯示給開發(fā)人員,為控制任務(wù)分配比在同一個應(yīng)用程序中運行的HMI軟件任務(wù)更高的優(yōu)先級。
這些技術(shù)的結(jié)合大大提高了閉環(huán)控制應(yīng)用的系統(tǒng)吞吐量并降低了延遲。 CompactRIO高性能控制器為嵌入式設(shè)計人員提供了靈活強大的硬件,同時還可幫助他們降低系統(tǒng)復(fù)雜性和成本。
為了證明CompactRIO高性能控制器的性能,NI研發(fā)部設(shè)計了一系列基于cRIO-9031高性能控制器的控制和監(jiān)測應(yīng)用基準(zhǔn)測試。 這些測試同樣適用于其他使用相同CPU的CompactRIO高性能控制器產(chǎn)品。
1. 基準(zhǔn)測試設(shè)置和測量
我們選擇了具有代表性的常見控制和監(jiān)測應(yīng)用以及這些應(yīng)用中常見的主要任務(wù)進行基準(zhǔn)測試。 下表列出了本次研究要進行的測試。
表1 - 在CompactRIO控制器上進行測試,以測量應(yīng)用的性能和吞吐量
本研究的測試對象是以下硬件終端:
NI cRIO-9025?| 800 MHz, PowerPC
NI cRIO-9068?| 667 MHz,ARM Cortex-A9 雙核
NI cRIO-9031?| 1.33 GHz,Intel Atom雙核
NI cRIO-9082?| 1.33 GHz,Intel Core i7 雙核
雖然本研究重點關(guān)注的是CompactRIO高性能控制器及其與同一產(chǎn)品家族其他控制器(如cRIO-9025)的性能對比,但是其他CompactRIO產(chǎn)品系列的代表性硬件終端,如cRIO-9068和cRIO-9082也包含在測試中,以便讀者更完整地了解CompactRIO系統(tǒng)所提供的各種可能性。
CPU使用率作為通用指標(biāo)來比較這些CompactRIO控制器的相對性能。 對于每個測試,我們通過在穩(wěn)定的狀態(tài)下改變數(shù)據(jù)傳輸?shù)耐ǖ罃?shù)或控制循環(huán)速率來測量CPU使用率。 這些指標(biāo)可以幫助我們了解可用于添加代碼、提高循環(huán)速率或增加數(shù)據(jù)傳輸通道的資源。
其他考量因素:
. 對于搭載多核處理器的CompactRIO系統(tǒng),取每個內(nèi)核測試結(jié)果的平均值。
. 對于NI cRIO-9031控制器,分別在啟用和禁用嵌入式用戶界面的條件下進行測試,以測量該功能對系統(tǒng)整體性能的影響。
2. 測試1——LabVIEW FPGA控制項目范例的性能基準(zhǔn)測試
全新高性能CompactRIO系統(tǒng)采用的技術(shù)組合為復(fù)雜的實際應(yīng)用帶來了無可比擬的性能提升。 針對控制應(yīng)用測試時,我們選擇基于CompactRIO的LabVIEW FPGA控制項目范例。 我們在該項目范例的基礎(chǔ)上增加了在Real-Time控制器上執(zhí)行八通道三次樣條軌跡生成算法,進一步增大CPU的負(fù)荷。
圖1 -基于CompactRIO的LabVIEW FPGA控制項目范例的架構(gòu)框圖包含了一個八通道三次樣條軌跡生成算法
下圖顯示的數(shù)字表示控制循環(huán)速率為1.5 kHz時的CPU使用率。 在該速率下,cRIO-9031高性能控制器使用約11%的處理器資源, 而cRIO-9068和cRIO-9025控制器分別需要21%和64%的處理器資源,相比之下,cRIO-9031高性能控制器具有明顯的優(yōu)勢。
圖2 - 當(dāng)控制循環(huán)速率為1.5 kHz時,運行包含八通道三次樣條軌跡生成算法的控制應(yīng)用程序所需的處理器資源比較
對于cRIO-9031高性能控制器,我們在啟用嵌入式用戶界面的設(shè)置下又重復(fù)進行了該測試,由于本次測試沒有涉及基于CompactRIO的LabVIEW FPGA控制項目范例的人機界面部分,因此CPU占用率并沒有明顯的變化。
3. 測試2——監(jiān)測應(yīng)用的吞吐量基準(zhǔn)測試
監(jiān)測應(yīng)用中一個常見的任務(wù)是將數(shù)據(jù)從I/O通道移動到實時處理器進行進一步處理、記錄或可視化。 我們設(shè)計了一個簡單的測試來重現(xiàn)這一場景,并測量數(shù)據(jù)傳輸通道數(shù)量發(fā)生變化時的CPU使用率。 每個通道以100kHz傳輸16位采樣數(shù)據(jù)。 測試不包含任何數(shù)據(jù)流盤或在線處理。
圖3 - 監(jiān)測應(yīng)用中一個簡化的數(shù)據(jù)流盤任務(wù)的架構(gòu)框圖。
下圖顯示了以100kHz循環(huán)速率讀寫60個通道數(shù)據(jù)的測試結(jié)果。 在這個測試中,我們必須意識到由于硬件架構(gòu)之間的細(xì)微差別可能會給測試帶來瓶頸。 例如,cRIO-9068和cRIO-9031均具有16個DMA通道和較高的理論最大數(shù)據(jù)傳輸速率: cRIO-9068控制器為320MB/s,cRIO-9031控制器為250MB/s。 然而,cRIO-9031高性能控制器由于采用性能明顯較高的處理器而能夠以較低的CPU利用率維持較多數(shù)量的數(shù)據(jù)流。
圖4 – 每通道控制循環(huán)速率為100kHz時讀寫60個通道的16位采樣數(shù)據(jù)所需的處理器資源
類似于控制應(yīng)用性能測試,由于本測試沒有涉及人機界面,因而cRIO-9031的嵌入式用戶界面選項并沒有太大的影響。 如需了解嵌入式用戶界面功能的影響,請查看測試3。
4. 測試3—復(fù)雜真實應(yīng)用的性能基準(zhǔn)測試
充分發(fā)揮cRIO高性能控制器功能的最佳方式也許是基于復(fù)雜真實應(yīng)用的測試。 大型應(yīng)用通常結(jié)合了不同類型的常見監(jiān)測和控制任務(wù),包括具有多速率控制的多個處理循環(huán)、數(shù)據(jù)處理、從I/O通道讀寫數(shù)據(jù)、流盤、通過網(wǎng)絡(luò)將數(shù)據(jù)傳送到遠(yuǎn)程人機界面以及執(zhí)行非時間關(guān)鍵型健康和狀態(tài)監(jiān)測任務(wù)。
我們開發(fā)了一個包含上述任務(wù)的復(fù)雜應(yīng)用程序,使用RT FIFO、定時循環(huán)以及網(wǎng)絡(luò)流等常見的LabVIEW架構(gòu)組件來協(xié)調(diào)各種應(yīng)用程序組件并實現(xiàn)它們之間的通信。 此外,我們還設(shè)計了一個專門的任務(wù),以較高的速度將數(shù)據(jù)發(fā)布到前面板顯示控件,以充分發(fā)揮cRIO高性能控制器的嵌入式用戶界面功能。
圖5– 一個真實控制和監(jiān)測應(yīng)用的架構(gòu)框圖
使用這一應(yīng)用程序,NI cRIO-9025可實現(xiàn)大約900Hz的最大控制環(huán)速率。 在該速率下,NI cRIO-9025的CPU使用率是86%,而cRIO-9031高性能控制器僅使用可用處理器資源的18%就能達到相同的速率。 這為增加額外的應(yīng)用程序任務(wù)保留了大量的可用CPU資源,或者對于這個復(fù)雜的控制和監(jiān)測應(yīng)用,循環(huán)速率可提高到超過2 kHz。
圖6 – 在不同控制循環(huán)速率下運行包含多個常見控制和監(jiān)測任務(wù)的復(fù)雜應(yīng)用所需的CPU使用率。
5. 嵌入式用戶界面的影響
CompactRIO高性能控制器可通過嵌入式界面支持來實現(xiàn)本地HMI,降低了系統(tǒng)成本和復(fù)雜性。 這主要歸功于這款全新的控制器采用了最新的Intel Atom處理器,該處理器及其具有的顯卡支持為使用NI LabVIEW構(gòu)建控制系統(tǒng)邏輯和觸摸用戶界面提供了高性能基礎(chǔ)。 為了實現(xiàn)該集成,LabVIEW開發(fā)環(huán)境和NI Linux Real-Time操作系統(tǒng)會將任務(wù)優(yōu)先級顯示給開發(fā)人員,為控制任務(wù)分配比在同一個應(yīng)用程序中運行的HMI軟件任務(wù)更高的優(yōu)先級。
在該方法中,終端的資源用于系統(tǒng)控制和驅(qū)動用戶界面的顯卡。 這降低了系統(tǒng)的硬件成本和維護負(fù)擔(dān),簡化了軟件開發(fā)的復(fù)雜性,但相對于其他顯示選項會消耗更多的控制器資源。
為了測量嵌入式界面對處理器資源的影響,我們對測試3進行修改,在高速率下更新其組件,以連續(xù)運行HMI。 下圖顯示了在測試3的活躍用戶界面下使用嵌入式用戶界面功能的影響。
圖7 - 啟用嵌入式用戶界面功能后在高速率下更新用戶界面,可以看到增加的CPU使用率大約恒定在10%。
當(dāng)滿負(fù)荷時,使用嵌入式用戶界面功能會導(dǎo)致CPU使用率大約增加10%。 類似于測試1和2中,無論數(shù)據(jù)流通道的數(shù)量如何變化,嵌入式用戶界面功能的影響保持恒定。
為了支持嵌入式界面的圖形處理能力,Intel Atom SoC采用了板載GPU來增強CPU。 GPU通過頻繁的處理器中斷調(diào)用來與處理器進行通信,中斷調(diào)用需要占用一定的LabVIEW Real-Time應(yīng)用程序處理時間。 由于Intel Atom CPU的高性能, 在一兩千赫茲的控制循環(huán)速率下更新GPU導(dǎo)致的處理時間增加是可以接受的,無需修改架構(gòu)或配置。 為了實現(xiàn)接近5 kHz及以上的控制循環(huán)速率,同時仍然利用內(nèi)嵌式用戶界面,我們可以禁用GPU或?qū)abVIEW控制代碼轉(zhuǎn)移到在板載FPGA,詳情可參考以下鏈接。
對于嵌入式用戶界面可能會影響系統(tǒng)性能的應(yīng)用,請遵守以下建議:
通過LabVIEW中的處理器內(nèi)核分配任務(wù)執(zhí)行來進一步隔離任務(wù)。了解更多。
如果需要進一步的隔離和更高的硬件可靠性,可將LabVIEW控制代碼轉(zhuǎn)移至板載FPGA的硬件邏輯。?了解更多
禁用Intel Atom SoC的GPU,以犧牲CPU利用率來減小抖動。?了解更多。
6. 結(jié)論
嵌入式應(yīng)用可執(zhí)行的功能越來越多,如運動控制、數(shù)據(jù)采集、視覺采集和人機界面。 由于NI CompactRIO高性能控制器集成了最先進技術(shù)和獨特的功能,可大幅加快開發(fā)時間并降低系統(tǒng)復(fù)雜性和成本,因而成為這些應(yīng)用的理想選擇。
CompactRIO高性能控制比其他控制器產(chǎn)品系列控制器有了顯著的性能提升,而且擴展了可兼容NI Linux Real-Time等關(guān)鍵技術(shù)的終端范圍。 NI CompactRIO高性能控制器基于LabVIEW RIO架構(gòu)提供了靈活、功能強大的硬件和軟件技術(shù),適用于各種嵌入式控制和監(jiān)測應(yīng)用。
通過這一系列的基準(zhǔn)測試,證明了cRIO-9031高性能控制器相比同類cRIO控制器產(chǎn)品家族中的現(xiàn)有產(chǎn)品,如cRIO-9025,性能大約提升了4倍。然而,整個測試也表明, cRIO-908x控制器仍是目前CompactRIO產(chǎn)品線中最高性能的控制器。
評論
查看更多