fpga开发教程 labview_LabVIEW项目样例 - NI VST FPGA软件编程使用步骤与实例教程
3. LabVIEW項目樣例
NI VST儀器設計庫的能力強大,但是并不能單槍匹馬地完全滿足軟件設計儀器實現默認功能的要求,也不能提供大多數VSA和VSG儀器編程人員所熟悉的簡單主機接口。
LabVIEW 2012提供了一個新功能,這種方便的機制不僅能夠分配附加代碼,從而提供默認、預編譯的功能和一個方便的主機接口,而且還使用戶能夠輕松地掌握這些代碼。此機制是LabVIEW項目樣例,將LabVIEW項目、具體VI,以及相關文件復制到用戶指定的硬盤位置。另外還提供文件重命名和更新VI標題的能力。
圖 4.利用LabVIEW 2012項目樣例,軟件設計儀器的用戶可以完全掌握代碼的相關部分
欲了解創建NI VST項目樣例的詳細信息,請訪問ni.com/vst/getting-started/zhs/。
NI PXIe-5644R的軟件安裝程序能夠創建具有不同特征的多個項目樣例。最類似于默認VSA和VSG功能的項目是Simple VSA/VSG項目樣例。此項目樣例提供了與其他VSA和VSG API相似的主機接口。Simple VSA/VSG項目樣例的高層架構和數據流如圖5所示。
圖 5. Simple VSA/VSG項目樣例在主機和FPGA上聚集儀器設計庫,提供了一個VSA和VSG用戶所熟悉的起點
從Simple VSA/VSG項目樣例的FPGA VI開始,有四個主要回路,一些附加功能位于過程subVI內。為配置NI VST的所有可編程組件,以及FPGA上的一些儀器設計庫,配置回路從主機處接收寄存器和設置,然后將其分布至各個FPGA子系統和外部電路。為了提高性能以及使主機上的多個過程均能夠獨立訪問,有兩個寄存器總線。一個用于采集,另一個用于生成,并且每一個都必須能夠配置共享資源,例如計時。
圖 6. 配置回路負責接收主機的數據以及對儀器進行編程
RF輸入回路獲取模數轉換器(ADC)的數據;進行復矢量校準;并進行頻移、相位校準、減損,以及可變、部分、防混疊抽選。另外,RF輸入回路還實現了同步以及數字式功率水平觸發,然后將數據寫入FIFO,并最終寫入DRAM。
圖 7. RF輸入回路以可配置I/Q速率生成已校準數據,并將其寫入DRAM
RF輸出循環類似于RF輸入循環,但是操作順序相反。來自DRAM的數據進行內插、定標、頻移、相位校準、內插、校準,然后通過數模轉換器(DAC)生成。另外還有觸發和同步所用信號。
圖 8. RF輸出循環檢索來自DRAM的數據然后生成數據
過程子VI包含有循環和狀態機,實現了多數據記錄采集和DRAM控制器對波形的排序。這些子VI包含了大量代碼,滿足了大帶寬和低滯后性能要求,確保這些子VI能夠在全速率ADC數據轉換下溢出,以及產生全速率DAC數據而不發生下溢,同時仍然與主機之間進行波形數據傳輸。
讀取循環實現的功能可以存在于多記錄采集過程之內,然而為了方便起見而將其顯示出來。該循環可以再數據離開DRAM時并在被發送到主機前進行數據處理。此路徑在它自己的回路之內,從而那些并不符合120 MHz RF輸入和輸出回路的定時要求的IP仍然可以使用。為了適應這種IP,稍微降低此回路速率并不會影響讀取性能,然而如果降得過多,則只會增加數據到達主機所需時間。這樣即使采樣內存被填滿了,也不會丟失樣點或破壞數據。
圖 9.讀取循環提供了在已采集數據返回主機之前對其進行處理的機會。在默認情況下,讀取回路返回原始數據
總結
以上是生活随笔為你收集整理的fpga开发教程 labview_LabVIEW项目样例 - NI VST FPGA软件编程使用步骤与实例教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈双活业务中心和异地容灾备份设计谈谈双
- 下一篇: 用keil怎么擦除_分享STM32 FL