NI矢量信號收發(fā)器的FPGA編程
雖然頂層FPGA VI集合了13個儀器設(shè)計庫的功能,然而在主機上對所有這些庫進行獨立編程仍然不方便,并且此應(yīng)用層主機代碼一點也不像傳統(tǒng)的VSA或者VSG API。為了解決此問題,Simple VSA/VSG項目樣例包含了一個附加主機層,將這些儀器設(shè)計庫集合在一個接口內(nèi),提供了與供應(yīng)商定義的VSA/VSG API相類似的功能。LabVIEW類為此提供了一個方便的機制,即提供一個嚴(yán)格類型的會話,公有和私有方法,以及一個方便的子VI圖標(biāo)頭文件保持機制。 請注意,LabVIEW類中面向?qū)ο蟮睦^承,并沒有用于此主機接口。
圖 10.LabVIEW類提供了一個方便的功能集合和主機接口保持機制。
這個簡單的 VSA/VSG樣例項目還提供了常見的RF VSA和VSG操作所用的若干個主機樣例,這些樣例說明了如何正確使用主機接口。這些樣例涵蓋頻域和I/Q采集;CW和基于序列的波形發(fā)生;以及多輸入多輸出(MIMO)同步。
圖 11.一些主機樣例說明了Simple VSA/VSG項目樣例使用基于類的主機接口的方法
簡單 VSA/VSG項目樣例包含極多功能,并提供了熟悉的主機接口。然而該實用工具的代價就是代碼的復(fù)雜度。具體地說,F(xiàn)PGA上的DRAM采用基于波形的抽 取,顯著增加代碼量、復(fù)雜度,以及VST FPGA資源占用。然而,并不是所有應(yīng)用均需要基于波形或者儀器數(shù)據(jù)移動范式。一些應(yīng)用更加適合實時流數(shù)據(jù)移動架構(gòu)。對于這些應(yīng)用,VST Streaming項目范例是一個更好的起點,自定義的自由度更廣。
圖 12.VST Streaming項目樣例在主機和FPGA上集合了儀器設(shè)計庫,提供了一個靈活地開發(fā)實時、低滯后信號處理和嵌入式應(yīng)用的起
評論