Signal Hound通过其Spike软件使用SCPI兼容性命令为其频谱分析仪提供远程接口和控制功能。我们的Spike软件使用通用的图形用户界面(GUI)提供对所有Signal Hound频谱分析仪的控制,以提供高级的信号分析测量和显示。通过TCP/IP协议将SCPI命令发送到Spike,可以对其进行远程操作。您可以通过任何VISA实现或允许SOCKET编程的任何编程语言连接和交互Spike软件。
设置VISA套接字连接图1 使用C ++和VISA的自动相位噪声测量
如果可以,建议使用VISA库。VISA的几种实现方式,常用的选项包括Keysight的I/O库和NI的VISA库。您还可以使用其他语言/环境(例如MATLAB,LabVIEW和Python)中存在的VISA实现。
使用VISA连接到套接字接口如下所示:
viOpen(rm, “TCPIP::localhost::5025:SOCKET”, VI_NULL, VI_ NULL, &inst);
此外,在使用VISA库时,必须将VI_ ATTR_TERMCHAR_EN属性设置为真实。当接收到终止符时,将终止读取操作。如果默认情况下未设置终止符,则应将其设置为换行符(\ n)。代码如下:
viSetAttribute(inst, VI_ATTR_TERMCHAR_EN, VI_TRUE);
viSetAttribute(inst, VI_ATTR_TERMCHAR, ‘\n’);
一次只能与Spike软件建立一个连接。可以通过关闭套接字连接来终止连接,也可以通过使用的套接字库,通过viClose函数(如果使用的是VISA库)或通过关闭应用程序来终止。当前一个套接字结束时,Spike将立即开始等待另一个套接字连接。
支持的SCPI命令图2 可将远程命令发送到设备,例如* IDN?标识当前连接的频谱分析仪的命令
下表详细说明了当前SCPI命令集涵盖的功能。后续会继添加其他功能。如果没有您所需要的功能,请通过aj@signalhound.com与我们联系以提出要求。
表1 当前Signal Hound SCPI命令(2018年秋)
Functionality 功能 |
是否支持 |
Swept Analysis – Sweep Settings 扫描分析–扫描设置 |
是 |
Swept Analysis – Trace controls 扫描分析–跟踪控件 |
是 |
Swept Analysis – Marker controls 扫频分析–标记控件 |
是 |
Swept Analysis – Channel power, occupied bandwidth 扫频分析–信道功率,占用带宽 |
是 |
Swept Analysis – Peak table 扫描分析–峰值表 |
否 |
Swept Analysis – Sweep recording/playback 扫频分析–扫频记录/播放 |
否 |
Path Loss Tables 路径损耗表 |
否 |
Limit Lines 极限线 |
是 |
Spectrogram/Waterfall plot controls 频谱图/瀑布图控件 |
否 |
Persistence display controls 持久性显示控件 |
否 |
Real-Time (Since real-time shares several controls with swept analysis, any functionality provided for swept analysis will be available for real-time measurement mode) 实时(由于实时与扫频分析共享多个控件,因此为扫频分析提供的任何功能将可用于实时测量模式) |
部分支持 |
Zero-Span 零跨度 |
否 |
Harmonic Measurements 谐波测量 |
是 |
Scalar Network Analysis 标量网络分析 |
是 |
Phase Noise Measurements 相位噪声测量 |
是 |
Digital Modulation Analysis 数字调制分析 |
是 |
EMC Pre compliance EMC预合规 |
否 |
Analog Demodulation 模拟解调 |
是 |
Interference Hunting 干扰搜寻 |
否 |
由于SCPI命令使用TCP/IP套接字连接,因此您可以从任何PC /操作系统控制Spike软件。例如,Windows PC运行Spike,但是Windows PC上Spike的远程控制可以在Linux或Apple系统上进行。使用Signal Hound提供的特定设备的API进行的传统编程仍可用于快速直接的设备控制。特定设备的API使用C接口,并且可以从大多数现代编程语言和环境(例如C / C ++,C#,Python,Java,LabVIEW和MATLAB)中调用这些函数。
图3 可以使用三种方法对Signal Hound频谱分析仪进行编程:前两种方法是通过Spike软件在本地或通过Internet远程使用SCPI命令。第三种方法是通过使用特定于设备的本地API进行快速,直接的API编程。
Spike的SCPI功能可作为Spike软件下载的一部分立即免费获得。Spike SCPI编程手册和示例作为Signal Hound SDK的一部分提供。该手册介绍了SCPI命令的基础知识,如何开始对Spike软件进行编程,并介绍了Spike软件实现的完整SCPI命令集。随着Spike软件的发展,SCPI命令将会随着改变。建议在通过SCPI控制的安装中更新Spike时,请查看版本说明并确定是否需要更新任何功能。