1 引言
在学习《电子线路》、《信号处理》等电子类课程时,高校学生只是从理论上理解真正的信号特征。不能真正了解或观察测试某些信号。而幅频特性和相频特性是信号最基本的特征.这里提出了基于单片机和FPGA的频率特性测试仪的设计方案,可使学生在实践中真正观察和测试信号的频率特性。
2 设计方案
该系统设计采用扫频测试法。设频率响应为H(jω),实系数线性时,不变系统在正弦信号x(n)=Acos(ω0n+ψ)的激励下的稳态输出为y(n)。利用三角恒等式,将输入x(n)表示为两个复数指数函数之和:
若输入为exp(jω0n),线性时不变系统稳态输出为H(exp(jω0n))exp(jω0n)。根据线性性质可知,输入g(n)的响应v(n)为:
同理,输入g*(n)的输出为v*(n)是v(n)的复数共轭。于是输出y(n)的表达式:
由上可知,当系统在正弦信号的激励下,输出响应达到稳态,这是与输入激励信号频率相同的正弦波,响应信号与激励信号幅值比为该频率的幅频响应值,而两者的相位差为相频特性值。因此采用扫频法测量频率特性。
以单片机和FPGA为核心,利用FPGA通过DDS合成得到且频率由单片机控制的正弦波作为扫频信号,将其输入至待测网络,由峰值检波电路分别测量各扫频信号对应的输入网络信号和输出网络信号,并由其比例关系求得待测网络的幅频特性。测量幅度的同时FPGA利用计数法测量出代表进出网络信号的相位差的脉冲数,然后送入单片机得到对应频率点的相角。将各频点得到的幅度特性和相位特性存入FPGA内部的RAM中,并结合锯齿波显示在示波器上。同时,LCD还显示扫描频率的初始值、终止值和步进值。定点测量时,LCD显示单个频率点的幅度和相位。该系统设计框图如图1所示。
3 硬件电路设计
3.1 信号产生模块
利用FPGA内部的DDS信号输出扫频信号经D/A转换器形成正弦信号。D/A转换器选用DAC0800。DAC0800具有8位分辨率,输出电流建立时间为100 ns,8位的位宽,工作电压范围为±4.5~±18 V。因此,经DAC0800所形成的正弦信号有256个取样值,完全能满足系统精度要求。输出正弦信号的最高频率为200 kHz,100 ns的速率也满足系统要求。由于DAC0800只具有从数字量到模拟电流输出量转换功能,因此.需增加运算放大器实现I—V转换,其转换电路如图2所示。DDS信号输出需要加低通滤波器来平滑滤波,以减少信号的谐波分量。
3.2 峰值检波电路
峰值检测原理是当输入电压通过正半周时,检波管导通,电容C充电,选取适当电容值,使其电容放电速度大于充电速度,这样,电容两端的电压可以保持在最大电压处,该电压通过由运算放大器构成的射随器(高阻隔离)输出电压峰值。这里运算放大器选用LF356,其输入失调电压和输入失调电流较小,输入阻抗大,可以很好隔离前后级。峰值检波电路如图3所示。
[page]
3.3 比较器电路
在输入/输出端信号经无限放大进入过零比较器,产生与两信号同步变化的方波信号,可提供给FPGA进行相位差计数。过零比较器无相位延迟,其方波信号完全反应进、出网络的相位差。MAX912是MAXIM公司的双通道高速低功耗、高精度电压比较器。该器件传播速度快(典型值为10 ns),功耗低(单个比较器工作电流为6 mA),每个比较器均有独立的锁存使能功能。由于FPGA对相位的测量是基于对下降沿的检测,为了产生边沿陡峭的方波,因此,选用MAX912组成的高速过零比较器,其电路如图4所示。
4 软件设计
图5为系统软件设计流程图,首先系统初始化,主要是初始化LCD菜单显示,这样可便于根据LCD菜单进行按键操作。然后系统可根据默认频率范围(100 Hz~1 000 kHz)扫描,如果无其他按键,则示波器显示待测网络在该默认频率范围的频率特性曲线。当有按键下,CPU产生中断进行按键处理,改变扫描参数。系统配置主要有4种按键处理情况,若左右频率设置则改变最小最大频率,即改变扫描范围;若步进设置,则改变扫描步进,最小步进设置为10 Hz;若设置为快扫和慢扫,快扫速度快实时性好,而慢扫精度高但速度慢;若特定频率点测量,则LCD显示该网络在单个频率点的幅度特性和相位特性。按键设置完毕,系统按照设定参数扫描和测试,示波器和LCD显示新结果并等待新的按键操作。
5 测量结果
在此基础上设计一个双T网络。由于双T滤波网络是属于带阻滤波器,若输入某一频率信号,该电路发生谐振而使其不能通过,但输入其他频率信号基本都可通过,但幅值有所衰减。采用阻抗星形三角形变换法,该双T网络可等效为简单的π型网络。利用Matlab仿真,得到双T滤波网络幅频特性曲线和相频特性曲线,如图6所示。
通过实验测试数据可知,双T网络的中心频率在50 kHz左右。在中心频率上,相频特性出现突变,由负相位特性最大值突变为正相位极大值。幅频特性曲线在中心频率上出现极小值,衰减大,在其带宽范围之外网络衰减比较小。因此,利用该系统设计可直观显示出一个网络的频率特性。
6 结语
该系统设计可以方便地测量未知网络在中低频的幅频特性和相频特性的曲线,并在示波器显示。该系统设计有助于学生理解电子线路理论知识,有利于自主开发简易的测量仪器。
关键字:单片机 FPGA
引用地址:
基于单片机和FPGA的频率特征测试仪
推荐阅读最新更新时间:2024-03-16 12:49
PIC单片机对机器人的控制程序设计
本文介绍项目是有关机器人控制的实现。控制部分采用PICl6F7X系列单片机,运用汇编语言编程,运行速度较快,能够达到系统的要求。在这里使用的大多是数字信号的控制,电机的控制只有开和合两种状态。在动作的过程中需要两只手臂、身体、头部、脚部等的协调动作。整个控制系统比较复杂,因而在PIC程序编写和空间分配方面需要注意一些问题。 1、 动作标志位的使用 在整个控制中,组合的动作很多,当所有动作定位都通过光电开关控制时,在程序编写上就有一些问题。如要求左手上升到鼓掌位、右手上升到举手位(手初始位置在最下的放下位),光电开关0有效(即为0时是挡住),到达正确位置。用简单的理解可以写成下面的程序: list P=16c73 call le
[单片机]
单片机系统的数据存储和管理
引言 在自动化测试领域里,单片机测试系统凭借其成熟的应用体系,简单的系统结构以及优良的性价比得到了越来越广泛的应用。近年来,随着新的测试对象不断出现,以及测试手段的不断发展,测试系统的功能越来越完善,各种应用场合对测试系统的要求也日益提高。现在的大多数测试系统不仅要完成工业现场的实时测控任务,同时还要进一步实现对测试数据的实时处理和保存。以往在一般的单片机测试系统中,信息的存储量并不大,系统只须用较少的资源就能实现数据的存储。但是随着存储芯片技术的不断发展,适用于单片机系统的存储芯片已经可以在掉电保护的情况下保存上百KB甚至几MB的数据;同样,目前的单片机测试系统也面临动辄处理并保存上千条乃至近万条测试数据的问题。这对一
[单片机]
基于MSP430FW42X单片机超声波热量表的设计
1 热量表的系统原理与结构 1.1 热量表的基本原理 热量表的工作原理:在热交换系统中安装热量表,配对温度传感器分别安装在热交换入口和出口管道上。当水流经系统时,流量传感器发出流量信号,配对温度传感器分别检测出入口和出口温度信号,积算器采集流量、温度信号,根据流量传感器给出的流量和配对温度传感器给出的供回水温度,以及水流经的时间,通过积算器计算并显示该系统所释放或吸收的热量,在实际应用中水的质量都是通过测量水的体积换算得出的,因此热量值的计算可使用下面公式: 式中:Q-释放的热量 或 ;V-载热液体流过的体积 ;△θ-热交换回路中载热液体入口处和出口处的温差 ;K-热系数,它是载热液体在相应温度、温差和压力下的函数 或 。
[单片机]
51单片机——8X8点阵显示
74hc595.h: #ifndef __74hc595_H__ #define __74hc595_H__ /************************************位定义************************************/ sbit DATA_IN = P1^0; //串行数据输入 sbit ST_CK = P1^1; //存储寄存器时钟输入 sbit SH_CK = P1^2; //移位寄存器时钟输入 /***********************************函数声明***********************************/ voi
[单片机]
用51内核网络单片机构成的远程监控系统
引 言 在工业控制、信息家电等应用领域,存在大量的嵌入式设备,而这些设备很多只有串口、CAN总线等简单的网络接口,通信能力有限,有的甚至处于孤立运行状态。如何让这些以单片机为核心的嵌入式系统接入以太网,并通过网络对它们进行远程监控,是当前电子世界中的研究热点。TCP/IP在Intemet和大多数局域网中的成功应用,已经证明了其强大的功能。如果实现TCP/IP协议和嵌入式系统的结合,嵌入式系统联网问题就能得到有效解决。目前,嵌入式系统联网主要有如下几种方案:①EMIT,以PC或其它高档计算机为网关,将CAN、RS-232等设备接入重量级网络;②采用32位MCU+实时操作系统,高档MCU功能强大,可以实现复杂操作,但需要有RTOS
[单片机]
复位电路的几种设计
复位源是导致单片机内部复位操作的源泉,大致可分为七种:上电复位(POR)﹑人工复位(MRST)﹑电源欠电压复位(LVR)﹑看门狗复位(WDR)﹑软件复位(SWR)﹑软硬件复位(SHR)﹑和非法地址复位(IAR)。 一﹑上电复位电路 上电复位的实质是上电延时复位,也就是在上电延时期间把CPU锁定在复位状态上,就是为了弥补由于电源滤波电容存在使单片机电源由低到高逐渐上升的时间。如下图示就是利用RC支路的充电时间而形成的常用的上电复位电路。 在每次单片机断电之后,应使延时电容C上的电荷立刻放掉,以便重新作好延时准备,为随后可能在很短时间内再次加电面作好准备。否则,在断电后C内还没有充分放电的情况下,如果很快又加电,RC支路就失去了
[单片机]
51单片机之中断的实现过程
我们首先需要了解什么是中断? 中断是指cpu在执行某一过程中由于外界原因必须暂停现在的事情,处理别的事情,处理完了再回去执行暂停的事情。 中断的优点? 1.分时操作。 2.实时响应 3.可靠性高 中断中用到的寄存器: IE寄存器: 1.单路开关:EX0 ET0 EX1 ET1 ES EX0:外部中断0允许位 ET0:定时/计数器T0中断允许位 EX1:外部中断1允许位 ET1:定时/计数器T1中断允许位 ES:串行口中断允许位 2.总开关 EA:CPU中断允许位 EA=1打开 IP寄存器: 作用是选择优先级的,解决中断优先级问题。 IT0寄存器:选择低电平有效还是下降沿有效,上电默认电平触发方式,IT0=1是下降沿有效
[单片机]
在单片机上实现动态加载功能
本项目是一个在单片机(如:STM32)上实现动态加载功能的函数库,与Windows中的dll,Linux中的so类似,可以将代码动态地从其他的存储介质,动态加载到RAM中。 软件架构 本项目文件夹有三个,其中common存储了用于生成可重定位的.axf文件的工程与动态加载器工程交互用的函数,src提供动态加载器的源码,rel_axf_project_template提供了一个简单的可重定位的.axf文件的工程示例,example.c是一个简单的使用示例,所有文件的主要功能如下: /common/dl_extern_lib.h 描述了app程序用于调用host程序的函数向量表的基地址,以及相关的一些宏定义 /common/dl_
[单片机]