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.读取循环提供了在已采集数据返回主机之前对其进行处理的机会。在默认情况下,读取回路返回原始数据