微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 测试测量 > NI矢量信号收发器的FPGA编程

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

时间:07-09 来源:mwrf 点击:

1. 介绍

NI VST FPGA软件包含多层代码,提供了从底层控制到高层抽取的一切,拥有RF信号分析仪和RF信号发生器的功能。底层组件实现了具体硬件的标准功能,包括信号校准、前端控制,以及基于记录的采集和生成,被称为仪器设计库。这些库提供了互相匹配的主机和FPGA代码对,并且可以聚集以构建完整的硬件设计。LabVIEW项目样例包含了基于仪器设计库的相关主机和FPGA代码,提供了开发各种应用所需要的模板。另外,NI-RFSA和NI-RFSG仪器驱动还支持VST仪器驱动FPGA扩展,使VST FPGA源代码完美适合具体应用。

2. 仪器设计库

NI提供矢量信号收发器所用的多种仪器设计库。如上文所述,这些仪器设计库存在于用户和生产厂商的关于主机端和FPGA的代码中,,实现了仪器的常见功能。表2列出了一些顶层仪器设计库及其功能。

1. NI VST所用顶层仪器设计库。

ni.com/vst/getting-started/zhs/所列软件安装了这些仪器设计库,在硬盘的c:\Program Files\National Instruments\LabVIEW [version]\instr.lb\位置。这些库具有颜色和谐的粗边框,与其他VI明显有别。

1仪器设计库具有颜色和谐的粗边框,此独特图标使其与其他VI相区别

另外,这些库在默认情况下处于锁定状态,用户在修改内容之前,需要先通过会话框将VI解锁。下文所述是使用这些仪器设计库的详细信息,适用于任何更改。

在给定仪器设计库的主机与FPGA之间交换数据可采用多种机制。所有采用LabVIEW RIO架构和LabVIEW FPGA的NI产品均使用NI-RIO驱动,此驱动提供了单点方式的、存储器映射、基于寄存器的主机至FPGA以及FPGA至主机通信,还有从主机至FPGA以及FPGA至主机的多点连续DMA FIFO。这些都是功能强大的数据交换机制,实现主机与FPGA之间的有效通信不需要了解或者只要些许了解底层总线架构。

仪器设计库的一个常见要求是:主机代码需要将大量的设置下载到设备中,例如要对与FPGA相连接的芯片寄存器进行编程,或者更新设置组,例如FPGA上的滤波器抽头。由于一些仪器设计库要求采用此策略,并且设备的DMA通道数目有限,所以这些库可能需要共享一个FIFO,从而需要在主机端和FPGA端增加额外的逻辑来实现。另外,对于大数据集来说,此类通信一般为单向,但是可能也需要提供从FPGA至主机的某种单点确认,例如确认所有设置均已成功应用等等。所有这些概念组成为一个单独概念,称为寄存器总线,并为一些仪器设计库所采用。

寄存器总线使用一个主机到FPGA端的DMA FIFO来下载设置,以及一些寄存器/NI-RIO控制器和指示器,用于握手,将单点数据返回主机,或者发出信号,确认已下载设置中的指令已经应用。

2. 寄存器总线是基于NI-RIO DMA、控制器和指示器构建的轻质协议,实现了大量设置组至FPGA的高效下载,这是给定仪器设计库的主机与FPGA侧之间的常见要求。

为了完成仲裁,每个仪器设计库均有一个独一无二的子系统ID,从而使得多个库能够共享一条寄存器总线。为了更好地总结VST仪器设计库的通信策略,表2说明了每个库所采用的策略。

 控制器和指示器DMA FIFOs寄存器总线
DSPX
RF InX
RF OutX
BasecardX
多记录采集XX
波形序列器XX
触发同步X
嵌入式配置X

2.  NI PXIe-5644R仪器设计库的主机与FPGA数据交换机制。

另外,通过与嵌入式配置仪器设计库配合使用,寄存器总线还可以在不牵涉主机的情况下完成FPGA触发的重新配置。

由于仪器设计库代表了卖主与用户代码之间的已定义接口,所以位于主机和FPGA两者的调色板上。在LabVIEW VI方块图的主机情境下,仪器设计库的主机侧接口见于Functions>>FPGA Interface>>NI PXIe-5644R 或者 Functions>>FPGA Interface>>NI PXIe-5645R。在FPGA侧,则位于Functions>>NI PXIe-5644R 或者 Functions>>NI PXIe-5645R下。

VST仪器设计库的主机调色板

VST仪器设计库的FPGA调色板

3. NI VST仪器设计库的主机和FPGA调色板。FPGA调色板包含了实现常用底层功能的其他仪器设计库

3. LabVIEW项目样例

NI VST仪器设计库的能力强大,但是并不能单枪匹马地完全满足软件设计仪器实现默认功能的要求,也不能提供大多数VSA和VSG仪器编程人员所熟悉的简单主机接口。

LabVIEW 2012提供了一个新功能,这种方便的机制不仅能够分配附加代码,从而提供默认、预编译的功能和一个方便的主机接口,而且还使用户能够轻松地掌握这些代码。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top