SL6Pro 9KHz~6.4GHz 双通道便携射频信号源全解(对比 HT008B+SCPI 程控 Python 实战)便携式信号源9KHz-6.4GHz双通道单频扫频输出低相噪1hz分辨率

一、前言

在射频调试、无线通信、滤波器 / 天线测试、EMC 预兼容实验中,低频 9KHz 起步、6.4GHz 全覆盖、1Hz 超高分辨率一直是入门便携信号源的痛点。此前主流 HT008B 最低仅支持 50MHz,无法覆盖短波、射频低频电路测试;而SL6Pro 作为升级款便携射频信号源,补齐低频短板,实现 9KHz~6400MHz 连续正弦输出,双通道独立射频输出、1Hz 频率步进、超低相位噪声,同时保留 Type-C USB 串口 SCPI 程控、锂电池随身供电,兼顾实验室桌面调试与外场便携测试。

本文完整拆解 SL6Pro 硬件规格、本地按键操作、串口通信协议、全套 SCPI 指令,并与 HT008B 做横向对比,提供可直接运行的 Python 自动化控制代码,解决低频测试、扫频参数配置、上位机通信报错等常见问题。

二、SL6Pro 核心硬件规格与核心优势

2.1 整机硬件架构

  • 屏幕:高清彩色 OLED,中文 / 英文 / 俄文三语言切换
  • 通信接口:Type-C 内置 USB 转串口,免额外驱动识别虚拟 COM 口
  • 供电:Type-C 5V USB 供电 / 内置锂电池,脱离市电户外使用
  • 尺寸:130×70×20mm,轻量化铝合金机身,便携易收纳
  • 射频接口:双通道 SMA 射频输出(CH1/CH2 独立可控)

2.2 关键射频指标(核心升级点)

  1. 频率覆盖:9KHz ~ 6400MHz,无缝覆盖短波、FM、蓝牙、WiFi6E、5G Sub6G 全频段
  2. 频率分辨率1Hz 极致步进,全频段统一 1Hz 精度,远优于 HT008B 700MHz 以下 1KHz 分辨率
  3. 相位噪声:超低相噪典型值 -236dBc/Hz,信号纯度高,适合接收机本振、射频灵敏度测试
  4. 双通道独立输出
    • 双路独立频率、功率可控,支持同步 / 异步输出,可做混频、双源对比测试
    • 全频段功率线性可调,低频 9KHz~50KHz 无大幅幅值误差,无 HT008B 两端频段 1~3dB 偏差问题
  5. 工作模式:点频(单频固定输出)、单次扫频、循环连续扫频三种模式
  6. 拓展能力:标准 SCPI 协议,支持上位机、Python、LabVIEW 二次开发,集成自动化 ATE 产线

2.3 SL6Pro VS HT008B 核心差异对比

对比项SL6ProHT008B
频率下限9KHz(覆盖低频射频 / 短波)50MHz(缺失低频段)
频率分辨率全频段统一 1Hz700MHz 以下 1KHz,高频段精度下降
通道双通道独立同步控制双通道仅通道一完整功率可调
幅值误差全频段平坦,无端点大幅偏差50~75MHz/6~6.4GHz 存在 1~3dB 误差
交互多语言彩色 OLED,独立功能快捷键单色 OLED,复合按键操作
接口Type-C 通用接口Micro USB CH340
适用场景低频电路、射频、5G、EMC 全场景中高频微波调试,无低频能力

三、本地面板按键操作(离线无电脑使用)

机身面板 4 个独立功能快捷键,操作极简,无多层菜单:

  1. POINT(点频)短按进入点频界面,上下键修改输出频率、功率;左右切换 CH1/CH2 通道,OK 确认输出开关。
  2. SINGLE SWEEP(单次扫频)设置起始频率、终止频率、扫频步长、单步停留时间,启动后扫描一轮自动停止。
  3. CYCLIC SWEEP(循环扫频)参数配置同单次扫频,持续往复循环扫描,适合带宽连续测试。
  4. DEVICE(设备设置)切换系统语言、查看设备型号 / 固件版本、校准输出功率、恢复出厂参数。

扫频强制使用规则(避坑)

  1. 起始频率必须<终止频率,参数颠倒设备不执行扫描;
  2. 必须配置步长、单步间隔时间两项参数,缺失则扫频无输出;
  3. 设置完成后手动打开射频输出开关,信号才会对外输出;
  4. 双通道可分别配置独立扫频参数,实现双频段同步扫描。

四、Type-C USB 串口通信基础

4.1 串口基础参数

  • 波特率:115200
  • 数据位:8,停止位:1,校验位:None(8N1)
  • 传输格式:ASCII 字符串,每条指令、设备应答强制结尾\r\n
  • 驱动:内置 USB 转串口芯片,Windows 自动识别,Linux/Mac 免驱

4.2 SCPI 通信激活规则

  1. 上位机首次连接,第一条下发指令必须为*IDN?\r\n,设备返回型号与固件版本,正式进入 SCPI 程控模式;
  2. 设备重启 / 重新插拔 Type-C 后,需重新发送识别指令;
  3. 查询指令以?结尾,设备实时返回当前参数状态,方便程序校验配置。

五、SL6Pro 全套 SCPI 程控指令说明

遵循标准 SCPI V1999 协议,语法规则与 HT008B 兼容,新增双通道控制指令:

5.1 初始化识别指令(必发首条)

scpi

*IDN?\r\n # 返回示例:SL6Pro,RF-Source,V1.0.6

5.2 射频输出总开关(双通道总使能)

scpi

# 开启/关闭全部通道输出 GEN:STAT {ON|OFF}\r\n # 查询输出状态 GEN:STAT?\r\n # 返回 ON / OFF

5.3 双通道独立幅度设置(核心升级)

scpi

# CH1通道功率设置,单位dBm GEN:AMPL CH1,val\r\n # CH2通道功率设置 GEN:AMPL CH2,val\r\n # 查询指定通道幅值 GEN:AMPL? CH1\r\n GEN:AMPL? CH2\r\n

5.4 点频单频输出(分通道)

scpi

# 设置CH1点频,单位MHz,支持小数点后6位(1Hz精度) GEN:POIN CH1,freq\r\n GEN:POIN CH2,freq\r\n # 查询通道点频 GEN:POIN? CH1\r\n

5.5 扫频基础参数全局配置

scpi

# 扫频总跨度MHz FREQ:SPAN freq\r\n FREQ:SPAN?\r\n # 扫频起始频率 FREQ:STAR freq\r\n FREQ:STAR?\r\n # 扫频截止频率 FREQ:STOP freq\r\n FREQ:STOP?\r\n # 单步停留时间ms FREQ:TIME time\r\n FREQ:TIME?\r\n

5.6 一键扫频指令(单次 / 循环)

scpi

# 单次扫频:起始,终止,步长,单步时间 GEN:SING start,stop,step,t_ms\r\n GEN:SING?\r\n # 循环连续扫频 GEN:CYCL start,stop,step,t_ms\r\n GEN:CYCL?\r\n

六、Python 完整控制代码(pyserial 适配 SL6Pro 双通道)

6.1 环境安装

bash

pip install pyserial

6.2 SL6Pro 专用控制类(支持双通道独立控制)

python

运行

import serial import time class SL6Pro_RF_Source: def __init__(self, com_port, baud=115200, timeout=0.5): # 初始化串口 self.ser = serial.Serial( port=com_port, baudrate=baud, bytesize=8, stopbits=1, parity=serial.PARITY_NONE, timeout=timeout ) # 必须发送识别指令激活SCPI self.send("*IDN?") print("设备识别信息:", self.read()) def send(self, cmd): """发送指令自动补全\r\n换行符""" full_cmd = cmd.strip() + "\r\n" self.ser.write(full_cmd.encode("ascii")) time.sleep(0.03) def read(self): """读取设备返回应答""" resp = self.ser.readline().decode("ascii").strip() return resp # 全局输出开关 def set_output_switch(self, enable: bool): state = "ON" if enable else "OFF" self.send(f"GEN:STAT {state}") # 双通道独立功率设置 def set_channel_ampl(self, ch: str, power: float): self.send(f"GEN:AMPL {ch},{power}") def get_channel_ampl(self, ch: str): self.send(f"GEN:AMPL? {ch}") return self.read() # 双通道独立点频设置 def set_point_freq(self, ch: str, freq_mhz: float): self.send(f"GEN:POIN {ch},{freq_mhz}") def get_point_freq(self, ch: str): self.send(f"GEN:POIN? {ch}") return self.read() # 单次扫频 def single_sweep(self, start, stop, step, t_ms): self.send(f"GEN:SING {start},{stop},{step},{t_ms}") # 循环扫频 def cycle_sweep(self, start, stop, step, t_ms): self.send(f"GEN:CYCL {start},{stop},{step},{t_ms}") def close(self): # 关闭射频输出,释放串口 self.set_output_switch(False) self.ser.close() if __name__ == "__main__": # 修改为你的COM端口,Windows COM4 / Linux /dev/ttyUSB0 rf_dev = SL6Pro_RF_Source("COM4") # 案例1:双通道独立点频输出 # CH1输出100MHz,CH2输出2450MHz(WiFi频段) rf_dev.set_point_freq("CH1", 100.000001) # 1Hz精度示例 rf_dev.set_point_freq("CH2", 2450.0) rf_dev.set_channel_ampl("CH1", -18) rf_dev.set_channel_ampl("CH2", -15) rf_dev.set_output_switch(True) print("CH1当前频率:", rf_dev.get_point_freq("CH1")) print("CH2功率:", rf_dev.get_channel_ampl("CH2")) time.sleep(5) # 案例2:9KHz~1000MHz循环扫频,步长1MHz,每步停留100ms rf_dev.cycle_sweep(0.009, 1000, 1, 100) time.sleep(15) # 关闭设备 rf_dev.close()

七、常见故障排查指南

问题 1:发送指令无任何返回

  1. Type-C 线材故障,更换数据传输线(充电线无串口通信);
  2. 串口参数错误,必须 115200 8N1;
  3. 开机后未发送*IDN?\r\n,设备未进入 SCPI 模式;
  4. 重启设备重新插拔 USB,清空异常连接状态。

问题 2:低频 9KHz~50MHz 无信号 / 功率异常

SL6Pro 原生支持低频输出,若无信号:

  1. 确认通道输出开关打开;
  2. 检查 SMA 同轴线缆、负载是否短路;
  3. 功率不要设置过低,低频建议 - 30dBm 以上观测。

问题 3:扫频不启动

  1. 起始频率≥终止频率,参数颠倒;
  2. 未填写步长、单步时间;
  3. 全局射频输出 GEN:STAT OFF,未打开信号输出。

问题 4:频率精度达不到 1Hz

下发频率参数时保留 6 位小数,例如 9.000001MHz 代表 9000001Hz,程序传递浮点需保证精度。

八、典型应用场景

  1. 低频射频 / 短波电路调试:9KHz 起步,满足收音机、LC 滤波器、低频振荡源测试(HT008B 无法覆盖);
  2. 无线设备研发:蓝牙 2.4G、WiFi6E、5G Sub6G、射频接收机灵敏度测试;
  3. 双通道对比测试:双路独立信号输出,用于混频器、双天线同步测试;
  4. EMC 预兼容测试:全频段连续扫频,快速定位辐射干扰频段;
  5. 自动化产线 ATE:Python 脚本批量多频段自动测试,数据自动记录;
  6. 户外便携测试:内置锂电池,无市电场景现场调试天线、射频模块。

九、总结

SL6Pro 是 HT008B 的全面升级款,核心解决低频缺失、频率精度不足、单通道限制三大痛点:9KHz~6.4GHz 全频段覆盖、全频段 1Hz 分辨率、双通道独立程控输出,同时保留便携锂电、标准 SCPI 协议、低成本优势。 对于需要覆盖低频射频、追求高精度、双通道同步测试的工程师、实验室、教学机构,SL6Pro 是性价比极高的入门微波信号源;若仅做 50MHz 以上中高频简单调试,可选择 HT008B 降低成本。