LabVIEWCompactRIO 開發(fā)指南25 實施LabVIEW FPGA代碼的方法
LabVIEWCompactRIO?開發(fā)指南25
實施LabVIEW?FPGA代碼的方法
開始開發(fā)時,應在LabVIEW項目的FPGA目標下創(chuàng)建VI,以便使用LabVIEW?FPGA選板進行編程,該選板是LabVIEW選板的子集,包括一些LabVIEW?FPGA特定函數(shù)。
應該在仿真模式下開發(fā)VI,方法是右鍵單擊FPGA目標并選擇執(zhí)行ExecuteVI
on?Development?Computer?with?Simulated?I/O。通過采用這種方法,可以快速迭代設計并訪問所有標準LabVIEW調試功能。如果需要訪問實際的I/O,請將執(zhí)行模式更改為在Execute?VI?on?FPGA?Target。
讀取和寫入I/O
本節(jié)介紹了通過LabVIEW?FPGAVI訪問I/O的基本知識。有關使用LabVIEW?FPGA的模擬和數(shù)字I/O模塊定時和同步的更多詳細信息,請參閱第6章:I/O的定時和同步。
要開發(fā)LabVIEWFPGA應用程序,需要將FPGA目標添加到LabVIEW項目中,以及任何必要的I/O、時鐘、寄存器項、內存項或FIFO。LabVIEW幫助文檔在LabVIEW項目中使用FPGA目標提供了如何設置的詳細說明。
一旦將LabVIEW項目配置為面向FPGA設備,即可將I/O通道從LabVIEW項目拖放到LabVIEW?FPGAVI框圖上,以獲取I/O節(jié)點。

圖5.3.將I/O節(jié)點拖放到FPGA框圖中。
FPGAI/O節(jié)點在調用時返回單點數(shù)據(jù)。對于大多數(shù)NIR系列設備和C系列I/O模塊,可以使用LabVIEW結構和邏輯來指定采樣率和觸發(fā)。使用Δ-Σ轉換器并具有自己板載時鐘的高速模擬輸入模塊是一個例外。對于這些模塊,可以使用屬性節(jié)點控制采樣率。第6章:I/O的定時和同步中的表6.2提供了使用三角積分調制的NIC系列I/O模塊的列表。
對于大多數(shù)I/O節(jié)點,可以使用帶有快速循環(huán)定時器VI的環(huán)路來設置采樣率。樣本延遲控件以刻度為單位設置速率。Ticks是FPGA時鐘上的脈沖,對于大多數(shù)CompactRIO目標,其默認為40MHz。例如,在40MHz時鐘上實現(xiàn)20,000個時鐘周期的采樣延遲,則采樣速率為2kHz。還可以通過雙擊循環(huán)計時器,調整配置面板來指定以微秒或毫秒為單位的延遲。當然,無論指定什么速率,模塊采樣最多只能達到模塊文檔中指定的最大速率。
可以選擇使用Sequence結構,如圖5.4所示。序列結構可用于保證每次編譯LabVIEW?FPGA?VI時,定時器和I/O節(jié)點都以相同的順序執(zhí)行。

圖5.4.標準模擬輸入模塊的采集方案
若要實現(xiàn)觸發(fā)的應用程序,請使用對觸發(fā)條件進行門控的案例結構。此觸發(fā)條件可以是來自主機處理器的輸入,也可以直接從FPGA上的邏輯派生。借助LabVIEW?FPGA,可以實現(xiàn)基本或復雜的觸發(fā)方案,例如重新觸發(fā)、暫停觸發(fā)或任何類型的自定義觸發(fā)。圖5.5顯示了一個應用程序示例,該應用程序采用啟動觸發(fā)器并監(jiān)視正在收集的樣本數(shù),直到達到用戶指定的數(shù)量。此示例中使用的代碼可以在渦輪機測試儀項目中找到,該項目可以從ni.com/compactriodevguide的Introductionand?Basic?Architectures部分下載。

圖5.5.簡單的單觸發(fā)
?
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關LabVIEW編程、LabVIEW開發(fā)等相關項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。