搜档网
当前位置:搜档网 › 用CPLD和单片机设计任意波形发生器

用CPLD和单片机设计任意波形发生器

用CPLD和单片机设计任意波形发生器
用CPLD和单片机设计任意波形发生器

基于单片机频率计的设计

说明书

开封大学参赛成员:郭东卫王超参赛指导教师:杨志帮侯静

基于单片机频率计的设计

指导老师-杨志帮、侯静

核心器件: AT89C52 74HC163

在电子工程设计与测试中,常常需要一些复杂的、具有特殊要求的信号,要求其波形可任意产生,频率方便可调。通常的信号产生器难以满足要求,市场上出售的任意信号产生器价格昂贵。结合实际需要,我们设计了一种任意波形发生器。电路设计中充分利用MATLAB的仿真功能,将希望得到的波形信号在MATLAB中完成信号的产生、抽样和模数转换,并将得到的数字波形数据存放在数据存储器中,通过单片机和CPLD控制,将波形数据读出,送入后向通道进行A/D转换和放大处理后得到所需的模拟信号波形。利用上述方法设计的任意波形发生器,信号产生灵活方便、功能扩展灵活、信号参数可调,实现了硬件电路的软件化设计。具有电路结构简单、实用性强、成本低廉等优点。

一、系统框图

任意波形发生器的设计思想,是利用MATLAB的强大仿真功能,方便、快捷的生成给定频率、周期、脉宽的任意波形数据;并将数据预存在数据存储器中。在单片机控制下,利用CPLD电路产生地址读出数据,送入D/A转换电路,得到所需的任意波形信号。系统结构框图如图1;图中分频电路和地址发生器由CPLD实现。

图1 系统框图

二、电路设计及实现

单片机控制电路

单片机采用AT89C52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽;分频电路的开始信号、地址发生器的复位信号;E2PROM的选通信号;D/A转换电路的选通信号。在具体电路中,端口P1.0控制分频电路的启动、P1.1控制地址发生器的清零,P2.0控制28C256和AD7545的选通信号。单片机工作在定时器0方式,软件设计利用C语言实现。流程图如图2所示。

图2 软件流程图

三、波形数据生成

MATLAB作为一款优秀的数学工具软件,具有强大的运算功能;可以方便的产生各种信号波形,在软件中实现波形信号的产生、抽样和模数转换。设计的任意波形发生器,数据存储器选用28C256芯片,信号波形通过MATLAB仿真产生;得到的波形数据存放在数据存储器28C256中。具体设计中,我们要求产生周期为200ms,脉宽为5ms的单/调频混合信号,其中单频信号的脉宽为4ms,频率为30KHz;调频信号的脉宽为1ms,频率为30KHz_35KHz。在MATLAB中设定抽样率为500KHz,得到了2500个波形数据。这些混合波形数据在烧录入数据存储器的过程中,由于波形数据较多,直接用手工录入数据存储器中不仅费时且容易出错。为克服这一弊端,通过MATLAB编程的方法将产生的波形数据按照HEX文件的INTEL格式存放,然后将这些波形数据整批次烧录入数据存储器中。采用上述方法,波形数据生成简单,快捷;可根据需要在软件程序中方便地修改信号参数;无需改动硬件电路即可实现信号参数的功能扩展。

四、CPLD逻辑设计

分频电路采用两片74HC163实现。通过分频电路,将12MHz的晶振标准频率分频后,得到500KHz的抽样频率,作为地址发生器的时钟。分频电路的工作由单片机控制。地址发生器电路由3片74HC163组成,时钟频率为500KHz,有分频电路提供;和预存的波形数据抽样频率相一致,以实现数据的无失真读出。

电路设计中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ开发环境中完成分频缏泛偷刂贩⑸鞯缏返纳杓啤;贑PLD的电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。通过CPLD和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路十分简单,为工程调试和应用带来了方便。

五、D/A转换电路

D/A转换电路的实现如图3所示。电路中,AD7545将波形数据转换为模拟信号;LF353进行信号滤波和整形。

根据项目要求,要实现输出波形程序设计主要解决按键控制输出三角波、方波、锯齿波和正弦波的问题。

按键控制:根据设计要求和按键控制输出波形的变化,程序应设计不断查询检测按键的状态,以便输出对应的波形。对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块设置ID号进行标识,这样每按一次键,ID的值就不一样。因此,我们不同的波形用flag标识:当flag=0时,输出三角波;当flag=1时,输出方波;当flag=2时,输出锯齿波;当flag=3时,输出正弦波。我们规定,每次按下K键,分别给出不同的flag值就能实现任务。

输出模拟电压:由于DAC0832和单片机AT89C51采用直通方式,因此只要往数据输入端送数字量,从后面的运放输出端就可得到模拟电压。输出的电压根据公式计算到。由此在需要输出某个电压值时,求出对应的数字值,通过P2口输出,就可以得到所需的模拟电压。为了方便编程我们将DAC0832的输出封装为一个子函数,用形参表示待输出的数值。程序中用4个子函数分别表示产生不同的波形,程序设计的流程图如图所示

图简易波形发生器程序流程图

根据程序流程图,写出单片机C语言程序清单:

#include

#define uchar unsigned char

#define uint unsigned int

#define DAC0832 P2 // 将DAC0832定义为P2口

#define ALL 65536 // 将ALL定义为65536

#define Fosc 12000000 // 频率为12MHz

uchar TH_0,TL_0,flag1,flag=0;

uint FREQ=100,num;

float temp;

uchar code sin_num[]={0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,3,3,4,4,4,

5,5,6,6,7,7,8,8,9,9,10,10,11,12,12,13,14,15,15,16,17,18,18,19,20,

21,22,23,24,25,25,26,27,28,29,30,31,32,34,35,36,37,38,39,40,41,42,

44,45,46,47,49,50,51,52,54,55,56,57,59,60,61,63,64,66,67,68,70,71,

73,74,75,77,78,80,81,83,84,86,87,89,90,92,93,95,96,98,99,101,102,

104,106,107,109,110,112,113,115,116,118,120,121,123,124,126,128,

129,131,132,134,135,137,139,140,142,143,145,146,148,149,151,153,

154,156,157,159,160,162,163,165,166,168,169,171,172,174,175,177,

178,180,181,182,184,185,187,188,189,191,192,194,195,196,198,199,

200,201,203,204,205,206,208,209,210,211,213,214,215,216,217,218, 219,220,221,223,224,225,226,227,228,229,230,230,231,232,233,234, 235,236,237,237,238,239,240,240,241,242,243,243,244,245,245,246, 246,247,247,248,248,249,250,250,251,251,251,252,252,253,253,253, 253,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255}; /************端口设置*********/

sbit cs=P3^6;

sbit change=P3^2;

/************延时1m s*********/

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/************初始化函数*********/

void init()

{

TMOD=0X01; //设定工作模式1

temp=ALL-Fosc/12.0/256/FREQ; //定时器初值计算

TH_0=(uint)temp/256;

TL_0=(uint)temp%256;

EA=1; //开总中断

EX0=1; //开外部中断

IT0=1; //设定下降沿有效工作方式

ET0=1; //设定定时器工作在定时方式

TR0=1; //开定时器中断

}

/************切换波形函数*********/

void changefreq(void)

{

if(change==0)

{flag++;if(flag==4) {flag=0;num=0;}}

TH_0=(uint)temp/256;

TL_0=(uint)temp%256;

}

/************三角波函数*********/

void sanjiaobo(void)

{

for(num=0;num<255;num++)

{cs=0;DAC0832=num;cs=1;}

for(num=255;num>0;--num)

{cs=0;DAC0832=num;cs=1;}

}

/************方波函数*********/

void fangbo(void)

{

cs=0;DAC0832=0xff;cs=1;

for(num=0;num<255;num++);

cs=0;DAC0832=0x00;cs=1;

for(num=255;num>0;num--);

}

/************锯齿函数*********/

void juchibo(void)

{

cs=0;DAC0832=++num;cs=1;

}

/************正弦函数*********/

void zhengxianbo(void)

{

for(num=0;num<255;num++)

{cs=0;DAC0832=sin_num[num];cs=1;}

for(num=255;num>0;num--)

{cs=0;DAC0832=sin_num[num];cs=1;} }

/************外部中断服务函数*********/ void ext0()interrupt 0

{

changefreq(); //引用频率改变函数

}

/************定时器中断函数*********/ void timer0()interrupt 1

{

TH0=TH_0;TL0=TL_0; //重新装初值

TR0=0;

switch(flag)

{

case 0:{sanjiaobo();TR0=1;break;}

case 1:{fangbo();TR0=1;break;}

case 2:{juchibo();TR0=1;break;}

case 3:{zhengxianbo();TR0=1;break;}

default:;

}

}

/************主函数*********/

void main()

{

init();

while(1);

}

结语

采用上述方法设计的任意波形发生器,通过软件和硬件结合,充分发挥MATLAB强大的仿真功能,尽可能的减少了硬件开销。根据实际需要,可产生正弦波、三角波、锯齿波、方波等多种波形,可以产生线性调频信号(LFM),单频脉冲信号(CW),余弦包络信号以及他们之间的组合信号等多种波形参数;满足了题目需要。

两款函数任意波形发生器产品简介

是德科技 30 MHz 函数/任意波形发生器 33521A 单通道函数/任意波形发生器 33522A 双通道函数/任意波形发生器 技术资料 ?????????????????? ?????????????????? ???? (alias-protected) ?????? ??

33500 系列函数/任意波形发生器 实现更出色的精度和灵活性?わょ??????????????????わ???????????????????????????? Keysight 33500 ????/??????????????????????????????????????????????????⒔????? 10 ???????????????????????????????????? 主要特性 —30 MHz ??????? ??????????? —???? 40 ps???????? 0.04%???????????—250 MSa/s ???? 16 ??? ????????????????? —????????????????????????????????? —??? 33522A ?????勚??????ㄩ? —?㈨ 1 MSa ??▌╈????㈨ 16 MSa ▌╈???▌╈???? ???? —?? LXI C ??? —????????????? TFT ?????????????????????????? —??? BenchL ink Waveform Builder Pro ????????????信号保真度 ???????????????? ??????????????? ??????????????? ??????????????? ????? 33500 ????/??? ??????????????? ??????? 40 ps ?⒔??? ???/??????? 10 ???? ??????????? 16 ??? ???? 0.04% ???????? ▕ 250 MSa/s (16 ?) ??????? ????????????▌╈?? ????????????⒋??? ???????????????? ???????????? 灵活的信号生成 33521A ? 33522A ???????? ??????????????? ? (DTMF) ????? 33522A ??? ?????????????ㄩ?? ???????勚???????? ??????????????(? ???????) ??????⒋? ???????????????? ???????????⒋??? 逐点波形 33500??????????? ???????????? (alias- protected) ?????????? ?????????????? ???33521A ? 33522A ??? ? 30 MHz ???????⒋?? ??????????????? ??????????????? ???????????????? ??????????????? ???????????????? ????????? 用户界面 ????????????? TFT ? ???????????????? ???????????????? ?????? 33500 ?????? LXI C ??????? USB 2.0 ? 10/100 Base-T ???????????㎡? ???? PC ?????????? ???????????????? ?? GPIB ????????? 可选 33503A BenchLink Waveform Builder Pro 软件 Benchlink Waveform Builder Pro ? ??????????????? ??????????????? ??? Microsoft Windows ???? ???????????????? ???????????????? ??????????????? ???????????????? ?╖????????㎡???? ??????????????? ??????????????? BenchLink Waveform Builder Pro? ???????????????? ???????????????? ?????╱????????? ㎡??????????????? ??????????????? ??? 30 ??????????? https://www.sodocs.net/doc/7d1908859.html,/? nd/33503

简易波形发生器设计

摘要:单片机主要面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应测控领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内部集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O接口、脉冲宽度调制器(Pulse Width Modulator,PWM)、监视定时器(Watch Dog Timer,WDT)等。这些对外电路及外设接口已经突破了微型计算机传统的体系结构,所以单片机也称为微控制器(Micro Controller)。 关键词:中央处理器;随机存储器;只读存储器

引言:一般函数发生器是由硬件组成的,它的输出频率范围宽,各项指标高,性能优良,因而在对输出波形要求较高的地方被广泛应用,这种仪器的缺点是电路复杂,成本高,输出波形种类不多,不够灵活。在对波形指标要求不高,频率要求较低的场合,可以用单片机构成一个波形发生器。产生所需要的各种波形,这样的函数发生器靠软件产生各种波形,小巧灵活,便于修改,且成本低廉,容易实现。 1设计概述 1.1 课程设计的目的 通过对本课题的设计,掌握A/D,D/A转换的应用,用单片机产生各种波形的方法及改变波形频率的方法。熟悉单片机应用系统的设计以及软硬件的调试。单片机本身并没有开发能力,必须借助开发工具即硬件开发环境才能进行开发。单片机的硬件开发环境有PC机、编程器和仿真机等。 1.2 设计的内容、要求 设计一个简易波形发生器,要求该系统能通过开关或按钮有选择性的输出正弦波、三角波、方波、及阶梯波等四种波形,并且这四种波形的频率均可通过输入电位器在一定范围内调节。 对于四种波形的切换,用两个开关的四种状态来表示(或用按钮)。选用常用的A/D转换芯片0809来实现模拟量的输入。D/A转换器选用0832来输出波形。

(完整word版)基于单片机的信号发生器开题报告

内蒙古工业大学本科生毕业设计(论文)开题报告

注:表格根据所填内容可进行调整,可多页。 一、设计总体方案 利用AT89S52 单片机采用程序设计方法产生锯齿波,正弦波,矩形波,方波四种波形,再通过D/A 转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控四种波形的类型,频率变化,最终输出显示其各自的类型及数值

图4.1 硬件原理框图 二.硬件各单元电路方案设计与选择 1、单片机的选择 方案一:AT89S52芯片中只有一路模拟输出或几路模拟信号非同步输出,这种情况下CPU对DAC0832 执行一次写操作,则把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号随之对应变化。输出波形稳定,精度高,滤波好,抗干扰效果好,连接简单,性价比高。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,而且执行速度快。但其价格较贵 方案三:采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。 以上两种方案综合考虑,选择方案一 2.键盘设计方案比较 方案一:矩阵式键盘。矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处。当键盘上没有键闭合时,所有的行和列线都断开,行线都呈高电平。当某一个键闭合时,该键所对应的行线和列线被短路。 方案二:独立式键盘。独立式键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。 以上两种方案综合考虑,选择方案二。 3、D/A转换部分

利用Labview实现任意波形发生器的设计

沈阳理工大学课程设计专用纸No I

1 引言 波形发生器是一种常用的信号源,广泛应用于通信、雷达、测控、电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器十分有必要,而且意义重大。 波形发生器的核心技术是频率合成技术,主要方法有:直接模拟频率合成、锁相环频率合成(PLL),直接数字合成技术(DDS)。 传统的波形发生器一般基于模拟技术。它首先生成一定频率的正弦信号,然后再对这个正弦信号进行处理,从而输出其他波形信号。早期的信号发生器大都采用谐振法,后来出现采用锁相环等频率合成技术的波形发生器。但基于模拟技术的传统波形发生器能生成的信号类型比较有限,一般只能生成正弦波、方波、三角波等少数的规则波形信号。随着待测设备的种类越来越丰富,测试用的激励信号也越来越复杂,传统波形发生器已经不能满足这些测试需要,任意波形发生器(AWG)就是在这种情况下,为满足众多领域对于复杂的、可由用户自定义波形的测试信号的日益增长的需要而诞生的。随着微处理器性能的提高,出现了由微处理器、D/A以及相关硬件、软件构成的波形发生器。它扩展了波形发生器的功能,产生的波形也比以往复杂。实质上它采用了软件控制,利用微处理器控制D/A,就可以得到各种简单波形。但由于微处理器的速度限制,这种方式的波形发生器输出频率较低。目前的任意波形发生器普遍采用DDS(直接数字频率合成)技术。基于DDS技术的任意波形发生器(AWG)利用高速存储器作为查找表,通过高速D/A转换器对存储器的波形进行合成。它不仅可以产生正弦波、方波、三角波和锯齿波等规则波形,而且还可以通过上位机编辑,产生真正意义上的任意波形。

基于51单片机的波形发生器的设计讲解

目录 1 引言 (1) 1.1 题目要求及分析 (1) 1.1.1 示意图 (1) 1.2 设计要求 (1) 2 波形发生器系统设计方案 (2) 2.1 方案的设计思路 (2) 2.2 设计框图及系统介绍 (2) 2.3 选择合适的设计方案 (2) 3 主要硬件电路及器件介绍 (4) 3.1 80C51单片机 (4) 3.2 DAC0832 (5) 3.3 数码显示管 (6) 4 系统的硬件设计 (8) 4.1 硬件原理框图 (8) 4.2 89C51系统设计 (8) 4.3 时钟电路 (9) 4.4 复位电路 (9) 4.5 键盘接口电路 (10) 4.7 数模转换器 (11) 5 系统软件设计 (12) 5.1 流程图: (12) 5.2 产生波形图 (12) 5.2.1 正弦波 (12) 5.2.2 三角波 (13) 5.2.3 方波 (14) 6 结论 (16) 主要参考文献 (17) 致谢...................................................... 错误!未定义书签。

1引言 1.1题目要求及分析 题目:基于51单片机的波形发生器设计,即由51单片机控制产生正弦波、方波、三角波等的多种波形。 1.1.1示意图 图1:系统流程示意图 1.2设计要求 (1) 系统具有产生正弦波、三角波、方波三种周期性波形的功能。 (2) 用键盘控制上述三种波形(同周期)的生成,以及由基波和它的谐波(5次以下)线性组合的波形。 (3) 系统具有存储波形功能。 (4) 系统输出波形的频率范围为1Hz~1MHz,重复频率可调,频率步进间隔≤100Hz,非正弦波的频率按照10次谐波来计算。 (5) 系统输出波形幅度范围0~5V。 (6) 系统具有显示输出波形的类型、重复频率和幅度的功能。

基于51单片机的函数信号发生器的设计

龙源期刊网 https://www.sodocs.net/doc/7d1908859.html, 基于51单片机的函数信号发生器的设计 作者:朱兆旭 来源:《数字技术与应用》2017年第02期 摘要:本文所设计的系统是采用AT89C51单片机和D/A转换器件DAC0832产生所需不 同信号的低频信号源,AT89C51 单片机作为主体,采用D/A转换电路、运放电路、按键和LCD液晶显示电路等,按下按键控制生成方波、三角波、正弦波,同时用LCD显示相应的波形,输出波形的周期可以用程序改变,具有线路简单、结构紧凑、性能优越等特点。 关键词:51单片机;模数转换器;信号发生器 中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)02-0011-01 1 前言 波形发生器,是一种作为测试用的信号源,是当下很多电子设计要用到的仪器。现如今是科学技术和设备高速智能化发展的科技信息社会,集成电路发展迅猛,集成电路能简单地生成各式各样的波形发生器,将其他信号波形发生器于用集成电路实现的信号波形发生器进行对比,波形质量、幅度和频率稳定性等性能指标,集成电路实现的信号波形发生器都胜过一筹,随着单片机应用技术的不断成长和完善,导致传统控制与检测技术更加快捷方便。 2 系统设计思路 文章基于单片机信号发生器设计,产生正弦波、方波、三角波,连接示波器,将生成的波形显示在示波器上。按照对作品的设计研究,编写程序,来实现各种波形的频率和幅值数值与要求相匹配,然后把该程序导入到程序存储器里面。 当程序运行时,一旦收到外界发出的指令,要求设备输出相应的波形时,设备会调用对应波形发生程序以及中断服务子程序,D/A转换器和运放器随之处理信号,然后设备的端口输出该信号。其中,KEY0为复位键,KEY1的作用是选择频率的步进值,KEY2的作用是增加频 率或增加频率的步进值,KEY3的作用是减小频率或减小频率的步进值,KEY4的作用是选择三种波形。103为可调电阻,用于幅值的调节。自锁开关起到电源开关的作用。启动电源,程序运行的时候,选择正弦波,红色LED灯亮起;选择方波,黄色LED灯亮起;选择三角波,绿色LED灯亮起。函数信号发生器频率最高可达到100Hz,最低可达到10Hz,步进值0.1- 10Hz,幅值最高可到3.5V。系统框图如图1所示。 3 软件设计

DSP任意波形信号发生器毕业设计

目录 摘 要 (2) Abstract (3) 1 绪论 (4) 1.1概述 (4) 1.2选题的目的、意义 (4) 1.3 选题的背景 (5) 1.4 本文所研究的内容 (6) 2 波形信号发生器的原理及方案选择 (7) 2.1任意波形信号发生器的原理 (7) 2.1.1 直接模拟法 (7) 2.1.2 直接数字法 (7) 2.2 任意波形发生器的设计方案 (9) 2.2.1 查表法 (9) 2.2.2计算法 (9) 2.2.3传统方法 (10) 3 基于DSP 5416的任意波形信号发生器的软件设计 (12) 3.1 TMS320C5416的开发流程 (12) 3.2软件开发环境 (13) 3.3任意波形信号发生器的软件编程 (14) 3.3.1 计算法实现波形输出 (14) 3.3.2 D/A转换 (15) 3.3.3波形控制及软件设计流程图 (16) 3.4参数的设定 (18) 4 基于DSP 5416的任意波形信号发生器的硬件设计 (20) 4.1 TMS320VC5416开发板 (20) 4.2 TMS320VC5416实验箱的连接 (23) 4.3 波形信号发生器的硬件测试过程 (23) 5 任意波形信号发生器展望 (28) 结束语 (29) 致谢 (30) 参考文献 (31)

摘 要 任意波形发生器是信号源的一种,它是具有信号源所具有的特点,更因它高的性能优势而倍受人们青睐。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。 随着无线电应用领域的扩展,针对广播、电视、雷达、通信的专用信号发生器获得了长足的发展,表现在载波调制方式的多样化,从调幅、调频、调相到脉冲调制。如果采用多台信号发生器获得测量信号显然是很不方便的。因此需要任意波形发生器(Arbitrary Waveform Generator,AWG),使其能够产生任意频率的载频信号和多种载波调制信号。 目前我国已经开始研制任意波形发生器,并取得了可喜的成果。但总的来说,我国任意波形发生器还没有形成真正的产业。并且我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。 本文主要工作分为以下几个方面:首先,介绍研制任意波形信号发生器的目的、意义、背景,以及利用CCS仿真工具用软件实现任意波形信号发生器的的过程 ;之后,对硬件的连接及测试结果作介绍;最后,简要的对任意波形信号发生器的未来作一下展望。 关键词:DSP,任意波形信号发生器,DDS

国产函数、任意波形发生器大比拼

国产函数、任意波形发生器大比拼 典型的DDS原理框图如图所示。 其实质是数模转换,仍然要遵循奈奎斯特采样定理。即输出的频率不超过采样率的一半,事实上商用的采用DDS技术的函数/任意波形发生器由于受到低通滤波器设计以及杂散分布的影响限制,输出波形的最高频率均不超过采样率的40%。相对于直接模拟频率合成,锁相频率合成,其优点如下: ·频率分辨率高。若时钟频率不变,DDS频率分辨率仅由相位累加器位数来决定,也就是理论上的值越大,就可以得到足够高的频率分辨率。目前,大多数DDS的分辨率在1Hz数量级,许多都小于1mHz甚至更小,这是其他频率合成器很难做到的。 ·工作频带较宽。根据Nyquist定律,只要输出信号的最高频率分辨率分量小于或等于fclk/2就可以实现。而实际当中由于受到低通滤波器设计以及杂散分布的影响限制,仅能做到40% fclk左右。 ·超高速频率转换时间。DDS是一个开环系统,无任何反馈环节,这种结构使得DDS的频率转换时间极短。DDS 的频率转换时间可达到纳秒数量级,比使用其它的频率合成方法都要小几个数量级。 ·相位变化连续。改变DDS输出频率,实际上改变的是每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。 ·具有任意输出波形的能力。只要ROM中所存的幅值满足并且严格遵守Nyquist定律,即可得到输出波形。例如三角波、锯齿波和矩形波。 ·具有调制能力。由于DDS是相位控制系统,这样也就有利于各种调制功能。 同时DDS合成技术也有一些固有的缺点,如下: ·杂散分量丰富。这些杂散分量主要由相位舍位、幅度量化和DAC的非理想特性所引起。因为在实际的DDS电路中,为了达到足够小的频率分辨率,通常将相位累加器的位数取大。但受体积和成本的限制,即使采用先进的存储方法,ROM的容量都远小于此,因此在对ROM寻址时,只是用相位累加器的高位去寻址,这样不可避免地引起误差,即相位舍位误差。另外,一个幅值在理论上只能用一个无限长的二进制代码才能精确表示,由于ROM的存储能力,只采用了有限比特代码来表示这一幅值,这必然会引起幅度量化误差。另外,DAC的有限分辨率以及非线性也会引起误差。所以对杂散的分析和抑制,一直是国内外研究的特点,因为它从很大程度上决定了DDS的性能。 ·频带受限。由于DDS内部DAC和ROM的工作速度限制,使得DDS输出的最高频率有限。目前市场上采用CMOS、TTL等工艺制作的DDS芯片工作频率一般在几十MHz至几百MHz左右。但随着高速GaAs器件的出现,频带限制已明显改善,芯片工作频率可达到2GHz范围左右。 以上摘自:《现代DDS的研究进展与概述》一文,https://www.sodocs.net/doc/7d1908859.html,/event/emag/20080226.htm。 将DDS应用于波形发生器,能非常方便的产生任意波形。一般除了具备常规函数发生器所具备的正弦波、方波、锯齿波、脉冲、噪声外,还有指数上升、指数下降、Sinc波、心电图波、直流,以及地震波等任意波形。能采用直接在仪器上手动编辑或windows 下软件编辑的方式产生任意波形,用于模拟电路或应用环境中可能发生的情况,此外还具备非常丰富的调制功能,甚至有些调制功能是以往只能在高端信号源上才能看到的。 下面找出主要以国产厂商为主的函数/任意波形发生器做一个对比,以此来了解国内DDS的应用水平,并给出一个大概的选购指南,以便您在需要的时候能够快捷的找到合手的信号源。Agilent在很早之前就推出了33200系列

简易波形发生器设计报告

电子信息工程学院 硬件课程设计实验室课程设计报告题目:波形发生器设计 年级:13级 专业:电子信息工程学院学号:201321111126 学生姓名:覃凤素 指导教师:罗伟华 2015年11月1日

波形发生器设计 波形发生器亦称函数发生器,作为实验信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。 波形发生器一般是指能自动产生方波、三角波、正弦波等电压波形的电路。产生方波、三角波、正弦波的方案有多种,如先产生正弦波,再通过运算电路将正弦波转化为方波,经过积分电路将其转化为三角波,或者是先产生方波-三角波,再将三角波变为正弦波。本课程所设计电路采用第二种方法,利用集成运放构成的比较器和电容的充放电,实现集成运放的周期性翻转,从而在输出端产生一个方波。再经过积分电路产生三角波,最后通过正弦波转换电路形成正弦波。 一、设计要求: (1) 设计一套函数信号发生器,能自动产生方波、三角波、正弦波等电压波形; (2) 输出信号的频率要求可调; (3) 根据性能指标,计算元件参数,选好元件,设计电路并画出电路图; (4) 在面包板上搭出电路,最后在电路板上焊出来; (5) 测出静态工作点并记录; (6) 给出分析过程、电路图和记录的波形。 扩展部分: (1)产生一组锯齿波,频率范围为10Hz~100Hz , V V 8p -p =; (2)将方波—三角波发生器电路改成矩形波—锯齿波发生器,给出设计电路,并记录波形。 二、技术指标 (1) 频率范围:100Hz~1kHz,1kHz~10kHz ; (2) 输出电压:方波V V 24p -p ≤,三角波V V 6p -p =,正弦波V V 1p -p ≥; (3) 波形特性:方波s t μ30r < (1kHz ,最大输出时),三角波%2V <γ ,正弦波y~<2%。 三、选材: 元器件:ua741 2个,3DG130 4个,电阻,电容,二极管 仪器仪表: 直流稳压电源,电烙铁,万用表和双踪示波器 四、方案论证 方案一:用RC 桥式正弦波振荡器产生正弦波,经过滞回比较器输出方波,方波在经过积分器得到三角波。

基于51单片机的信号发生器设计报告

基于51单片机的信号发生器设计报告 二零一四年十二月十一日

摘要 根据题目要求以及结合实际情况,本文采用一种以AT89C51单片机为核心所构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的频率可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。本设计经过测试,性能和各项指标基本满足题目要求。 关键词:信号发生器 DAC0832芯片 LM358运放 89C51芯片

目录 摘要...................................................................... 目录...................................................................... 第一章绪论................................................................. 1.1单片机概述........................................................... 1.2信号发生器的概述和分类.............................................. 1.3问题重述及要求....................................................... 第二章方案的设计与选择................................................... 2.1方案的比较........................................................... 2.2设计原理 ............................................................. 2.3设计思想 ............................................................. 2.4实际功能 ............................................................. 第三章硬件设计............................................................ 3.1硬件原理框图......................................................... 3.2主控电路 ............................................................. 3.3数、模转换电路....................................................... 3.4按键接口电路......................................................... 3.5时钟电路 ............................................................. 3.6显示电路 ............................................................. 第四章软件设计............................................................ 4.1程序流程图........................................................... 参考文献.................................................................... 附录1 电路原理图 .......................................................... 附录2 源程序............................................................... 附录3 器件清单......................................................

任意波形发生器

基于CPLD和单片机的任意波形发生器设计 在电子工程设计与测试中,常常需要一些复杂的、具有特殊要求的信号,要求其波形可任意产生,频率方便可调。通常的信号产生器难以满足要求,市场上出售的任意信号产生器价格昂贵。结合实际需要,我们设计了一种任意波形发生器。电路设计中充分利用MATLAB的仿真功能,将希望得到的波形信号在MATLAB中完成信号的产生、抽样和模数转换,并将得到的数字波形数据存放在数据存储器中,通过单片机和CPLD控制,将波形数据读出,送入后向通道进行A/D转换和放大处理后得到所需的模拟信号波形。利用上述方法设计的任意波形发生器,信号产生灵活方便、功能扩展灵活、信号参数可调,实现了硬件电路的软件化设计。具有电路结构简单、实用性强、成本低廉等优点。 任意波形发生器的设计思想,是利用MATLAB的强大仿真功能,方便、快捷的生成给定频率、周期、脉宽的任意波形数据;并将数据预存在数据存储器中。在单片机控制下,利用CPLD电路产生地址读出数据,送入D/A转换电路,得到所需的任意波形信号。系统结构框图如图1;图中分频电路和地址发生器由CPLD实现。 图1 系统框图 单片机采用AT89C52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽;分频电路的开始信号、地址发生器的复位信号;E2PROM的选通信号;D/A转换电路的选通信号。在具体电路中,端口P1.0控制分频电路的启动、P1.1控制地址发生器的清零,P2.0控制 28C256和AD7545的选通信号。单片机工作在定时器0方式,软件设计利用C语言实现。流程图如图2所示。 图2 软件流程图 MATLAB作为一款优秀的数学工具软件,具有强大的运算功能;可以方便的产生各种信号波形,在软件中实现波形信号的产生、抽样和模数转换。设计的任意波形发生器,数据存储器选用28C256芯片,信号波形通过MATLAB仿真产生;得到的波形数据存放在数据存储器28C256中。具体设计中,我们要求产生周期为200ms,脉宽为5ms的单/调频混合信号,其中单频信号的脉宽为4ms,频率为 30KHz;调频信号的脉宽为1ms,频率为30KHz_35KHz。在MATLAB中设定抽样率为500KHz,得到了

频率可变的任意波形发生器

深圳大学实验报告 课程名称:V erilog使用及其应用 实验名称:频率可变的任意波形发生器 学院:电子科学与技术学院 一、前言 波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常,在实验与工程中都具有重要的作用。随着电子技术的发展与成熟,电子工程领域对波形发生器的要求越来越高,不仅要求波形发生器具有连续的相位变换,频率稳定等特点,还要求波形发生器可以模拟各种复杂信号,并能做到幅度、频率,相位,波形动态可调。V erilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 本实验正是基于V erilog HDL语言对波形发生器的功能进行描述,并进行仿真,从而了解与掌握波形发生器的内部工作原理,并进一步熟悉与掌握V erilog HDL语言,将课堂所学知识进行实践。

二、实验原理 总体设计方案及其原理说明: DDS是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D/A转换器以及内部时序控制产生器等电路组成。 参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。△P为频率字,即相位增量;参考频率为f_clk;相位累加 器的长度为N位,输出频率f_out为: F_out——输出信号的频率;

多种波形发生器的设计与制作

课题三 多种波形发生器的设计与制作 方波、三角波、脉冲波、锯齿波等非正弦电振荡信号是仪器仪表、电子测量中最常用的波形,产生这些波形的方法较多。本课题要求设计的多种波形发生器是一种环形的波形发生器,方波、三角波、脉冲波、锯齿波互相依存。电路中应用到模拟电路中的积分电路、过零比较器、直流电平移位电路和锯齿波发生器等典型电路。通过对本课题的设计与制作,可进一步熟悉集成运算放大器的应用及电路的调试方法,提高对电子技术的开发应用能力。 1、 设计任务 设计并制作一个环形的多种波形发生器,能同时产生方波、三角波、脉冲波和锯齿波,它们的时序关系及幅值要求如图3-3-1所示。 图3-3-1 波形图 设计要求: ⑴ 四种波形的周期及时序关系满足图3-3-1的要求,周期误差不超过%1±。 ⑵ 四种波形的幅值要求如图3-3-1所示,幅值误差不超过%10±。 ⑶ 只允许采用通用器件,如集成运放,选用F741。

要求完成单元电路的选择及参数设计,系统调试方案的选取及综合调试。 2、设计方案的选择 由给定的四种波形的时序关系看:方波决定三角波,三角波决定脉冲波,脉冲波决定锯齿波,而锯齿波又决定方波。属于环形多种波形发生器,原理框图可用3-3-2表示。 图3-3-2 多种波形发生器的方框图 仔细研究时序图可以看出,方波的电平突变发生在锯齿波过零时刻,当锯齿波的正程过零时,方波由高电平跳变为低电平,故方波发生电路可由锯齿波经一个反相型过零比较器来实现。三角波可由方波通过积分电路来实现,选用一个积分电路来完成。图中的u B电平显然上移了+1V,故在积分电路之后应接一个直流电平移位电路,才能获得符合要求的u B波形。脉冲波的电平突变发生在三角波u B的过零时刻,三角波由高电平下降至零电位时,脉冲波由高电平实跳为低电平,故可用一个同相型过零比较器来实现。锯齿波波形仍是脉冲波波形对时间的积分,只不过正程和逆程积分时常数不同,可利用二极管作为开关,组成一个锯齿波发生电路。由上,可进一步将图3-3-2的方框图进一步具体化,如图3-3-3所示。 图3-3-3 多种波形发生器实际框图 器件选择,设计要求中规定只能选用通用器件,由于波形均有正、负电平,应选择由正、负电源供电的集成运放来完成,考虑到重复频率为100Hz(10ms),故选用通用型运放F741(F007)或四运放F324均可满足要求。本设计选用F741。其管脚排列及功能见附录三之三。

简易信号发生器单片机课程设计报告

课程设计(论文)任务书 电气学院电力系统及其自动化专业12(1 )班 一、课程设计(论文)题目:简易信号发生器设计 二、课程设计(论文)工作自 2015年1 月12 日起至2015 年 1月16 日止。 三、课程设计(论文) 地点:电气学院机房 10-303 四、课程设计(论文)内容要求: 1.课程设计的目的 (1)综合运用单片机原理及应用相关课程的理论知识和实际应用知识,进行单片机应用系统电路及程序设计,从而使这些知识得到进一步的巩固,加深和发展;(2)熟悉和掌握单片机控制系统的设计方法,汇编语言程序设计及proteus 软件的使用; (3)通过查阅图书资料、以及书写课程设计报告可提高综合应用设计能力,培养独立分析问题和解决问题的能力。 2.课程设计的内容及任务 (1)可产生频率可调的正弦波(64个点)、方波、锯齿波或三角波。 (2)显示出仿真波形。 (3)通过按键选择输出波形的种类。 (4)在此基础上使输出波形的幅值可控。

3.课程设计说明书编写要求 (1)设计说明书用A4纸统一规格,论述清晰,字迹端正,应用资料应说明出处。(2)说明书内容应包括(装订次序):题目、目录、正文、设计总结、参考文献等。应阐述整个设计内容,要重点突出,图文并茂,文字通畅。 (3)报告内容应包括方案分析;方案对比;整体设计论述;硬件设计(电路接线,元器件说明,硬件资源分配);软件设计(软件流程,编程思想,程序注释,) 调试结果;收获与体会;附录(设计代码放在附录部分,必须加上合理的注释)(4) 学生签名: 2015年1月16 日 课程设计(论文)评审意见 (1)总体方案的选择是否正确;正确()、较正确()、基本正确()(2)程序仿真能满足基本要求;满足()、较满足()、基本满足()(3)设计功能是否完善;完善()、较完善()、基本完善()(4)元器件选择是否合理;合理()、较合理()、基本合理()(5)动手实践能力;强()、较强()、一般()(6)学习态度;好()、良好()、一般()(7)基础知识掌握程度;好()、良好()、一般()(8)回答问题是否正确;正确()、较正确()、基本正确()、不正确() (9)程序代码是否具有创新性;全部()、部分()、无() (10)书写整洁、条理清楚、格式规范;规范()、较规范()、一般()总评成绩优()、良()、中()、及格()、不及格() 评阅人:

基于labVIEW的任意波形发生器设计余洪伟详解

沈阳航空航天大学 课程设计 (论文) 题目基于labVIEW的任意波形发生器设计 班级 34070102 学号 2013040701060 学生姓名余洪伟 指导教师于明月

沈阳航空航天大学 课程设计任务书 课程名称虚拟仪器课程设计 院(系)自动化学院专业测控技术与仪器 班级34070102 学号2013040701060 姓名余洪伟 课程设计题目基于LabVIEW的任意波形发生器设计 课程设计时间: 2016 年7 月4 日至2016 年7 月15 日课程设计的内容及要求: 1. 内容 任意波形发生器是仿真实验的最佳仪器,任意波形发生器是信号源的一种,它具有信号源所有的特点。基于此,利用LabVIEW 设计一个任意波形发生器。 2. 要求 (1)可以产生三种以上波形(如正弦、锯齿、方波、三角波等),波形的幅值及频率可以调节; (2)可以实现不同波形的转换并显示; (3)可以实现波形数据的存储及回放; (4)虚拟仪器前面板的设计美观大方、操作方便。 指导教师年月日 负责教师年月日 学生签字年月日

目录 0. 前言 (1) 1. 总体方案设计 (1) 2.程序流程图 (2) 3. 程序框图设计 (3) 3.1波形的产生及参数的设计 (3) 3.1.1 正弦波 (3) 3.1.2方波 (4) 3.1.3锯齿波 (4) 3.1.4三角波 (5) 3.1.5公式波形 (6) 3.2波行转换设计 (6) 3.3噪声波形实现 (7) 3.4波形的存储与回放 (8) 4. 前面板的设计 (9) 5.调试过程与结果显示 (10) 5.1波形的调试 (10) 5.1.1 正弦波的工作过程及波形验证 (10) 5.1.2 方波的工作过程及波形验证 (11) 5.1.3 三角波的工作过程及波形验证 (12) 5.1.4 锯齿波的工作过程及波形验证 (12) 5.1.5 公式波形的工作过程及波形验证 (13) 5.2 波形的存储与回放 (14)

陈冲EDA课程设计_任意波形信号发生器

EDA课程设计 任 意 波 形 信 号 发 生 器

姓名: 陈冲 班级: 07通信工程 指导老师:孙惠章 目录 一.简述 (3) 二.设计性能要求 (3) 三.系统框图 (3) 四.系统电路图 (3) 五.基本工作原理 (4) 六. 单元电路模块源程序及功能 (5)

七.系统仿真波形 (10) 八.引脚锁定 (11) 九.实验结果及硬件验证 (11) 十.实验心得 (13) 任意波形信号发生器的设计 一.简述 随着信息科技的发展,波形发生器在科技社会等多个领域发挥着越来越重要作 用。采用eda技术利用quartus60软件平台,基于大规模可编程逻辑器件fpga 设计的多功能波形发生器系统,大大简化其结构, 降低成本, 提高了系统的可靠性 和灵活性。设计中运用计数器,数据选择器,对所需的频率进行选择和同步。使用宏 功能模块存储波形。然后多波形进行幅度的选择。产生满足需要的不用频率和幅度的 波形。 二.设计性能要求 1.能输出正弦波,锯齿波,阶梯波,三角波,方波,矩形脉冲等八种波形。 2.具有幅度和频率的调整。 3.单元电路模块使用VHDL语言编写。

三.系统框图 图1.任意波形信号发生器系统框图四.系统电路图

图2.任意波形信号发生器系统电路图 五.基本工作原理 将要产生的波形数据存入波形存储器中, 然后在参考脉冲的作用下, 对输入的频率数据进行累加, 并将累加器输出的一部分作为读取波形存储器的地址, 将读出的波形数据经D/A 转换为相应的电压信号,D/A 转换器输出的一系列的阶梯电压信号经低通滤波器滤波后便输出了光滑的合成波形的信号。 选择八种基础波形为设计与实现的对象,而八个波形作为同一个任意波形发生器里的四个部分,是有着同一个输入与输出,因此在设计上还需要对波形进行选择与控制的部分,通过对时钟脉冲输入的选择,使得八个波形模块只有一个输入为时钟脉冲,其他三个模块则输入始终为0。在波形输出时,设计一个模块控制输出的波形是所要求输出的波形,在时钟脉冲选择与输出波形选择两模块之间。 对于频率的选择可以选择分频器,同时也可以选择计数器,本实验采用的是计数器以实现分频的效果,输出分别为二分频,四分频,八分频,十六分频用以实现不同的频率。幅度调节可以使用lpm_divide,可以实现八种不同的幅度调节。 六.单元电路模块源程序及功能 1.分频模块 以下为分频模块(CT74161)的VHDL语言编程源程序 LIBRARY IEEE;

简易波形发生器的设计

目录 第一章单片机开发板 (1) 1.1 开发板制作 (1) 1.1.1 89S52单片机简介 (1) 1.1.2 开发板介绍 (2) 1.1.3 89S52的实验程序举例 (3) 1.2开发板焊接与应用 (4) 1.2.1开发板的焊接 (4) 1.2.2开发板的应用 (5) 第二章函数信号发生器 (7) 2.1电路设计 (7) 2.1.1电路原理介绍 (7) 2.1.2 DAC0832的工作方式 (9) 2.2 波形发生器电路图与程序 (10) 2.2.1应用电路图 (10) 2.2.2实验程序 (11) 2.2.3 调试结果 (15) 第三章参观体会 (16) 第四章实习体会 (17) 参考文献 (18)

第一章单片机开发板 1.1 开发板制作 1.1.1 89S52单片机简介 图1.1 89s52 引脚图 如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EP ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SF R)的集中控制方式。 各功能部件的介绍: 1)数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。 2)程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。 3)中断系统:具有5个中断源,2级中断优先权。 4)定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。 5)串行口:1个全双工的串行口,具有四种工作方式。 6)特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、监控、监视。 7)微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。 8)四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。这四个端口的功能不完全相同。 A、P0口既可作一般I/O端口使用,又可作地址/数据总线使用; B、P1口是一个准双向并行口,作通用并行I/O口使用; C、 P2口除了可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用; D、P3口是一个多功能口除具有准双向I/O功能外,还具有第二功能。 控制引脚介绍: 1)电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。 2)时钟引脚XTAL1、XTAL2时钟引脚外接晶体与片内反相放大器构成了振荡器,它提供单片机的时钟控制信号。时钟引脚也可外接晶体振荡器。 振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,

相关主题