目錄
1. 在線數(shù)據(jù)處理
2. 自定義定時(shí)、觸發(fā)和通道邏輯
3. 高速控制
隨著模數(shù)轉(zhuǎn)換器(ADC)和現(xiàn)場(chǎng)可編程門陣列(FPGA)技術(shù)的不斷發(fā)展,電子產(chǎn)品在性能提升的同時(shí),成本也得到了降低。
在NI CompactRIO系統(tǒng)中,所有的模擬和數(shù)字信號(hào)在到達(dá)主處理器前都需要通過一個(gè)FPGA模塊。這種硅片處理器對(duì)測(cè)試和控制系統(tǒng)都是非常靈活的工具。當(dāng)其與NI LabVIEW FPGA模塊相結(jié)合,這種架構(gòu)帶來了諸多好處。接下來所講的便是在相同測(cè)量和控制系統(tǒng)下,結(jié)合FPGA模塊和模數(shù)轉(zhuǎn)換器所帶來的三大好處。

圖1. 可在FPGA上完整運(yùn)行“輸入-處理-輸出”的LabVIEW代碼
1. 1. 在線數(shù)據(jù)處理
設(shè)計(jì)用于測(cè)量如張力、壓力和聲音等動(dòng)態(tài)物理現(xiàn)象的系統(tǒng),每秒可采集數(shù)百萬個(gè)樣本,但是需要通過一些形式的數(shù)據(jù)處理才能提供最有意義的信息。不管是計(jì)算快速傅里葉變換(FFT)、計(jì)算均方根(RMS)的值,還是在高速數(shù)據(jù)采集中實(shí)現(xiàn)陷波濾波,都會(huì)給主處理器增加沉重的負(fù)擔(dān)。在某些情況下,這種負(fù)擔(dān)甚至?xí)拗普麄€(gè)系統(tǒng)的性能。
通過使用在線放置FPGA模塊和一個(gè)高速模數(shù)轉(zhuǎn)換器這種硬件架構(gòu),測(cè)試系統(tǒng)設(shè)計(jì)人員可以進(jìn)行數(shù)據(jù)處理,重新采樣或者是大量數(shù)據(jù)的降采樣抽取,并使主處理器對(duì)其他任務(wù)開放。一百萬個(gè)數(shù)據(jù)點(diǎn)進(jìn)入FPGA模塊可能僅有一個(gè)均方根值輸出,這樣節(jié)省的資源將可用于緩存、轉(zhuǎn)化和計(jì)算均方根值等。
通過使用在線放置FPGA模塊和一個(gè)高速模數(shù)轉(zhuǎn)換器這種硬件架構(gòu),測(cè)試系統(tǒng)設(shè)計(jì)人員可以進(jìn)行數(shù)據(jù)處理,重新采樣或者是大量數(shù)據(jù)的降采樣抽取,并使主處理器對(duì)其他任務(wù)開放。一百萬個(gè)數(shù)據(jù)點(diǎn)進(jìn)入FPGA模塊可能僅有一個(gè)均方根值輸出,這樣節(jié)省的資源將可用于緩存、轉(zhuǎn)化和計(jì)算均方根值等。
2. 2. 自定義定時(shí)、觸發(fā)和通道邏輯
FPGA的邏輯分析可在從采集開始的短短一個(gè)時(shí)鐘周期內(nèi)分析一組離散輸入采樣。FPGA時(shí)鐘周期不同,但是如在CompactRIO系統(tǒng)中的FPGA時(shí)鐘則一般運(yùn)行在40MHz。這意味著在25納秒內(nèi),F(xiàn)PGA上的程序可對(duì)先前采集的樣本隨時(shí)作出反應(yīng)。這樣做的好處的一個(gè)例子就是實(shí)施模擬觸發(fā)。在25納秒內(nèi),定制的FPGA邏輯就可以將輸入樣本與一個(gè)預(yù)設(shè)常數(shù)進(jìn)行比較,并確定是否達(dá)到預(yù)設(shè)水平。
這個(gè)例子中的比較器是個(gè)簡(jiǎn)單的邏輯,而FPGA可輕松的通過各通道的結(jié)合來控制邏輯,實(shí)現(xiàn)加窗、遲滯或者自定義觸發(fā)。為了使通道邏輯更進(jìn)一步,F(xiàn)PGA代碼可以隨著時(shí)間計(jì)算峰數(shù),從而將一個(gè)基本的模擬輸入通道轉(zhuǎn)化為一個(gè)頻率計(jì)數(shù)器。使用具有高速處理速率的FPGA和用于輸入的模數(shù)轉(zhuǎn)換器,系統(tǒng)設(shè)計(jì)人員可以通過改動(dòng)程序邏輯來改進(jìn)設(shè)計(jì),而不用再構(gòu)建定制的前端電路。
這個(gè)例子中的比較器是個(gè)簡(jiǎn)單的邏輯,而FPGA可輕松的通過各通道的結(jié)合來控制邏輯,實(shí)現(xiàn)加窗、遲滯或者自定義觸發(fā)。為了使通道邏輯更進(jìn)一步,F(xiàn)PGA代碼可以隨著時(shí)間計(jì)算峰數(shù),從而將一個(gè)基本的模擬輸入通道轉(zhuǎn)化為一個(gè)頻率計(jì)數(shù)器。使用具有高速處理速率的FPGA和用于輸入的模數(shù)轉(zhuǎn)換器,系統(tǒng)設(shè)計(jì)人員可以通過改動(dòng)程序邏輯來改進(jìn)設(shè)計(jì),而不用再構(gòu)建定制的前端電路。
3. 3. 高速控制
不論程序是用于控制機(jī)械臂生產(chǎn)還是控制汽車防抱死系統(tǒng),或者是控制食品包裝設(shè)備,所有的控制系統(tǒng)都有一些共同點(diǎn)。這些程序都遵循“輸入-處理-輸出”的閉環(huán)控制模型。該控制回路和其他任何進(jìn)程的速率由速率最慢的組件速率決定。限制速率的可能是執(zhí)行機(jī)構(gòu)的速率,也可能是傳感器的更新速率,或者是通信總線的帶寬。
但是,采用可以在LabVIEW環(huán)境下編程的FPGA模塊和高速I/O模塊,限制因素幾乎就沒有了,如果有的話,那只會(huì)是控制算法。比例積分微分控制算法(Proportional Integral Derivative ,PID)和自適應(yīng)控制算法的處理需求通常與所涉及的通道數(shù)目有關(guān),這便需要在通道數(shù)目和速度之間有所權(quán)衡?;贔PGA的控制系統(tǒng)有助于在這兩大優(yōu)勢(shì)下克服這一問題。首先,增加并行處理器不會(huì)減緩系統(tǒng)速率。
換而言之,一個(gè)“四進(jìn)四出”的控制系統(tǒng)過程在FPGA中運(yùn)行時(shí)和“一進(jìn)一出”的控制系統(tǒng)速度一樣快。只要有可用資源,并行處理器的添加不會(huì)降低性能。其次,在FPGA上運(yùn)行基于LabVIEW的代碼,因?yàn)镮/O數(shù)據(jù)并不需要移動(dòng)到處理器、隨機(jī)存取存儲(chǔ)器RAM或者實(shí)時(shí)操作系統(tǒng),所以控制延時(shí)可降低到25納秒,“輸入-處理-輸出”過程直接從ADC到FPGA再到DAC,提供了非全定制設(shè)計(jì)系統(tǒng)下的近乎最低延遲。FPGA的并行特性和其無需將數(shù)據(jù)移動(dòng)到處理器便可運(yùn)行先進(jìn)控制算法的能力,對(duì)設(shè)計(jì)人員而言是一個(gè)巨大的好處。
換而言之,一個(gè)“四進(jìn)四出”的控制系統(tǒng)過程在FPGA中運(yùn)行時(shí)和“一進(jìn)一出”的控制系統(tǒng)速度一樣快。只要有可用資源,并行處理器的添加不會(huì)降低性能。其次,在FPGA上運(yùn)行基于LabVIEW的代碼,因?yàn)镮/O數(shù)據(jù)并不需要移動(dòng)到處理器、隨機(jī)存取存儲(chǔ)器RAM或者實(shí)時(shí)操作系統(tǒng),所以控制延時(shí)可降低到25納秒,“輸入-處理-輸出”過程直接從ADC到FPGA再到DAC,提供了非全定制設(shè)計(jì)系統(tǒng)下的近乎最低延遲。FPGA的并行特性和其無需將數(shù)據(jù)移動(dòng)到處理器便可運(yùn)行先進(jìn)控制算法的能力,對(duì)設(shè)計(jì)人員而言是一個(gè)巨大的好處。
結(jié)合FPGA和ADC可以提升性能,但是如果沒有一個(gè)簡(jiǎn)單的方法來在這些元件之間傳送數(shù)據(jù),那么處理速度的改善將會(huì)被開發(fā)時(shí)間抵消。在CompactRIO控制系統(tǒng)中,LabVIEW幫助工程師融合FPGA處理和數(shù)據(jù)采集而無需進(jìn)行一系列軟件工具的學(xué)習(xí)和支持。LabVIEW代碼可以管理實(shí)時(shí)操作系統(tǒng)、信號(hào)的輸入和輸出、人機(jī)交互界面、網(wǎng)絡(luò)服務(wù),當(dāng)然還有FPGA模塊。

圖2. CompactRIO通過一個(gè)可編程FPGA模塊運(yùn)送所有I/O數(shù)據(jù)來增強(qiáng)性能和靈活性
– Brett Burger