基于AT89C51单片机和DDS器件实现频率特征测试仪的设计

发布者:sumig最新更新时间:2023-05-30 来源: elecfans关键字:AT89C51  单片机  DDS器件 手机看文章 扫描二维码
随时随地手机看文章

1、 引 言

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


基于AT89C51单片机和DDS器件实现频率特征测试仪的设计

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


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转换器的精度决定。


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器件。

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


关键字:AT89C51  单片机  DDS器件 引用地址:基于AT89C51单片机和DDS器件实现频率特征测试仪的设计

上一篇:基于C8051F060和USBl00模块实现高速实时数据传输和采集系统的设计
下一篇:基于8031单片机和转换系统实现智能化浪涌电流测试仪的设计

推荐阅读最新更新时间:2024-11-17 08:48

51单片机内部EEPROM的应用
STC89C51、52内部都自带有2K字节的EEPROM,54、55和58都自带有16K字节的EEPROM,STC单片机是利用IAP技术实现的EEPROM,内部Flash擦写次数可达100,000 次以上,先来介绍下ISP与IAP的区别和特点。 ISP:In System Programable 是指在系统编程,通俗的讲,就是片子已经焊板子上,不用取下,就可以简单而方便地对其进行编程。比如我们通过电脑给STC单片机下载程序,或给AT89S51单片机下载程序,这就是利用了ISP技术。 IAP:In Application Programable 是指在应用编程,就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以
[单片机]
STM32单片机学习笔记(5):ADC模数转换器
项目简介 利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第五部分针对STM32单片机内置ADC模块的学习和理解。 硬件模块 STM32F103R4 LDR 串口模块 软件工具 CubMX Proteus KEIL 电路连接图 工作流程 首先创建一个CubMX工程,选择ADC模块 其余保持默认即可。 然后就是编写程序,程序代码在后面会列出来,这里简单说说自己遇到的一些问题。刚开始出来的结果全是0,但是网上有人说在实物开发板上是可以正常运行的。本来想放弃选用ADC0832模块的,不过不幸的事
[单片机]
STM32<font color='red'>单片机</font>学习笔记(5):ADC模数转换器
资深工程师单片机项目经验分享
资深工程师项目经验分享,条条真理!
[机器人]
51单片机入门教程(0)—— 开发环境配置
本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境Proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil和Proteus请购买正版) 1、 Keil_C51 1.1 keil_c51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。如果你
[单片机]
51<font color='red'>单片机</font>入门教程(0)—— 开发环境配置
基于单片机应用系统的串行通信设计
  1 引 言   在红外成像技术的电力设备状态检测系统中,基于AT89C51单片机的应用系统,采用美国雷态公司的型号为3iLRL3的非接触式红外测温仪。该测温仪采用的是RS232C串行通信标准接口,该接口在很多通信设备中通用,目前与PC机的直接串行通信也是RS 232C接口。尽管RS232C性能指标并非很好,但还是有广泛的市场支持。就可以方便的在2个数字设备之间进行信息的交换,实现全双工的传送数据,硬件成本低。而且通用性好。   2 串行通信的硬件设计   串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外
[单片机]
基于<font color='red'>单片机</font>应用系统的串行通信设计
RS485转TTL与单片机通讯
采用51单片机编了个串口通讯程序,目的是仿真一下485通讯的效果; 程序简单表述如下: #include reg51.h void Uart_Init(void) { SCON=0x50; //serial mode 1 TMOD|=0x20; //timer1 mode2 8bit auto reload PCON|=0x80; //SMOD=1; TH1=0xfa; //9600 11.0592 ES=1; //enable serial interrupt TR1=1; //enable timer1 EA=1; } void Uart_PutChar(unsigned char ch) { S
[单片机]
RS485转TTL与<font color='red'>单片机</font>通讯
ST推出STM32微控制器先进电机控制算法
2008年9月9日 ,意法半导体扩大32位STM32微控制器(MCU)支持的电机矢量控制函数库,新增了支持单旁路无传感器控制、内部永磁(IPM)电机控制和永磁同步(PMSM)电机弱磁控制的算法。目前市场上大约已有40种电机控制应用采用了意法半导体的基于Cortex-M3的STM32微控制器。 新增的控制函数功能被补充到STM32电机控制函数库2.0版内,在新一代电器、工业驱动器、电泵、加热通风空调(HVAC)系统、自动售货机、收款机和电动汽机车等应用领域,新算法将有助于加快产品上市时间,降低材料成本,优化电机选型,冲破运行限制。 同时,意法半导体通过增加对Kei
[工业控制]
ST推出STM32<font color='red'>微控制器</font>先进电机控制算法
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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