外部IQ输出端口的同步扫描

ThinkRF实时频谱分析仪与外部GPIOs,I、Q输出端口等集成在一起。外部GPIOs由外部触发功能组成,通过使用外部硬件和/或多个ThinkRF RTSA设备,可以实现同步扫描设置,以自动进行频谱扫描和捕获。同时,I、Q输出端口有助于与外部高速数字化仪集成。本应用指南说明了如何通过将信号馈送到外部I、Q输出端口来设置同步扫描,并提供GPIOs设置的要求。

总览

  ThinkRF实时频谱分析仪(RTSA) 是高性能软件定义的RF接收器,数字化仪和分析仪。该产品带有I、Q输出端口(IQout),因此可用于将RTSA的RF前端与外部高速数字化仪匹配。IQout端口可与RTSA的同步扫描引擎和GPIO(通用输入和输出)端口一起使用,以实现自动执行频谱扫描过程,从而最大程度地减少了RF前端控制的交互。因此,与GPIO端口结合使用的同步扫描有助于控制多个设备和同步扫描捕获,这对于诸如广域信号检测和分析,测向,确定到达时间(TDOA)等应用非常有用。
  请注意:RTSA可用作外部触发设置的主机或从机。但是,ThinkRF不提供外部硬件,如具有所需电缆长度,可满足触发脉冲所需的功率的GPIO匹配端口。如果需要,请咨询虹科技术工程师以获取建议
  本应用指南提供了使用IQout端口设置同步扫描所需的软件和硬件详细信息。假定用户知道如何编程RTSA,有RTSA,以及为该应用程序和设备提供触发脉冲以分析IQout数据的必要外部触发硬件。
  如有需要,请参阅《ThinkRF的程序员指南》和《用户指南》,两者均可从虹科技术工程师处获得。

使用IQout设置同步扫描

  以下步骤提供了使用IQout设置同步扫描的步骤顺序。本文档使用外部触发器PULSE以简化说明。 “ GPIO端口设置”部分描述了所有有关的GPIO信号。请参阅这些步骤之后的时序图,以了解过程的流程以及握手过程。
  使用SCPI命令将RTSA设置为IQout模式:

:OUTPUT:IQ:MODE CONNECTOR

  需要设置扫描设置,包括通过SCPI命令的脉冲触发

:SWEep:ENTRy:TRIGger:TYPE PULSE

  通过SCPI命令启动Sweep Start以开始第一个扫描步骤

:SWEep:LIST:STARt

  等待GPIO端口的系统RDY(输出)信号变高,以表明包括前端设置在内的系统已准备就绪/已完成
  用户执行数据捕获。请注意SP_INV(输出)信号,表明有频谱反转要求(有关频谱反转的说明和建议采取的措施,请参阅《程序员指南》的“尾字Trailer Word Format”部分)
  触发脉冲为高电平表明RTSA可设置下一个扫描步骤
  重复步骤4-6,直到执行了所有扫描条目。
  有关扫描设置的设置示例,请参见“代码示例”部分。
IQout同步扫描

IQout同步扫描

  注意
  -由于设备使用边沿触发,因此TRIG脉冲选通可能是 任意长度 的。
  -设置后,一旦RDY信号变为高电平,直到下一个上升的TRIG(输入)选通脉冲到来之前,请确保有 足够的时间进行捕获数据 。可以通过这样进行简单计算:捕获时间=样本大小(1 /采样率)。可根据数据捕获和/或数据处理应用程序的需要,相应地调整此捕获时间。*

GPIO端口设置

GPIO引脚

  Micro-DB25从RTSA端板的视图:
GPIO引脚
  配合连接器的一个示例是NorComp’s Micro-D CCA-025-YYYR152或Molex’s Micro-D 83424-9019。
  同步扫描设置所需的GPIO引脚和电压列表:
GPIO引脚和电压列表

直流特性

  GPIO引脚的直流特性为:
GPIO引脚的直流特性

电路图

  以下电路图说明了GPIO输入和输出引脚的简化原理图。
GPIO输入和输出引脚的简化原理图

图中:V_out=3.3V,R=10kΩ

  以下电路图举例说明了两种不同的方法来设置需要的电路以与GPIO端口的OUTPUT引脚接口。接口电路的接地(GND)应该与GPIO GND共用。
GPIO GND

  注意:此接口中的电缆长度应 远小于10 m

代码示例

  以下程序是使用pyRF的简单SCPI设置示例,pyRF是为与RTSA设备接口而开发的开源Python API(有关更多信息,请联系虹科技术工程师)。

# Import libraries                                          #导入库
import sys
from pyrf.devices.thinkrf import WSA

# Define handle & connect to RTSA                           #定义句柄并连接到RTSA
dut = WSA()
dut.connect(sys.argv[1])

# Reset RTSA configuration and clean the internal buffer    #重置RTSA配置并清理内部缓冲区
dut.reset() 
dut.flush()

# Set IQ path to use external connector port instead of internal digitizer
#设置IQ路径以使用外部连接器端口而不是内部数字转换器
dut.scpiset('OUTPUT:IQ:MODE CONNECTOR')

# Set the RTSA's sync state to slave, default is OFF        #将RTSA的同步状态设置为从属,默认为OFF
dut.scpiset('SYSTEM:SYNC:MASTER OFF')

#####
# Create a sweep entry                                      #创建扫描条目
# Repeat this section to create multiple sweep entries      #重复此部分以创建多个扫描条目
# See Programmer’s Guide for more sweep settings            #有关更多扫描设置,请参见《程序员指南》
#####

# Set RFE mode, see Programmer’s Guide for mode and data output types
#设置RFE模式,有关模式和数据输出类型,请参阅《程序员指南》
dut.scpiset('SWEEP:ENTRy:MODE ZIF')

# Set frequency range and step size                         #设定频率范围和步长
dut.scpiset('SWEEP:ENTRY:FREQ:CENT 1200 MHZ, 3200 MHZ')
dut.scpiset('SWEEP:ENTRY:FREQ:STEP 10 MHZ')

# Set the RTSA's trigger type in the sweep entry to use pulse type
#在扫描条目中设置RTSA的触发类型以使用脉冲类型
dut.scpiset('SWEEP:ENTRY:TRIGGER:TYPE PULSE')

# Set number of iteration to 1 time, default is 0 for infinity   
#将迭代次数设置为1次,默认为0(无穷大)
dut.scpiset('SWEEP:LIST:ITERATION 1')

# Save the sweep entry                                      #保存扫描条目
dut.scpiset('SWEEP:ENTRY:SAVE 0')

#####
# Control sweep and do any additional tasks                 #控制扫描并执行其他任何任务
#####

# Start sweep mode                                          #开始扫描模式
dut.scpiset('SWEEP:LIST:START')

# Add code here to perform additional tasks                 #在此处添加代码以执行其他任务
....
# Stop sweep mode if want to break early or when infinite iteration is set
#如果要及早中断或设置了无限迭代,请停止扫描模式
# dut.scpiset('SWEEP:LIST:STOP')

你可能感兴趣的:(无线通信,频谱分析,测试测量,射频,射频工程,网络,网络传输,数字通信)