基于单片机控制的频率特征测试仪设计

发布者:ShiningSmile最新更新时间:2013-09-10 来源: dzsc关键字:单片机  频率特征  测试仪 手机看文章 扫描二维码
随时随地手机看文章

    1 引 言 

    频率特性是一个系统(或元件)对不同频率正弦输入信号的响应特性。如图1所示,被测系统输入幅值为Ar、角频率为ω的正弦信号,如果该系统是线性的,则其稳态输出也是正弦信号,频率ω不变,幅值为Ac,相角差为φ。改变ω可以得到一系列输入和输出数据。输出对输入的幅值比A(ω)=Ac/Ar与ω的关系曲线称为该系统的幅频特性,通常取20 lg A(ω)称为对数幅频特性。输出对输入的相角差φ(ω)与ω的关系曲线称为该系统的相频特性。幅频特性和相频特性综合称为频率特性,常用的是系统的开环频率特性即波特图。

    一个系统的频率特征可通过频率特征测试仪来测定。频率特性测试仪也称扫频仪,用于测试被测网络的幅频特性。他可以测量被测网络的谐振频率、带宽、带外衰减、增益等,是电子领域的常用设备之一。模拟式扫频仪价格较贵,且不能直接得到相频特性,更不能保存频率特性图和打印频率特性图,给使用者带来了诸多不便,为此没计了此数字式频率特性测试仪。

2 总体设计

  单片机控制信号源产生标准正弦波,输入到被测网络;被测网络的输出分别输入幅度检测电路和相位检测电路,得到峰值和相位差值送入单片机进行处理;单片机处理后的结果一方面提供给LED实时显示,另一方面存人存储器,供示波器显示幅频、相频曲线。总框斟如图2所示。

2.1 扫频信号源的设计

  扫频信号发生器是频率特性测试仪的核心,他提供被测网络输入所需的频率随时间在一定范围内周期变化的正弦信号。扫频信号产生的方法有锁相环(PLL)及可预置分频器、单片集成波形发生器、专用频率合成器件及直接数字频率合成(DDS)电路等。本系统采用单片机控制,利用EDA技术,选用系统可编程逻辑器件ispCPLD芯片,构成直接数字频率合成器(DDS)来产生扫描正弦波。

  直接数字频率合成(Direct Digital Frequency Synthe-sis,DDS)是一种纯数字化方法。因为DDS具有超高速的频率转换时间,极高的频率分辨率和较低的相位噪声,在频率改变与调频时,DDS器件能够保持相位的连续,因此很容易实现频率、相位和幅度调制,此外DDS还具有可编程控制的突出优点。DDS主要由相位累加器、正弦ROM表和数模转换器等组成,其核心是相位累加器,他由一个N位字长的二进制加法器和一个有时钟fclk取样的N位寄存器组成,作用是对频率控制字进行线性累加。当相位增量为1,累加器的字宽为32位时,输出地址对应于波形的相位分辨率为l/232。正弦ROM表中存储着一张正弦函数查询表,对应不同的瞬时相位码输出不同的幅度编码。工作时往DDS中写入控制字到相位累加器并转化成瞬时相位,在外部参考时钟的作用下,每个时钟周期相位累加器累加相位步进一次,对应的幅度编码输出给数模转换器(D/A),把数字量转化为模拟量,再通过低通滤波器平滑后得到最后需要的信号。并且该模拟正弦波与一门限电压进行比较可得到同频率的方波时钟信号,他将所需正弦波一个周期的离散样点的幅值数字量存入ROM中,然后按一定的地址间隔(相位增量)读出,并经D/A转换器形成模拟正弦信号,再经低通滤波器得到质量较好的正弦信号。

  信号发生器输出波形的频率f0定义为:

  其中fc为晶振频率,k为分频比,N为相位累加器位数,M为相位累加器的增量(步长)。

  本设计中取fc=32.768 MHz,k=50,N=16,代入上式可得:

  这样只要控制M的值就可以准确地实现频率步进10Hz的要求。这里时钟频率为:

  式中,△phase为频率控制字,sysclk为系统时钟,clkin为DDS的输入参考时钟频率,N为频率寄存器的位数,M为相位偏移寄存器的位数。频率控制字△phase决定着输出信号的频率值;最小频率分辨率由频率寄存器的位数N决定,N越大,频率分辨率越高;相位分辨率由相位偏移寄存器的位数决定,幅度分辨率由D/A转换器的精度决定。[page]

2.2 幅频和相频特性设计

  幅频特性测试电路由峰值检波器和D/A转换器组成。峰值检波器由“运放”和检波二极管构成。如图3所示。他将被测网络的输出信号峰值检出来(代表网络幅频规律),送往8位ADC0809模数转换器,数字化后再送单片机AT89C51进行处理。

  幅频特征测试中常用的检波方式有峰值检波和有效值检波。但由于有效值检波无法达到设计要求的500 Hz~10 kHz频率变化范围,所以采用峰值检波。利用有源峰值检波器实现峰值测量,峰值检波器将被测网络的输入和输出信号的峰值检出,再送至A/D转换器完成量化。实际上,由于信号源的D/A及低通滤波器的特性能保证在100 Hz~100 kHz范围内的幅值保持不变,所以可以省去一路峰值检波器及A/D,而只采集被测网络的输出信号。

  相频特性测试电路(框图如图4)由两个过零比较器、鉴相器、低通滤波器和A/D转换器组成。两个比较器由“运放”构成过零信号比较器,分别将被测网络的输入、输出正弦信号转换为数字信号。

  鉴相器采用ETESTER实现。鉴相出被测网络的输入、输出信号的相位差信号,经过低通滤波器滤波得到被测网络的相移信号,送至ADC0809进行模数转换成数字量,再送到单片机进行处理。由鉴相器输出的脉冲信号的占空比与这两路信号的相位差成正比,即:

相位差=N1/(N1+N2)×360°

  其中N1是高电平脉宽时间内的计数值,N2是低电平脉宽时间内的计数值。两路同频率不同相位的时钟信号PA和PB通过鉴相器epd后,将输出一路具有不同占空比的脉冲波形。其频率与输入频率相同,而占空比与PA和PB信号上升沿的时间有关。epd的脉宽等于PB和PA信号上升沿的时间差,这个时间差即为PB,他正好等于epd的占空比乘以360°。

2.3 频率特征的显示和打印

  频率特性测试仪设计中包含两种显示方式,一种为LED显示数值,并可打印输出;另一种为用示波器显示频率特性曲线。我们参考的打印方式是在系统中设计一个RS 232串行口,利用MCU的串口功能实现与单片机AT89C51通讯,利用PC机的打印控制功能完成打印。

  一般的示波器是输入模拟电压信号,即要将已经测量得到的幅频特性和相频特性数据经D/A转换为模拟电压量。因为使用单通道示波器显示幅频和相频两条曲线,所以可以使两条曲线分时显示在屏上的不同位置。为了便于观察,当输出幅频特性数据显示在屏幕上方时,可在D/A的输出相迭加一个正电压,由于示波器的扫描速度很快,相频看起来和幅频两条曲线同时显示在屏幕上。

3 结语

  该系统体积较小,由于选用的单片机是AT89C51,且单片机系统的程序较短,所以无需扩展EPROM和RAM。另外,由于使用了DDS集成电路来产生扫频信号,所以扫频信号的质量高,扫频范围较宽。但是,因为该系统使用的是点频法测量网络的频率特性,系统测绘时间略长。若要提高系统的扫频范围,可用输出频率更高的DDS器件。

  实验表明,该系统稳定可靠,显示打印的幅频特征曲线与传统扫频仪所测得的曲线相符,绘制的频率特性图与理论一致。软件的操作使用和图形数据的处理非常方便,整个仪器的使用非常简单,是模拟式扫频仪无法相比的。



参考文献:

[1]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[2]. ADC0809 datasheet http://www.dzsc.com/datasheet/ADC0809_123186.html.
[3]. AT89C51 datasheet http://www.dzsc.com/datasheet/AT89C51_810155.html.
[4]. EPROM datasheet http://www.dzsc.com/datasheet/EPROM_1128137.html.

关键字:单片机  频率特征  测试仪 引用地址:基于单片机控制的频率特征测试仪设计

上一篇:基于GPS和GSM网络的汽车防盗系统
下一篇:基于LabVIEW的单片机温度自动测试系统

推荐阅读最新更新时间:2024-03-16 13:27

教你学单片机 2:用机器的视角思考
你准备写第一个单片机程序了,在此之前我假设你已经会使用编译器,也会下载程序了。 P.S. 因为这些工作确实很简单,在网上找份教程看看就会了。 一般刚开始学一种单片机的时候,写的第一个程序都是 点亮第一个LED 。这个程序很经典,它代表你已经成功学会操控单片机的IO端口,学51单片机亦是如此。代码如下(我使用ATMEL 公司的AT89S52): #include reg52.h sbit LED = P1^0 ; void Delay(unsigned int t) { unsigned int i,j ; for(i=t;i 0;i--) for(j=100;j 0;j--); }
[单片机]
单片机位操作的逻辑运算详解
从51单片机转到其他的芯片时,总会遇到一个非常郁闷的问题,就是其他芯片有的也许没有位操作。所以最大的问题就是通过逻辑操作来改变一个字节的某个位。于是在这里总结一下关于位操作的一些表达式。 首先,对一个字节,8位也好,16位也好,32位也好,只有两种操作,一种叫置位,一种叫清零。先从置位说起。 置位可以对全部位进行操作,也可以对某个位进行操作。 全部操作很简单直接赋值就ok了。我们假设一个无符号字符型uchar为8位。且最低位为0,也就是说0-7位,而不是1-8位,那么改变值的状态只需要直接等于就ok了 uchar a=0; a=0xfe; 这样的话,就让a的低1-7位置1,a的0位不变 但这样做有一个问题,我每次改变数值
[单片机]
如何避免变压器容量特性测试仪测量产生误差
变压器容量特性测试仪测量误差的影响因素主要有联接组别、环境温度、阻抗电压、分接开关、短路连接线,那么知道这些产生误差的原因后,我们应该如何有效避免它呢? 1、联接组别。不同的连接组别,对应着不同的负载损耗温度校正公式。输入不正确的连接组别,必然导致测量结果的错误。在变压器铭牌不可信或者无铭牌的情况下,可通过接组别判定试验,确定变压器的连接组别。 2、环境温度。根据变压器容量测试仪的原理可知,容量计算的一个重要参数就是短路阻抗值。国家标准要求变压器的短路试验应在环境温度为75℃进行,而现场往往不具备这个温度条件。这就需要将在自然温度下所测结果校正到75℃,因此当前温度通过影响校正短路阻抗值而影响到容量的判定。 虽然温度上
[测试测量]
stc12c5a60s2单片机简单实现DHT11源程序
网络上有很多实现DHT11的程序,单大多都是89c52的。而有关stc12c5a60s2的很少。 本人是新手一枚,在写关于stc12串口接收dht11数据时,发现接收到的都是0。 这是为什么呢?在网上查了一堆资料后,明白是时序的原因。 stc12系列的处理速度比89c52的速度快,且我们写的延时函数所延时的时间与参数不成正比。需要示波器。 硬件:芯片:stc12c5a60s2 晶振:110592mhz 部分代码: main.c中: DHT11数据读取 串口发送 波特率9600 STC12C5A60S2 /**************************************************/ #incl
[单片机]
微控制器MCU处理LED亮度控制
微控制器MCU通常被认为是数字器件。在缺省情况下,其输出电压电平要么是高,要么就是低,不会是一个不高不低值。为了实现LED亮度控制这一要求,首先浮现在脑海中的方法就是使用一个标准的数模转换器或者设计一个受控的电阻网络。值得庆幸的是,大多数现代MCU都具有内置的脉冲宽度调制(PWM)单元,这是解决该问题的最容易和成本最低的方法。 根据我们的项目要求,两个LED的亮度必须在几秒钟的时间内以相反的顺序逐渐从最暗调整到最亮,再从最亮逐渐调整到最暗。在 匀变1 时间内,针对LED 1的PWM信号的脉冲宽度逐渐增大,而针对LED 2的PWM信号的脉冲宽度逐渐减小。例如,假设匀变时间等于2秒并由128个向上/向下步长组成。因此,每个步长持续大
[电源管理]
平凡单片机教学—第二讲 单片机的内部、外部结构(一)
一、单片机的外部结构 拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。 1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶振,电容,连上就可以了,按图1接上即可。 3、 复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。 4、 EA引脚:EA引脚接到正电源端。至此,一个单片机就接好,通上电,单片机就开始工作了。
[单片机]
平凡<font color='red'>单片机</font>教学—第二讲 <font color='red'>单片机</font>的内部、外部结构(一)
基于51单片机开发板8*8LED矩阵的贪吃蛇程序
引语:过年的时候闲着无聊,恰好也刚学了点51开发板的东西,所以就想写一个贪吃蛇的小程序。在网上总结了一些关于贪吃蛇的算法,于是就有了以下的程序。 先来说以一下算法的原理:将8*8LED看作是直角坐标系,将左上角定为坐标原点。定义两个数组 snake_x ,snake_y 用来存储蛇的x,y轴坐标。因此,我们的核心算法就是小蛇惯性保持自己的运动姿态,产生食物,以及小蛇吃到食物后长度增加。 再来看一下我的开发板,我的开发板是德飞莱51开发板,这里不再讲解其8*8LED的工作原理,直接上代码 void Hc595SendByte() { unsigned char a; SRCLK=0; RCLK=0; for(a=
[单片机]
基于8051单片机和SC1128芯片实现病房呼叫系统的设计
传统的病房呼叫系统普遍采用有线式,不仅布线安装繁琐、维护不便、利用率低,而且实时性差。虽然无线式呼叫系统没有布线问题,但它的可靠性差,而且无线电波会干扰其它医疗仪器设备,目前大多数医院不采用无线呼叫系统。 随着电力载波技术的发展,应用低压电力线作为传输媒质,采用扩频、数字编码、单片机控制等技术实现病房呼叫已成为可能。本文运用电力载波技术设计了一种病房呼叫系统。 1 病房呼叫系统的基本要求 临床求助呼叫是传送临床信息的重要手段,病房呼叫系统是病人请求值班医生或护士进行诊断或护理的紧急呼叫工具,可将病人的请求快速传送给值班医生或护士, 并在值班室的监控中心电脑上留下准确完整的记录,是提高医院和病室护理水平的必备设备之一。呼叫系
[单片机]
基于8051<font color='red'>单片机</font>和SC1128芯片实现病房呼叫系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved