首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

NI矢量信号收发器的FPGA编程(2)

NI矢量信号收发器的FPGA编程(2)

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 VI集合了13个仪器设计库的功能,然而在主机上对所有这些库进行独立编程仍然不方便,并且此应用层主机代码一点也不像传统的VSA或者VSG API。为了解决此问题,Simple VSA/VSG项目样例包含了一个附加主机层,将这些仪器设计库集合在一个接口内,提供了与供应商定义的VSA/VSG API相类似的功能。LabVIEW类为此提供了一个方便的机制,即提供一个严格类型的会话,公有和私有方法,以及一个方便的子VI图标头文件保持机制。请注意,LabVIEW类中面向对象的继承,并没有用于此主机接口。


图 10.LabVIEW类提供了一个方便的功能集合和主机接口保持机制。

继承事业,薪火相传
返回列表