基于射频开关选择的VNA校准设计

news2025/5/24 5:51:06

活动发起人@小虚竹 想对你说:

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!

提醒:在发布作品前,请将不需要的内容删除。

 一、实验目的

1、设计并实现一个基于射频开关选择的电子校准件,通过ESP32控制射频开关切换不同的校准状态实现校准,以提高矢量网络分析仪的使用寿命。

2、对校准件进行设计并测试。

、实验仪器

1、射频开关

2、矢量网络分析仪

3、电子校准件

、实验原理

1.电子校准件系统框图:

本次电子校准件设计使用的微处理控制器是ESP32,其是由乐鑫(Espressif Systems)公司推出的一款低成本、低功耗的WiFi和蓝牙双模系统芯片,适用于各种物联网(IoT)应用和嵌入式系统。ESP32的WiFi具有两种模式,一种是Station模式:ESP32可以作为WiFi客户端连接到现有的无线网络中,实现设备和互联网的连接。另一种是SoftAP模式:ESP32可以作为软AP(接入点)创建自己的WiFi网络,其他设备可以连接到它,实现设备之间的局域网通信。在此电子校准件中为了让VNA和ESP32处于同一个局域网中,我们让ESP32的WiFi开启Station模式。当用户按下按键时,ESP32会向VNA发送校准申请指令,当VNA响应时,校准正式开始,此过程根据VNA响应信息(端口连接不同的校准件类型),ESP32会控制校准件切换电路满足响应的需求。当校准完毕后,提示灯会亮起。系统框图如下图所示:

图 3-1 电子校准件系统框图

2.VAN系统

下图是VNA的原理框图,主要包括以下部分:

(1)激励信号源:提供感兴趣的频率范围内的入射信号;

(2)信号分离装置:含功分器和定向耦合器,分离出入射,反射和传输信号;

(3)接收机:对被测件的入射,反射和传输信号进行测试;

(4)处理显示单元:对测试结果进行处理和显示。

正确的校准是使用 VNA 的一个难点。VNA测量出来的S参数是否有错误并不能通过VNA直接能检查出来,只有导入仿真软件仿真出结果发现有问题时可能会怀疑是S参数测量有问题,再返回来检查VNA校准VNA测量时的操作有没有错误。

图 3-2 VAN系统框图

3.硬件设计:

(1)HMC7992 非反射式硅单刀四掷 (SP4T) 开关非常适合用于蜂窝基础设施应用。 HMC7992 开关具有 45dB 的高隔离和 2GHz 时的 0.6dB 低插入损耗。 HMC7992 具有高达 6GHz 的出色功率处理能力,5V 时 35dBm 的输入功率为 1dB 压缩点 (P1dB)。这些开关显示出低于 0.1GHz 的良好低频输入功率处理能力。 HMC7992 开关在 21dBm 典型 1dB 压缩时运行可低至 10kHz,在 1MHz 时 37dBm 为 IIP3。 HMC7992 的片上电路使该开关能够使用 3.3-5V 正极控制单电源以及 0-1.8/3.3/5V 正极控制单电压运行。HMC7992 的集成式 2:4 解码器只需要两个受控输入信号,正极控制电压范围为 0-1.8/3.3/5V。2:4 解码器可以让设计人员从四个射频 (RF) 路径中选择一个。HMC7992功能图如下图所示:

图 3-3 HMC7992功能图

  1. HMC8038是一款高隔离度、非反射式、0.1 GHz至6.0 GH、单刀双掷(SPDT)开关芯片,采用无引脚、表贴封装。 该开关非常适合蜂窝基础设施应用,可实现高达4.0 GHz的62 dB隔离、高达4.0 GHz的0.8 dB低插入损耗和60 dBm输入三阶交调截点。 拥有高达6.0 GHz的出色功率处理能力,并提供针对35 dBm的0.1 dB压缩点(P0.1dB)的输入功率(VDD = 5 V)。片上电路可操作单一正电源电压从 3.3 V 到 5 V,并且可以在非常低的直流电流下操作单一正电压控制从 0 V 到 1.8 V/3.3 V/5.0 V。当使能输入 (EN) 设置为高电平时,开关处于全关状态,此时 RFC 为反射状态。HMC8038 在所有器件引脚(包括 RF 接口)上具有 ESD 保护,可承受 4 kV HMB 和 1.25 kV CDM。HMC8038 提供非常快速的开关和 RF 稳定时间,分别为 150 ns 和 170 ns。该器件采用符合 RoHS 标准的紧凑型 4 mm × 4 mm LFCSP 封装。HMC8038应用电路如下图所示: 

图 3-4 HMC8038应用电路图

电子校准件的校准框图如下图所示:

图 3-5 电子校准件校准框图

  1. 一端口先经过一个单刀四掷开关(SP4T1)可直接选择开路和短路,负载匹配选择为单刀双掷开关(SPDT1)的RF2端口,二端口经过一个单刀四掷开关(SP4T2)可直接选择开路和短路,二端口的负载匹配选择为单刀双掷开关(SPDT2)的RF1端口。由图可以看出单刀双掷开关(SPDT1)一直选择为RF1联通,单刀双掷开关(SPDT2)一直选择为RF2联通,这样就构成了校准件的端口1和端口2处于直通状态。“开路”元件是末端开路的微带线,“短路”元件由微带线末端焊 100pF 电容形成。

4.软件设计:

电子校准件软件端使用FreeRTOS微型操作系统,FreeRTOS允许开发者创建多个任务,每个任务可以独立运行,使用ESP32的多核处理器能力,或者利用单核心的多任务调度机制。FreeRTOS的调度器负责决定哪个任务在何时运行,基于任务的优先级和调度策略进行动态调度,确保高优先级任务能够及时执行。通过FreeRTOS的信号量、队列和互斥锁等机制,实现对共享资源的安全访问和同步,避免竞态条件和数据损坏。通过FreeRTOS的睡眠和唤醒机制,可以有效管理ESP32的功耗,延长电池寿命,在需要时降低功耗。此电子校准件软件部分,创建了3个任务。每个任务的优先级一致。每个任务会根据时间片进行轮转。当任务检测满足条件时会触发后续的操作。

  • 实验步骤

  1. 开发板设计:

将射频开关(HMC7992LP3DE)与ESP32开发板连接,通过两个一切四的射频开关对两个端口不同校准状态的切换,将矢量网络分析仪的两个端口分别接入射频开关的输入端,末端开路的微带线形成“开路”元件,由微带线末端焊0.1uF电容形成“短路”元件,另外一个开关的断开路为“负载”(射频开关断开时内部为负载接地),确保矢量网络分析仪与电子校准件正确连接,并进行初步的硬件检查。在计算机上安装Arduino IDE,编写代码,控制电子校准件射频开关的切换,通过串口监视器或其他方式,检查ESP32控制射频开关的情况。调整代码和硬件连接,确保系统正常工作。使用VNA进行校准,记录不同校准状态下的测量数据最后分析测量数据,验证校准件的有效性。

1.1 硬件准备:

(1)将射频开关与Arduino开发板连接,具体引脚根据所选射频开关型号确定;

(2)将不同的校准件连接到射频开关的不同端口;

(3)确保VNA与射频开关正确连接,并进行初步的硬件检查。

1.2 软件编写:

(1)在计算机上安装Arduino IDE;

(2)编写Arduino代码,控制射频开关的切换;

(3)将编写的代码上传到Arduino开发板;

1.3 系统调试

(1)通过串口监视器或其他方式,检查Arduino控制射频开关的情况。

(2)调整代码和硬件连接,确保系统正常工作。

1.4 VNA校准

(1)使用VNA进行校准,记录不同校准状态下的测量数据;

(2)分析测量数据,验证校准件的有效性。

2.电路图与PCB的设计:

使用嘉立创,完成电路图和PCB的搭建与绘制,电路图与PCB绘制如下图所示:

图 4-1 电子校准件原理图

图 4-2电子校准件PCB图

四、实验结果分析

电子校准件依据SOLT校准算法,因此设计了开路、短路、负载、直通四种端口切换模式。使用电子校准件首先需要将VNA的1、2端口连接电子校准件的1、2端口。连接完毕后,在电子校准件上点击开始校准按键。此时校准开始,当校准完毕后,可以观察到矢量网络分析仪S21应为一条0dB的直线在整个频段中。

图 5-1 校准结果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2301801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决本地模拟IP的DHCP冲突问题

解决 DHCP 冲突导致的多 IP 绑定失效问题 前言 续接上一篇在本机上模拟IP地址。 在实际操作中,如果本机原有 IP(如 192.168.2.7)是通过 DHCP 自动获取的,直接添加新 IP(如 10.0.11.11)可能会导致 DHCP 服…

Elasticsearch7.1.1 配置密码和SSL证书

生成SSL证书 ./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass 我这里没有设置ssl证书密码,如果需要设置密码,需要再配置给elasticsearch 在之前的步骤中,如果我们对elastic-certificates.p12 文件配置了密码…

毕业项目推荐:基于yolov8/yolo11的100种中药材检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

自用题库---面试使用

1、css中如何实现水平垂直居中 方法一:flex: display: flex; justify-content: center; align-item: center;方法二:绝对定位margin:auto: position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin:auto;方法三:已…

蓝桥杯好数

样例输入: 24 输出:7 输入:2024 输出: 150 思路:本题朴素方法的时间复杂度是O(n * log10(n)) ,不超时。主要考察能否逐位取数,注意细节pi,这样不会改变i,否则会导致循环错误。 #in…

Jenkins 配置 Credentials 凭证

Jenkins 配置 Credentials 凭证 一、创建凭证 Dashboard -> Manage Jenkins -> Manage Credentials 在 Domain 列随便点击一个 (global) 二、添加 凭证 点击左侧 Add Credentials 四、填写凭证 Kind:凭证类型 Username with password: 配置 用…

用openresty和lua实现壁纸投票功能

背景 之前做了一个随机壁纸接口,但是不知道大家喜欢对壁纸的喜好,所以干脆在实现一个投票功能,让用户给自己喜欢的壁纸进行投票。 原理说明 1.当访问http://demo.com/vote/时,会从/home/jobs/webs/imgs及子目录下获取图片列表&…

mysql查看binlog日志

mysql 配置、查看binlog日志: 示例为MySQL8.0 1、 检查binlog开启状态 SHOW VARIABLES LIKE ‘log_bin’; 如果未开启,修改配置my.ini 开启日志 安装目录配置my.ini(mysql8在data目录) log-binmysql-bin(开启日志并指定日志前缀&#xff…

BiRefNet C++ TensorRT (二分类图像分割)

BiRefNet C TensorRT (二分类图像分割) 利用TensorRT和CUDA的双边参考网络(BiRefNet)的高性能c实现,针对实时高分辨率二分类图像分割进行了优化。 BiRefNet c TENSORRT旨在有效地在GPU上运行双边参考分割任务。通过利…

【ARM】MDK在编译 i.MXRT1芯片的时候出现报错Error: L6079E

1、 文档目标 解决MDK在编译 i.MXRT1芯片的时候出现报错Error: L6079E 2、 问题场景 客户在使用NXP 的NXP i.MXRT1050的芯片进行工程构建的时候出现下面的报错信息: Error: L6079E: Subtool invocation error: Error executing armcc. The system could not find…

论文笔记(七十二)Reward Centering(二)

Reward Centering(二) 文章概括摘要2 简单的奖励中心 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.0…

推荐几款较好的开源成熟框架

一. 若依: 1. 官方网站:https://doc.ruoyi.vip/ruoyi/ 2. 若依SpringBootVueElement 的后台管理系统:https://gitee.com/y_project/RuoYi-Vue 3. 若依SpringBootVueElement 的后台管理系统:https://gitee.com/y_project/RuoYi-Cl…

基于知识图谱的问答系统:后端Python+Flask,数据库Neo4j,前端Vue3(提供源码)

基于知识图谱的问答系统:后端PythonFlask,数据库Neo4j,前端Vue3 引言 随着人工智能技术的不断发展,知识图谱作为一种结构化的知识表示方式,逐渐成为问答系统的重要组成部分。本文将介绍如何构建一个基于知识图谱的问答…

【华为机试】HJ80 整型数组合并

解法一: HashSet>List列表 Collections.sort(list)对列表进行排序 import java.util.*; import java.util.HashSet;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner sc new Scanner(…

day17-后端Web原理——SpringBoot原理

目录 SpingBoot原理1. 配置优先级2. Bean管理2.1 获取Bean2.2 Bean作用域2.3 第三方Bean 3. SpringBoot原理3.1 起步依赖3.2 自动配置3.2.1 概述3.2.2 常见方案3.2.2.1 概述3.2.2.2 方案一3.2.2.3 方案二 3.2.3 原理分析3.2.3.1 源码跟踪3.2.3.2 Conditional 4. Web后端开发总结…

我们来学nginx -- work process

题记 工作进程能处理大量的并发请求几乎不会阻塞Worker进程可绑定到固定的核,避免CPU频繁地上下文切换看样子,还得转为人话 大白话 作为一般的应用的开发大部分人没有很强的底层技术基础如果深究,涉及复杂技术点,很容易迷惘为什…

【PLL】应用:同步

1. 用于时钟去偏移的PLL 时钟频率增加内部时钟与外部时钟的偏移,在芯片之间通信时很重要时钟偏移可能是由时钟树引起的,该时钟树缓冲外部时钟以驱动大量内部节点 芯片间通信中的时钟偏移问题 芯片1和芯片2共享外部时钟CKext芯片内部逻辑电路操作的实际时…

Go入门之数组与切片

var arr1 [...]int{1, 2, 3}fmt.Println(len(arr1)) 数组长度不能扩展 var arr2 [...]int{0: 100, 5: 101}fmt.Println(len(arr2)) } 指定索引初始化 可以通过for和range遍历 值类型:基本数据类型和数组都是值类型,改变副本的值不会改变本身的值 切片为引用数…

30天开发操作系统 第22天 -- 用C语言编写应用程序

前言 在昨天的最后我们成功干掉了crack2.hrb, 今天我们要尝试一下更厉害的攻击手段。 所以说, 从现在开始又要打开坏人模式了哟,嘿嘿嘿 虽然把操作系统的段地址存入DS这一招现在已经不能用了,不过我可不会善罢甘休的。我要想个更厉害的招数&#xff0c…

后端开发:开启技术世界的新大门

在互联网的广阔天地中,后端开发宛如一座大厦的基石,虽不直接与用户 “面对面” 交流,却默默地支撑着整个互联网产品的稳定运行。它是服务器端编程的核心领域,负责处理数据、执行业务逻辑以及与数据库和其他后端服务进行交互。在当…