无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告

资料下载地址:无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告

目录

项目功能

[1、 系统方案1.1 比较与选择](#1、 系统方案1.1 比较与选择)

[1.1.1 控制器的论证与选择](#1.1.1 控制器的论证与选择)

[1.1.2 信号源的论证与选择](#1.1.2 信号源的论证与选择)

[1.1.3 放大器模块的论证与选择](#1.1.3 放大器模块的论证与选择)

[1.1.4 键盘与显示模块的论证与选择](#1.1.4 键盘与显示模块的论证与选择)

[1.1.5 网络通信模块的论证与选择](#1.1.5 网络通信模块的论证与选择)

[1.2 方案描述](#1.2 方案描述)

[2、理论分析与计算2.1 信号发生器的电路设计](#2、理论分析与计算2.1 信号发生器的电路设计)

[2.2 放大器设计](#2.2 放大器设计)

[2.3 频率特性测试仪器](#2.3 频率特性测试仪器)

3、电路与程序设计

[3.1 电路设计](#3.1 电路设计)

[3.2 程序设计](#3.2 程序设计)

4、实物图片

项目功能

本装置测量放大器的幅频特性,并将数据绘成直观的图线。系统以32位高性能单片机STM32F103为主控制器,由数字式频率合成器AD9854产生所需信号,通过键盘与OLED显示屏直观控制扫频、点频等模式与频率、幅值等参数,产生一路稳定幅值的正弦扫频信号。信号通过自制的0~40dB可调增益放大器,经均值响应功率检波器AD8361检波后得到直流信号,即放大器输出信号的幅值信息;再经单片机内部模/数转换器采样,处理计算后,将幅值、频率信息发送至Wi-Fi模块ESP-32,使得局域网内的设备可以获取幅频特性数据。作品另配有计算机应用程序和安卓APP,可以方便地显示幅频特性曲线,从而实现放大器的远程幅频特性测试。

1、 系统方案 1.1 比较与选择

本系统主要由控制器、信号源模块、放大器模块、键盘显示模块、网络模块、电源模块组成,下面分别论证这几个模块的选择。

1.1.1 控制器的论证与选择

方案一:采用51单片机控制。51系列单片机是廉价、易得的微控制器,但由于其采用集中指令结构,运行速度不够可观。在执行大型程序时,51单片机容易显现出功耗大、不稳定的缺点。

方案二:采用FPGA控制。FPGA即现场可编程门阵列,是作为专用集成电路领域中的一种半定制电路而出现的,解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说功耗较低。但在开发过程中往往需要快速增减一些简单功能,如串口通信等,而此类功能有可能占用过多的逻辑门资源,因此采用FPGA开发整个系统则较为不便。

方案三:采用STM32单片机控制。STM32系列单片机具有开发方便、I/O口数量多等特点。ARM内核使得其运行速度明显优于51系列单片机。STM32F103属于增强型系列,是同类产品中性能最高的产品。

综合以上两种方案与实际情况,选择方案三。

1.1.2 信号源的论证与选择

方案一:采用分立元件和中小规模集成电路构成波形发生器采用RC串并联振荡器生成正弦信号。该方案的优点:技术成熟,可供参考的资料较多。缺点:外围元器件多,调试工作量较大,频率稳定度和准确度差,很难满足频率变化的范围要求,更难准确地实现频率步进的要求。

方案二:利用专用直接数字合成DDS芯片AD9851实现波形发生器。AD9851可以产生一个稳定的频率和相位且可数字化编程的模拟正弦波输出。但是该芯片理论上可达到70MHz,其实在实际应用中,当频率达到30MHz时,波形就失真了,而且外围电路较为复杂,需耗费大量时间。

方案三:采用AD9854芯片构成信号源。AD9854芯片可产生一高稳定的频率、相位、幅度可编程的正弦和余弦信号,允许输出的信号频率高达150MHz,而数字调制输出频率可达100MHz,满足项目40M的要求。

综合以上三种方案,选择方案三。

1.1.3 放大器模块的论证与选择

方案一:选用两级电压反馈运算放大器OPA847放大,再由数字衰减器PE4302衰减。OPA847是宽带超低噪声电压反馈运算放大器,常被用于前级放大,且带宽可高达3.9GHz,噪声极小。数字衰减器可以实现对DC~4.0GHz信号产生最大31.5dB的衰减,步进为0.5dB,但不可以实现系统增益连续可变。

方案二:选择运放AD8009。通过调AD8009 R1和Rf,实验发现可以实现单片运放0~40dB的要求,但是不能满足项目输入阻抗600Ω的要求。

方案三:选择压控正益放大器VCA824级联,外加AD690调节输入阻抗,满足项目要求。

综合以上三种方案,选择方案三。

1.1.4 键盘与显示模块的论证与选择

(1)键盘:

方案一:独立键盘。控制简单,但是占用单片机IO口资源太多。

方案二:矩阵键盘。控制较为复杂,但是占用单片机IO口资源少。

方案三:周立功键盘。控制较为复杂,操作点单,但功能强大。

(2)显示器:

方案一:TFT。功能强大,但是用于控制DDS显得过于复杂。

方案二:OLED。IIC通信方式,占用单片机IO口资源少,满足需求。

方案三:12864。操作简单,但占用单片机IO口资源多而且费电。

综合以上几种方案,选择周立功键盘和OLED。

1.1.5 网络通信模块的论证与选择

方案一:使用ESP-8266作为TCP客户端,与主机建立一对一通信。ESP-8266常被用作单片机WiFi模块使用,可以通过串口传输AT指令加以控制。

方案二:使用ESP-32建立TCP服务端,供局域网内其他设备访问。ESP-32是上海乐鑫公司出品的性能更强的物联网模块,同时也可以单独作为单片机使用。另外,设立TCP服务端,也使得让电脑客户端软件和手机APP同时访问成为可能。

综合以上两种方案,选择方案二。

1.2 方案描述

根据上文得出方案:系统以STM32为主控板,以ZLG键盘和OLED屏为交互方式,控制DDS AD9854进行扫频,经过自制的放大器,由均值检波器AD8361读出幅值信息。幅频特性数据通过ESP-32实现串口透传,由特别编写的计算机程序和安卓APP接收和绘制。

2、理论分析与计算 2.1 信号发生器的电路设计

经讨论后,我们决定采用DDS AD9854。我们按照官方提供的电路,完成了如下设计。

图1 正交扫频信号源子系统电路原理图(大图见附录)

2.2 放大器设计

为了达到放大性能、带宽、输入阻抗和带载能力的要求,我们以OPA690跟随器为第一级,设定输入阻抗600Ω,继而用两级VCA824达到信号0~40dB放大的要求。经测试,20MHz下,该系统可完成0~44.6dB连续可调的要求。

图2 放大器系统电路原理图(大图见附录)

2.3 频率特性测试仪器

由于示波器有X Y输入模式,由单片机DA产生的电压信息直接输入通道CH1、CH2,当扫描足够快时,由于视觉暂留现象,屏幕上便会留下幅频特性曲线。

3、电路与程序设计

3.1 电路设计

图4系统电路原理图

3.2 程序设计

这里主要对两个设备进行了编程:STM32和ESP-32。STM32使用μVision官方SDK,ESP-32使用新兴的嵌入式综合开发平台PlatformIO设计,也可以在ArduinoIDE内进行开发。程序详见附录2。

计算机客户端采用Java编写,手机端APP使用AndroidSDK进行设计。

4、实物图片

相关推荐
一只爱打拳的程序猿14 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
杨荧16 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
minDuck18 分钟前
ruoyi-vue集成tianai-captcha验证码
java·前端·vue.js
为将者,自当识天晓地。36 分钟前
c++多线程
java·开发语言
极客小张40 分钟前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
daqinzl44 分钟前
java获取机器ip、mac
java·mac·ip
激流丶1 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
Themberfue1 小时前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
让学习成为一种生活方式1 小时前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin