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