当前位置:文档之家› 正弦信号发生器设计

正弦信号发生器设计

正弦信号发生器设计
正弦信号发生器设计

正弦信号发生器

作者:程锟、晏婷婷、覃雄伟

摘 要:本设计以凌阳SPCE061A 单片机为核心,基于直接数字频率合成(DDS )技术制作了一个频率值能任意调节的多功能信号源。该信号源在1KHZ~10MHZ 范围能输出稳定可调的正弦波,并具有AM 、ASK 和PSK 等调制功能。信号输出部分采用电流放大型宽带运放做电流放大,再用宽带电压运放做电压放大,很好地解决了带宽和带负载能力的要求。系统采用液晶显示模组CPCL501显示和键盘控制功能,在Ω50负载电阻下输出的电压峰-峰值p p V -≥1V 可调。 一、方案论证与选择

1.题目分析:本设计要求可以输出较宽频带且频率稳定度足够高的正弦信号,并且具有一定的负载能力,同时可输出指标满足要求的AM 、ASK 、PSK 信号。综合题目指标要求及相关分析,得到该设计的功能框架图如图一所示。本设计可分为以下几个部分:频率合成模块、AGC (自动增益控制)模块、幅度控制模块、功率放大模块、调制模块及人机交流模块。

图一 功能模块框图

2.方案比较

(1)正弦信号发生模块

方案一:采用反馈型LC 振荡原理。选择合适的电容、电感就能产生相应的正弦信号。其中电容采用变容二极管,通过控制二极管的电压来改变电容, 最终控制输出信号频率。此方案器件比较简单,但是难以达到高精度的程控调节,而且稳定度不高。

方案二:采用FPGA 器件。将某一标准正弦信号经过高速采样后送到外部存储器中储存好,然后用一个计数器产生地址读出存储器中的数据后送到D/A 转换器件中输出,可以通过改变计数器的参数,改变地址信号,实现,也可以通过处理数据改变信号的幅度。但是此方案的输出波形受时钟影响较大,且不易于控制步进和进行功能扩展。

方案三:采用直接频率合成集成芯片AD9851。AD9851是AD 公司生产的DDS 芯片,带并行和串行加载方式,AD9851 内含可编程DDS 系统和高速比较器,能实现全数字编程控制的频率合成。

单片机控制模块 波形 发生 模块

功放模块

调制模块

键盘显示

综上:由于DDS集成芯片能达到要求,而且节省硬件电路,程控调节能够方便实现,故采用方案三,作为1KHZ~10MHZ正弦信号发生。

(2)AGC(自动增益控制)模块

方案一:选用场效应管和运算放大器来实现。此电路结构简单、元减少、易于实现,但其稳定性差、达不到要求。

方案二:选用集成芯片AD603实现。信号经缓冲级后进入AD603,放大后进入有效值测量部分,得出有效值送入的那篇机,再由DAC输出给AD603控制放大倍数,实现自动增益控制。

方案三:DAC控制增益。输入信号放大后作为基准电压送给DAC,相当于一个程控衰减器。在接一级放大,这两集放大可实现要求的放大倍数。输出接到有效值检测电路上,反馈给单片机。单片机根据反馈调节衰减器,实现自动调节增益。但增益动态范围有限。

综上:采用方案二。

(3)功率放大模块

方案一:程控放大器AD603。AD603的电压控制端加上控制电压,即可控制该放大器的增益。采用此方案的放大倍数控制灵活,甚至可以通过AGC比较容易实现设计要求中的输出电压范围。但是使用该方案费用比较高,而且调试比较复杂。

方案二:使用高带宽运放进行放大。使用AD811等高带宽放大器直接进行放大。

综上:由于方案二能实现要求的功能,电路简单,操作方便,故采用方案二。

(4)模拟幅度调制(AM)模块

方案一:采用软件技术实现。先用A/D转换芯片对调制信号进行采样,将采样的结果经过相应的大小处理后D/A转换输出到外部的程控放大器的增益控制端。从而控制输出信号的幅度,也即实现了AM调制。由于程控放大器输入控制电压范围较小,A/D转换后的数据处理复杂而难以精确控制增益大小,且外围电路比较复杂难调试。

方案二:采用模拟乘法器MC1496。MC1496实现将两个输入信号的相乘运算,通过相乘实现模拟调制,采用MC1496容易实现频谱搬移,且输出结果稳定性好,通过改变加给其调制信号的直流电平可以改变其调制深度。

综上:采用方案二。

(5)ASK、PSK调制模块

方案一:直接采用软件方法实现。用程序直接控制DDS输出二进制PSK和ASK信号,根据码序列中的'0'或'1'直接控制DDS的相移,便可以实现PSK调制功能,而控制DDS的工作与否即可实现ASK调制。本方案直接用软件来实现产生二进制ASK,PSK信号,基本不用硬件电路,比较方便,但输出的信号不稳定。故不采用。

方案二:采用模拟开关。将调制信号经过反向作一路输出,通过控制模拟开关选择输出原信号或反向信号从而实现PSK,而通过模拟开关选择输出信号的有无即实现ASK。使用此方法的原理简单,软件硬件都容易实现,且稳定性良好。

综上:采用方案二。

(6)控制系统的选择

方案一:使用FPGA作为控制系统。对FPGA器件编程,使其

实现对液晶,AD9851和模拟开关等的控制。但是由于本系统中对液晶的控制需要专业的模组工具才能更方便地使用,所以不采用此方案。

方案二:使用凌阳单片机作为控制系统。由于凌阳单片机具有

自己的液晶显示模组,可以方便地对其编程实现人机接口。且其系统板内部有10位的A/D 和D/A转换器,方便使用,完全能实现本系统的要求。

综上:采用方案二。

二、硬件设计 1.DDS 信号源设计 电路图如图二所示。AD9851是ADI 公司的可编程控制的直接数字频率合成的芯片。它内部包含可编程DDS 系统,高性能D/A 和高速比较器。外接上精密时钟源后,对其进行编程可控制输出相应的频谱纯净的正弦波。A/D9851的数据接入可采用串行或者并行。

图二 DDS 信号产生电路原理图

根据DDS 芯片AD9851的工作原理,若累加器时钟为clk f ,累加器位数为N ,累加器值为N F ,频率控制字M F ,外部参考时钟频率为20MHZ ,经内部6倍频后,可得到AD9851内部工作频率c F 为120MHZ ,最终合成信号的频率和相位由下式决定。

M M N c M F F F F F 027.02/101202/326=??==

322/22/2N M N F F ππθ==

2.低通滤波模块

电路图如图三所示。由于AD9851的输出信号中带有120mV 的直流偏置电压和高次谐波分量,本设计在AD9851输出端加上了隔直电容和低通滤波电路。

图三 低通滤波电路原理图

3.AGC 模块

如下图所示,AGC 电路有可控增益放大器AD603和三极管2N3906、2N3904构建。AD603采用双电源供电方式,其控制范围为80db (-20db~+60db ),可满足题目要求设计要求。经试验调试,该AGC 电路在输入信号峰峰值为V mV 6~10情况下,可实现MHZ HZ 10~300范围内稳定输出峰峰值为2.2V 无失真正弦信号。

图四 AGC 电路图

4.功率放大模块

功率放大部分采用电压反馈型宽带运放AD811。V 15 供电,增益为+10情况下,-3db 带宽达100MHZ,完全满足题意,且输出电流达100mA 以上,满足输出峰峰值为6V 的要求。电路图如图五所示。

图五 功率放大原理图

5.幅度调制(AM 模块)

幅度调制的核心器件选用模拟乘法器MC1496,将载波信号和被调制信号相乘即可得到AM 调制波。通过改变被调制信号的直流偏置而达到改变调制度的效果。其电路图如六所示。

图六 幅度调制原理图

6.ASK 、PSK 模块

基带信号可以自行产生,用AD9851产生100KHz 的正弦信号作为载波,如果用两个单片机控制就用单片机产生基带信号,否则可以用信号发生器产生,使之产生固定频率10KHz ,从而可以达到二进制基带序列码速率固定为10kbps 的要求。可用AD7502模拟开关来实现选通产生ASK 信号;将载波经过反相器后产生的反相信号与载波信号通过基带信号控制选通,形成PSK 信号。

三、系统软件设计

程序流程图如图七所示(程序见附录)。

图七 程序流程图 判断有无键按下 输入要产生

的频率

控制字产生基带

信号

AM

幅度的调制

判断有无键按下 M

的输

入K

级别的输入

步进值的加

减(100Hz )

步进值的加减(10%)

结束

开始

四、测试数据及分析 1.调试与使用仪器

(1)RIGOL DM3051的4

35万用表;

(2)RIGOL DS1062C 数字示波器; (3)EE1461 DDS 合成信号发生器。 2.测试方法 (1)模块测试

将系统各模块先分开测试,调试成功后在整机调试。 (2)将硬件模块和相应的软件进行整机测试。(示波器输出波形截图见附录)

依据设计要求,分别对输出波形、输出电压峰峰值、输出频率和功率放大器输出测试。 测试输出电压的峰峰值时,对放大电路和AGC 电路参数适当调整,使输出频率在1KHz~13MHZ 之间变化时能够满足pp V =6V ±1V 。

3.测试数据

(1)基本要求测试 1)正弦波频率范围测试

接50Ω负载,对输出电压进行测试,测量结果如表一。 表一:

(2)发挥部分测试

采用调制度测量仪对输出信号进行AM 信号测试,测试结果如表三。 表三(调制信号幅值为=Ωm U 53mV ): 设置调制度a m

直流输入电压

o U

实际调制度

U U

m m a Ω=

相对误差

100'?-=a

a a m m m δ

10% 530mV

10.1%

1%

设置频率 实测频率 输出幅值 功放后pp V (V) 100Hz 100.0Hz 1.00V 6.04V (有微小失真) 1KHz 1.000KHz 1.00V 6.05V (有微小失真)

10KHz 10.00KHz 1.00V 6.06V 20KHz 20.00KHz 1.00V 6.08V 50KHz 50.00KHz 1.00V 6.0V 100KHz 100.00KHz 1.00V 6.0V 500KHz 500.00KHz 1.00V 5.88V 1.0MHz 1.000MHz 1.00V 5.60V 1.5MHz 1.500MHz 1.00V 5.2V 5.0MHz 5.000MHz 999mV 5.95V 10.0MHz 10.000MHz 976mV 5.96V 13.0MHz

13.02MHz

960mV

5.93V

20%263.7mV 20.1%0.5%

30%178.5mV 29.7%1%

40%133.7mV 39.6%1%

50%106.4mV 49.8%0.4%

60%88.1mV 60.15%0.25%

70%75.1mV 70.57%0.81%

80%66.0mV 80.3%0.375%

90%58.0mV 91.37% 1.5%

100%53.0mV 100%0%

4.测试结果分析

系统测试指标达到要求,部分指标超过题目要求:

正弦波输出频率:100Hz~13MHz;

10 ,满足题目要求;

输出信号频率稳定度:优于4

m可在10%~100%自行产生1KHz正弦调制信号;产生AM信号在1~10MHz内,调制度

a

程控,步进10%。

附录一:示波器输出波形截图

AM输出波形

ASK输出波形

PSK输出波形

附录二:单片机程序

#include "spce061a.h"

#include "splc501user.h"

#include "xhfsq.h"

unsigned int datax[4];

unsigned int dataz[4];

unsigned int data1[5];

unsigned int datam[6];

unsigned long int data;

int keyval;

void AD9851();

unsigned long int mplz();

unsigned long int kplz();

void askpsk();

void psk();

void AMchange();

unsigned int key_scan();

void delay(unsigned int count);

void delay1(unsigned int count);

void delay2(unsigned int count);

unsigned int

table[]={encoding_00,encoding_01,encoding_02,encoding_03,encoding_04,encoding_05, encoding_06,encoding_07,encoding_08,encoding_09,encoding_0a,encoding_0b,

encoding_0c,encoding_0d,encoding_0e,encoding_0f,encoding_10,encoding_11,

encoding_12,encoding_13,encoding_14,encoding_15,encoding_16,encoding_17,

encoding_18,encoding_19,encoding_1a};

main()

{

*P_IOB_Dir|=0xffff; //B口(8-15位)作为向AD9851的输出数据端口

*P_IOB_Attrib|=0xffff; //B口B0--RESET,B1--FQ_uD,B2--W_clk *P_IOB_Data|=0x0000; //B口B7产生10KHz的基带信号while(1)

{

keyval=key_scan();

*P_Watchdog_Clear=1;

switch(keyval)

{

case 13:

LCD501_Init(0x00);

LCD501_Bitmap(0,32,(unsigned int *)table[21]);//幅

LCD501_Bitmap(12,32,(unsigned int *)table[22]);//度

LCD501_Bitmap(24,32,(unsigned int *)table[23]);//调

LCD501_Bitmap(36,32,(unsigned int *)table[24]);//制

AMchange();

break;

case 14:

LCD501_Init(0x00);

LCD501_Bitmap(0,32,(unsigned int *)table[10]);//请

LCD501_Bitmap(12,32,(unsigned int *)table[11]);//输

LCD501_Bitmap(24,32,(unsigned int *)table[12]);//入

LCD501_Bitmap(36,32,(unsigned int *)table[26]);//要

LCD501_Bitmap(48,32,(unsigned int *)table[15]);//产

LCD501_Bitmap(60,32,(unsigned int *)table[16]);//生

LCD501_Bitmap(72,32,(unsigned int *)table[13]);//频

LCD501_Bitmap(84,32,(unsigned int *)table[14]);//率

AD9851();

break;

case 15:

LCD501_Init(0x00);

LCD501_Bitmap(0,32,(unsigned int *)table[15]);//产

LCD501_Bitmap(12,32,(unsigned int *)table[16]);//生

LCD501_Bitmap(24,32,(unsigned int *)table[17]);//基

LCD501_Bitmap(36,32,(unsigned int *)table[18]);//带

LCD501_Bitmap(48,32,(unsigned int *)table[19]);//信

LCD501_Bitmap(60,32,(unsigned int *)table[20]);//号

LCD501_Bitmap(12,48,(unsigned int *)table[1]);//1

LCD501_Bitmap(24,48,(unsigned int *)table[0]);//0

LCD501_PutChar(36,48,'K');

LCD501_PutChar(48,48,'H');

LCD501_PutChar(60,48,'z');

askpsk();

break;

default:

break;

}

}

}

void AD9851()

{

int i=5;

double tem;

int keyval;

unsigned long int pk;

int h;

data=1000;

while(1)

{

while(key_scan()==16)

{

*P_Watchdog_Clear=1;

}

loop: *P_IOB_Dir = 0xf0ff;

*P_IOB_Attrib =0xf0ff;

*P_IOB_Data=0;

delay(1);

while(key_scan()==16)

{

*P_Watchdog_Clear=1;

}

keyval=key_scan();

switch(keyval)

{

case 13:

mplz();

break;

case 12:

kplz();

break;

case 10:

if(data<1000000)

{

data=data+100;

datax[0]=data/100000%10;

datax[1]=data/10000%10;

datax[2]=data/1000%10;

datax[3]=data/100%10;

LCD501_Init(0x00);

LCD501_Bitmap(12,24,table[datax[0]]);

LCD501_Bitmap(24,24,table[datax[1]]);

LCD501_Bitmap(36,24,table[datax[2]]);

LCD501_PutChar(48,21,'.');

LCD501_Bitmap(60,24,table[datax[3]]);

LCD501_PutChar(84,24,'K');

LCD501_PutChar(96,24,'H');

LCD501_PutChar(104,24,'z');

}

if(data>=1000000)

{

data=data+100;

datam[0]=data/10000000%10;

datam[1]=data/1000000%10;

datam[2]=data/100000%10;

datam[3]=data/10000%10;

datam[4]=data/1000%10;

datam[5]=data/100%10;

LCD501_Init(0x00);

LCD501_Bitmap(12,24,table[datam[0]]); LCD501_Bitmap(24,24,table[datam[1]]); LCD501_PutChar(36,21,'.');

LCD501_Bitmap(48,24,table[datam[2]]); LCD501_Bitmap(60,24,table[datam[3]]); LCD501_Bitmap(72,24,table[datam[4]]); LCD501_Bitmap(84,24,table[datam[5]]); LCD501_PutChar(84,36,'M');

LCD501_PutChar(96,36,'H');

LCD501_PutChar(104,36,'z');

}

break;

case 11:

if(data<1000000)

{

data=data-100;

datax[0]=data/100000%10;

datax[1]=data/10000%10;

datax[2]=data/1000%10;

datax[3]=data/100%10;

LCD501_Init(0x00);

LCD501_Bitmap(12,24,table[datax[0]]); LCD501_Bitmap(24,24,table[datax[1]]); LCD501_Bitmap(36,24,table[datax[2]]); LCD501_PutChar(48,21,'.');

LCD501_Bitmap(60,24,table[datax[3]]); LCD501_PutChar(84,24,'K');

LCD501_PutChar(96,24,'H');

LCD501_PutChar(104,24,'z');

}

if(data>=1000000)

{

data=data-100;

datam[0]=data/10000000%10;

datam[1]=data/1000000%10;

datam[2]=data/100000%10;

datam[3]=data/10000%10;

datam[4]=data/1000%10;

datam[5]=data/100%10;

LCD501_Init(0x00);

LCD501_Bitmap(12,24,table[datam[0]]);

LCD501_Bitmap(24,24,table[datam[1]]);

LCD501_PutChar(36,21,'.');

LCD501_Bitmap(48,24,table[datam[2]]);

LCD501_Bitmap(60,24,table[datam[3]]);

LCD501_Bitmap(72,24,table[datam[4]]);

LCD501_Bitmap(84,24,table[datam[5]]);

LCD501_PutChar(84,36,'M');

LCD501_PutChar(96,36,'H');

LCD501_PutChar(104,36,'z');

}

break;

default:

break;

}

tem=(4294967296/120000000.0)*data;

if((long int)(tem*10)%10>=5) tem++;

pk=tem;

while(i!=1)

{

h=pk&0x00ff;

pk=pk>>8;

i--;

data1[i]=h;

}

*P_IOB_Data=0x0001;

delay(1);

*P_IOB_Data=0x0000; //RESET置零

i=0;

data1[0]=1;

while(i!=5)

{ *P_IOB_Data=*P_IOB_Data&0x00ff;

*P_IOB_Data=*P_IOB_Data|data1[i]<<8;

delay(1);

*P_IOB_Data |=0x0004;

delay(1);

*P_IOB_Data&=0xfffb;

delay(1);

i++;

*P_Watchdog_Clear=1;

}

*P_IOB_Data=0;

*P_Watchdog_Clear=1;

delay(1);

*P_IOB_Data=0x0002;

delay(100);

*P_IOB_Data=0;

while(key_scan()!=16)

{

*P_Watchdog_Clear=1;

goto loop;

}

}

}

unsigned long int mplz()

{

int sum=0;

int j=12;

int i=0;

LCD501_Init(0x00);

LCD501_PutChar(36,21,'.');

LCD501_PutChar(84,36,'M');

LCD501_PutChar(96,36,'H');

LCD501_PutChar(104,36,'z');

for(i=0;i<=5;i++)

{

while(key_scan()==16)

*P_Watchdog_Clear=1;

keyval=key_scan();

while(keyval>9)

{

delay(1000);

while(key_scan()==16);

keyval=key_scan();

}

dataz[i]=keyval;

if(i==2)

{

sum=sum+j;

}

sum=sum+j;

LCD501_Bitmap(sum,24,table[dataz[i]]);

delay(1000);

}

data=dataz[0]*10000000+dataz[1]*1000000+dataz[2]*100000+dataz[3]*10000+dataz[4]*10 00+dataz[3]*100;

}

unsigned long int kplz()

{

int sum=0;

int j=12;

int i;

LCD501_Init(0x00);

LCD501_PutChar(48,21,'.');

LCD501_PutChar(84,24,'K');

LCD501_PutChar(96,24,'H');

LCD501_PutChar(104,24,'z');

for(i=0;i<=3;i++)

{

while(key_scan()==16)

*P_Watchdog_Clear=1;

keyval=key_scan();

while(keyval>9)

{

delay(1000);

while(key_scan()==16);

keyval=key_scan();

}

dataz[i]=keyval;

if(i==3)

{

sum=sum+j;

}

sum=sum+j;

LCD501_Bitmap(sum,24,table[dataz[i]]);

delay(1000);

}

data=dataz[0]*100000+dataz[1]*10000+dataz[2]*1000+dataz[3]*100;

}

void psk()//产生10KHz的方波

{

*P_IOB_Data|=0x0008;

while(1)

{

*P_IOB_Data=0;

delay2(2);

*P_IOB_Data=0x0080;

delay2(2);

}

}

void askpsk()//产生10KHz的方波

{

*P_IOB_Data&=0xfff7;

while(1)

{

*P_IOB_Data=0;

delay2(2);

*P_IOB_Data=0x0080;

delay2(2);

}

}

void AMchange()

{

unsigned long int

matable[10]={65472,32768,21845,16384,13107,10922,9364,8192,7281,6554};

unsigned long int r1=0x0001;

int i=4;

*P_DAC_Ctrl =r1;

r1=13107;

*P_DAC1=r1;

LCD501_Init(0x00);

LCD501_Bitmap(12,32,(unsigned int *)table[4]);//十位显示

LCD501_Bitmap(24,32,(unsigned int *)table[0]);//个位显示

LCD501_PutChar(60,32,'%');

while(1)

{

delay(100);

while(key_scan()==16)

{

*P_Watchdog_Clear=1;

}

keyval=key_scan();

switch(keyval)

{

case 10:

if(i<10)

{

i++;

*P_DAC1=matable[i-1];

LCD501_Init(0x00);

LCD501_Bitmap(12,32,(unsigned int *)table[i]);//十位显示

LCD501_Bitmap(24,32,(unsigned int *)table[0]);//个位显示

LCD501_PutChar(60,32,'%');

}

if(i==10)

{

LCD501_Init(0x00);

LCD501_Bitmap(0,32,(unsigned int *)table[1]);

LCD501_Bitmap(12,32,(unsigned int *)table[0]);//十位显示

LCD501_Bitmap(24,32,(unsigned int *)table[0]);//个位显示

LCD501_PutChar(60,32,'%');

}

break;

case 11:

if(i>1)

{

i--;

*P_DAC1=matable[i-1];

LCD501_Init(0x00);

LCD501_Bitmap(12,32,(unsigned int *)table[i]);//十位显示

LCD501_Bitmap(24,32,(unsigned int *)table[0]);//个位显示

LCD501_PutChar(60,32,'%');

}

break;

default:

break;

}

}

}

unsigned int key_scan()

{unsigned int row,col=0,tmp1,tmp2,key_val;

tmp1 = 0x0010; //tmp1用来设置P1口的输出,取反后使P1.4~P1.7中有一个为0

for(row=0;row<4;row++) // 行检测

{

*P_IOA_Data = 0x000f; // 先将p1.4~P1.7置高

*P_IOA_Data =~tmp1; // 使P1.4~p1.7中有一个为0

*P_Watchdog_Clear=1;

tmp1=tmp1<<1; // tmp1左移一位

if (( *P_IOA_Data & 0x000f) < 0x000f) // 检测P1.0~P1.3中是否有一位为0,只要有,则说明此行有键按下,进入列检测

{

tmp2 = 0x0001; // tmp2用于检测出哪一列为0

for(col =0;col<4;col++) // 列检测

{

if((*P_IOA_Data & tmp2)==0x0000) // 该列如果为低电平则可以判定为该列

{

key_val = row*4 +col; // 获取键值,识别按键

switch(key_val)

{

case 0:key_val=10;break; // 退出循环

case 1:key_val=3;break;

case 2:key_val=2;break;

case 3:key_val=1;break;

case 4:key_val=11;break;

case 5:key_val=6;break;

case 6:key_val=5;break;

case 7:key_val=4;break;

case 8:key_val=12;break;

case 9:key_val=9;break;

case 10:key_val=8;break;

case 11:key_val=7;break;

case 12:key_val=13;break;

case 13:key_val=14;break;

case 14:key_val=15;break;

case 15:key_val=0;break;

}

return key_val;

}

tmp2=tmp2<<1; // tmp2左移一位

}

}

}

return 16;

}

void delay(unsigned int count)

{

unsigned int i;

while(--count != 0)

{

*P_Watchdog_Clear=1;

for(i = 0; i < 25; i++); // ";" 表示空语句,CPU空转。

} // i 从0加到125,在12M晶体下CPU 大概耗时1毫秒

}

void delay1(unsigned int count)

{

unsigned int i;

while(--count != 0)

{

*P_Watchdog_Clear=1;

for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。

} // i 从0加到125,在12M晶体下CPU 大概耗时1毫秒

}

void delay2(unsigned int count)

{

unsigned int i;

while(--count != 0)

{

*P_Watchdog_Clear=1;

}

}

能产生方波,三角波,正弦波地信号发生器(用741)

模拟电子技术 ——课程设计报告 题目:信号发生器 专业: 班级: 学号: : 日期: 指导老师: 目录(信号发生器) 1 信号发生器的总方案及原理框图 1.1 电路设计原理框图 1.2 电路设计方案设计

2 设计的目的及任务 2.1 课程设计的目的 2.2 课程设计的任务与要求 2.3 课程设计的技术指标 3 各部分电路设计 3.1 正弦波产生电路的工作原理 3.2 正弦波——方波发生电路的工作原理3.3 方波——三角波转换电路的工作原理3.4 电路的参数选择与计算 3.5 总电路图 4 电路的仿真 4.1 正弦波发生电路仿真 4.2 方波——三角波发生电路的仿真 5 电路的安装与调试 5.1 正弦波发生电路的安装与调试 5.2 正弦波——方波的安装与调试 5.3 方波——三角波的安装与调试 5.4 总电路的安装与调试 5.5 电路安装与调试中遇到的问题及分析解决方法 6 电路的实验结果 6.1 正弦波发生电路的实验结果

6.2 正弦波——方波转换电路的实验结果6.3 方波——三角波转换电路的实验结果 6.4 实测电路误差分析及改进方法 7 实验总结 1 信号发生器的总方案及原理框图 1.1 电路设计原理框图 电路设计原理框图如图1所示。 三角波

图1 电路设计原理框图 1.2 电路设计方案设计 1、采用RC串并联网络构成的RC桥式振荡电路产生正弦波。 2、将第一级送出的正弦波经过第二级的滞回电压比较器输出方波。 3、将第二级的方波通过第三级的积分器输出三角波。 4、电路完成。 2 设计的目的及任务 2.1 课程设计的目的 1、学习用集成运放构成正弦波、方波、三角波发生器。 2、学习波形发生器的调整和主要性能指标的测试方法。

正弦信号发生器的设计

XXXX大学现代科技学院DSP硬件电路设计基础课程设计 设计名称正弦信号发生器的设计 专业班级 学号 姓名DENG 指导教师XXXX

课程设计任务书 注: 上交(大张图纸不必装订) 2.可根据实际内容需要续表,但应保持原格式不变。 日期:2014-12-10

专业班级 XXXXXXX 学号 姓名 DENG 成绩 设计题目 正弦波信号发生器 设计目的 学会使用CCS(Code Composer Studio)集成开发环境软件,在此集成开发环境下完成工程项目创建,程序编写,编译,链接,调试以及数据的分析。同时完成一个正弦波信号发生器的程序的编写,并在集成开发环境下进行模拟运行,观察结果。 设计内容 编写一个产生正弦波信号的程序,在CCS 软件下进行模拟运行,观察输出结果。 设计原理 正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次课程设计只要使用泰勒级数展开法来实现正弦波信号。 1. 产生正弦波的算法 在高等数学中,正弦函数和余弦函数可以展开成泰勒级数,其表达式为 若要计算一个角度x 的正弦和余弦值,可取泰勒级数的前5项进行近似计算。 ……………………………………装………………………………………订…………………………………………线………………………………………

由上述两个式子可以推导出递推公式,即 sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x] cos(nx)=2cos(x)sin[(n-1)x]-cos[(n-2)x] 由递推公式可以看出,在计算正弦和余弦值时,不仅需要已知cos(x),而且还需要sin[(n-1)x]、sin[(n-2)x]和cos[(n-2)x]。 2. 正弦波的实现 ⑴计算一个角度的正弦值 利用泰勒级数的展开式,可计算一个角度x的正弦值,并采用子程序的调用方式。在调用前先在数据存储器d_xs单元中存放x的弧度值,计算结果存放在d_sinx单元中。 ⑵计算一个角度的余弦值 利用余弦函数展开的泰勒级数的前五项计算一个角度的余弦值,可采用子程序的调用方式来实现。调用前先将x弧度值放在数据存储器d_xc单元中,计算结果存放在d_cosx单元中。 ⑶正弦波的实现 利用计算一个角度的正弦值和余弦值程序可实现正弦波。其实现步骤如下:第一步:利用sin_start和cos_start 子程序,计算 45°~0°(间隔为 0.5°)的正弦和余弦值; 第二步:利用sin(2x)=2sin(x)cos(x)公式,计算 90°~0°的正弦值(间隔为1°);第三步:通过复制,获得359°~0°的正弦值; 第四步:将359°~0°的正弦值重复从PA口输出,便可得到正弦波。 在实际应用中,正弦波是通过D/A口输出的。选择每个正弦周期中的样点数、改变每个样点之间的延迟,就能够产生不同频率的波形,也可以利用软件改变波形的幅度以及起始相位。 总体方案设计 1. 总体实现方案 我们知道一个角度为x的正弦和余弦函数,都可以展开为泰勒级数,且其前五项可以看为:

方波-三角波-正弦波函数信号发生器

课程设计说明书 课程设计名称:电子课程设计 课程设计题目:设计制作一个产生方波-三角波-正弦波函数转换器学院名称:信息工程学院 专业:电子信息科学与技术班级: xxxxxxxx 学号: xxxxxxx 姓名: xxxxx 评分:教师: xxxxxx 20 13 年 10 月 15 日

电子课程设计 课程设计任务书 20 13 -20 14 学年 第 1 学期 第 1 周- 3 周 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要 当今世界在以电子信息技术为前提下推动了社会跨越式的进步,科学技术的飞速发展日新月异带动了各国生产力的大规模提高。由此可见科技已成为各国竞争的核心,尤其是电子通信方面更显得尤为重要,在国民生产各部门都得到了广泛的应用,而各种仪器在科技的作用性也非常重要,如信号发生器、单片机、集成电路等。 信号发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和 教学实验等领域。常用超低频信号发生器的输出只有几种固定的波形,有方波、 三角波、正弦波、锯齿波等,不能更改信号发生器作为一种常见的应用电子仪器 设备,传统的可以完全由硬件电路搭接而成,如采用LM324振荡电路发生正弦波、 三角波和方波的电路便是可取的路径之一,不用依靠单片机。 本系统本课题将介绍由LM324集成电路组成的方波——三角波——正弦波 函数信号发生器的设计方法,了解多功能函数信号发生器的功能及特点,进一步 掌握波形参数的测试方法,制作这种低频的函数信号发生器成本较低,适合学生 学习电子技术测量使用。制作时只需要个别的外部元件就能产生正弦波、三角波、 方波等脉冲信号。输出波形的频率和占空比还可以由电流或电阻控制。 关键字:信号发生器、波形转换、LM324

正弦信号发生器2

正弦信号发生器[2005年电子大赛一等奖] 文章来源:凌阳科技教育推广中心 作者:华中科技大学(华中科技大学曹震陈国英孟芳宇)发布时间:2006-4-21 17:33:13 本系统基于直接数字频率合成技术;以凌阳SPCE061A单片机为控制核心;采用宽带运放AD811和AGC技术使得50Ω负载上峰值达到6V±1V;由模拟乘法器AD835产生调幅信号;由数控电位器程控调制度;通过单片机改变频率字实现调频信号,最大频偏可控;通过模拟开关产生ASK、PSK信号。系统的频率范围在100Hz~12MHz,稳定度优于10-5,最小步进为10Hz。 一、方案论证 根据题目要求和本系统的设计思想,系统主要包括图1.1所示的模块。 图1.1 系统模块框图

1、单片机选型 方案一:采用现在比较通用的51系列单片机。51系列单片机的发展已经有比较长的时间,应用比较广泛,各种技术都比较成熟,但此系列单片机是8位机,处理速度不是很快,资源不够充足,而且其最小系统的外围电路都要自己设计和制作,使用起来不是很方便,故不采用。 方案二:选用凌阳公司的SPCE061A单片机。SPCE061A单片机是16位的处理器,主频可以达到49MHz,速度很快,再加上其方便的ADC接口,非常适合对高频信号进行数字调频,如果对音频信号进行A/D采样,经过数字调频并发射,完全可以达到调频广播的效果。 结合题目的要求及SPCE061A单片机的特点,本系统选用凌阳公司的此款单片机。 2、频率合成模块 方案一:锁相环频率合成。如图1.2,锁相环主要由压控LC振荡器,环路滤波器,鉴相器,可编程分频器,晶振构成。且频率稳定度与晶振的稳定度相同,达10-5,集成度高,稳定性好;但是锁相环锁定频率较慢,且有稳态相位误差,故不采用。 图1.2 锁相环的基本原理 方案二: 直接数字频率合成。直接数字频率合成DDFS(Direct Digital Frequency Synthesizer)基于Nyquist定理,将模拟信号采集,量化后存入存储器中,通过寻址查表输出波形数据,再经D/A转

EDA课程设计-正弦信号发生器的设计

《EDA技术》设计报告 设计题目正弦信号发生器的设计 院系:信息工程学院 专业:通信工程____ 学号: 姓名:__________

一.设计任务及要求 1.设计任务: 利用实验箱上的D/A 转换器和示波器设计正弦波发生器,可以在示波器上观察到正弦波 2.设计要求: (1) 用VHDL 编写正弦波扫描驱动电路 (2)设计可以产生正弦波信号的电路 (3)连接实验箱上的D/A 转换器和示波器,观察正弦波波形 二.设计方案 (1)设计能存储数据的ROM 模块,将正弦波的正弦信号数据存储在在ROM 中,通过地址发生器读取,将正弦波信号输入八位D/A 转化器,在示波器上观察波形 (2)用VHDL 编写正弦波信号数据,将正弦波信号输入八位D/A 转化器,在示波器上观察波形 三.设计框图 图 1 设计框图 信号发生器主要由以下几个部分构成:计数器用于对数据进行采样,ROM 用于存储待采样的波形幅度数值,TLV5620用于将采集的到正弦波数字量变为模拟量,最后通过示波器进行测量获得的波形。其中,ROM 设置为7根地址线,8个数据位,8位并行输出。TLV5260为串行输入的D/A 转换芯片,因此要把ROM 中并行输出的数据进行并转串。 四.实现步骤 1.定制ROM 计 数 器 7根地址线 8 位 R O M 并转串输出 CLK TLV5620D/A 转换 RST

ROM的数据位选择为8位,数据数选择128个。利用megawizard plug-in manager定制正弦信号数据ROM宏功能块,并将上面的波形数据加载于此ROM中。如图3所示。 图2 ROM存储的数据 图3 调入ROM初始化数据文件并选择在系统读写功能 2.设计顶层

正弦信号发生器(参考2)

正弦信号发生器 作者:曾立丁运鸿陈亮 赛前辅导及文稿整理辅导教师:肖看 摘要 本系统以51单片机及FPGA为控制核心,由正弦信号发生模块、功率放大模块、调幅(AM)、调频(FM)模块、数字键控(ASK,PSK)模块以及测试信号发生模块组成。采用数控的方法控制DDS芯片AD9851产生5Hz-20MHz正弦信号,经滤波、放大和功放模块放大至6v并具有一定的驱动能力。测试信号发生模块产生的1kHz正弦信号经过调幅(AM)模块、调频(FM)模块,对高频载波进行调幅或调频。二进制基带序列信号送入数字键控模块,产生二进制PSK或ASK 信号,同时对ASK信号进行解调,恢复出原始数字序列。另外,本系统还配备有液晶显示屏、遥控键盘,提供了友好的人机交互界面。 ABSTRACT This system is in the core of Micro-Processor and FPGA (Field Programmable Gate Array), consist of sine signal generating module, Power amplifier, Amplitude Modulator, Frequency Modulator, ASK/PSK module and test signal generating module. The AD9851 controlled by Micro-Process in digital way to generate sine signal with the bandwidth 5Hz to 20MHz adjustable per 1Hz. After processing by LPF & power amplifier, the output signal has a peak value of move than 6V. The sine signal at 1 KHz was send to AM and FM module to modulate the high frequency carrier waveform. The binary sequential was send to the relative module to generate ASK and PSK signal. At last demodulate module demodulate the ASK signal and got the same binary sequential as set before. In order to provide a friendly user interface, the LCD and remote infrared control keyboard was introduced in this system.

正弦信号发生器(2012)(DOC)

正弦信号发生器 摘要:本系统以MSP430和DDS为控制核心,由正弦信号发生模块、功率放大模块、频率调制(FM)、幅度调制(AM)模块、数字键控(ASK,PSK)模块以及测试信号发生模块组成。采用数控的方法控制DDS芯片AD9851产生1kHz~10MHz正弦信号;经滤波、放大和功放模块达到正弦信号输出电压幅度 =6V±1V 并具有一定的驱动能力的功能;产生载波信号可设定的AM、FM信号;二进制基带序列码由CPLD产生,在100KHz固定载波频率下进行数字键控,产生ASK,PSK 信号且二进制基带序列码速率固定为10kbps,二进制基带序列信号可自行产生。 关键词:DDS;宽频放大;模拟调频;模拟调幅。 一、方案比较与论证 1.方案论证与选择 (1)正弦信号产生部分 方案一:使用集成函数发生器芯片ICL8038。 ICL8038能输出方波、三角波、正弦波和锯齿波四种不同的波形,将他作为正弦信号发生器。它是电压控制频率的集成芯片,失真度很低。可输入不同的外部电压来实现不同的频率输出。为了达到数控的目的,可用高精度DAC来输出电压以控制正弦波的频率。 方案二:锁相环频率合成器(PLL) 锁相环频率合成器(PLL)是常用的频率合成方法。锁相环由参考信号源、鉴相器、低通滤波器、压控振荡器几个部分组成。通过鉴相器获得输出的信号FO与输入信号Fi的相位差,经低通滤波器转换为相应的控制电压,控制VCO输出的信号频率,只有当输出信号与输入信号的频率于相位完全相等时,锁相环才达到稳定。如果在环路中加上分频系数可程控的分频器,即可获得频率程控的信号。由于输出信号的频率稳定度取决于参考振荡器信号fi ,参考信号fi 由晶振分频得到,晶振的稳定度相当高,因而该方案能获得频率稳定的信号。一般来说PLL的频率输出范围相当大,足以实现1kHz-10MHZ的正弦输出。如果fi=100Hz 只要分频系数足够精细(能够以1步进),频率100Hz步进就可以实现。 方案三:直接数字频率合成(DDS) DDS是一种纯数字化方法。它现将所需正弦波一个周期的离散样点的幅值数字量存入ROM中,然后按一定的地址间隔(相位增量)读出,并经DA转换器形成模拟正弦信号,再经低通滤波器得到质量较好的正弦信号,DDS原理图如图1所示:

正弦波函数信号发生器

电子技术课程设计报告 电子技术课程设计报告——正弦波函数信号发生器的设计 作品40% 报告 20% 答辩 20% 平时 20% 总分 100% 设计题目:班级:班级学号:学生姓名:

目录 一、预备知识 (1) 二、课程设计题目:正弦波函数信号发生器 (2) 三、课程设计目的及基本要求 (2) 四、设计内容提要及说明 (3) 4.1设计内容 (3) 4.2设计说明 (3) 五、原理图及原理 (8) 5.1功能模块电路原理图 (9) 5.2模块工作原理说明 (10) 六、课程设计中涉及的实验仪器和工具 (12) 七、课程设计心得体会 (12) 八、参考文献 (12)

一、预备知识 函数发生器是一种在科研和生产中经常用到的基本波形生产期,现在多功能的信号发生器已经被制作成专用的集成电路,在国内生产的8038单片函数波形发生器,可以产生高精度的正弦波、方波、矩形波、锯齿波等多种信号波,这中产品和国外的lcl8038功能相同。产品的各种信号频率可以通过调节外接电阻和电容的参数进行调节,快速而准确地实现函数信号发生器提供了极大的方便。发生器是可用于测试或检修各种电子仪器设备中的低频放大器的频率特性、增益、通频带,也可用作高频信号发生器的外调制信号源。顾名思义肯定可以产生函数信号源,如一定频率的正弦波,有的可以电压输出也有的可以功率输出。下面我们用简单的例子,来说明函数信号发生器原理。 (a) 信号发生器系统主要由下面几个部分组成:主振级、主振输出调节电位器、电压放大器、输出衰减器、功率放大器、阻抗变换器(输出变压器)和指示电压表。 (b) 工作模式:当输入端输入小信号正弦波时,该信号分两路传输,其一路径回路,完成整流倍压功能,提供工作电源;另一路径电容耦合,进入一个反相器的输入端,完成信号放大功能。该放大信号经后级的门电路处理,变换成方波后经输出。输出端为可调电阻。 (c) 工作流程:首先主振级产生低频正弦振荡信号,信号则需要经过电压放大器放大,放大的倍数必须达到电压输出幅度的要求,最后通过输出衰减器来直接输出信号器实际可以输出的电压,输出电压的大小则可以用主振输出调节电位器来进行具体的调节。 它一般由一片单片机进行管理,主要是为了实现下面的几种功能: (a) 控制函数发生器产生的频率; (b) 控制输出信号的波形; (c) 测量输出的频率或测量外部输入的频率并显示; (d) 测量输出信号的幅度并显示; (e) 控制输出单次脉冲。 查找其他资料知:在正弦波发生器中比较器与积分器组成正反馈闭环电路,方波、三角波同时输出。电位器与要事先调整到设定值,否则电路可能会不起振。只要接线正确,接通电源后便可输出方波、三角波。微调Rp1,使三角波的输出幅度满足设计要求,调节Rp2,则输出频率在对应波段内连续可变。 调整电位器及电阻,可以使传输特性曲线对称。调节电位器使三角波的输出幅度经R输出等于U值,这时输出波形应接近正弦波,调节电位器的大小可改善波形。 因为运放输出级由PNP型与NPN型两种晶体管组成复合互补对称电路,输

信号发生器分析报告

信号发生器报告

————————————————————————————————作者:————————————————————————————————日期:

基于虚拟仪器的信号发生器的设计 【摘要】虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密的融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。 本次设计主要是阐述虚拟信号发生器的前面板和程序框图的设计。设计完的信号发生器的功能包括能够产生正弦波、矩形波、三角波、锯齿波四种信号波形;波形的频率、幅值、相位、偏移量及占空比等参数由前面板控件实时可调。 【关键词】虚拟仪器,信号发生器,LABVIEW 引言 信号发生器作为科学实验必不可少的装置,被广泛地应用到教学、科研等各个领域。高等学校特别是理工科的教学、科研需要大量的仪器设备,例如信号源、示波器等,常用仪器都必须配置多套,但是有些仪器设备价格昂贵,如果按照传统模式新建或者改造实验室投资巨大,造成许多学校仪器设备缺乏或过时陈旧,严重影响教学科研。如果运用虚拟仪器技术构建系统,代替常规仪器、仪表,不但可以满足实验教学的需要、节约大量的经费、降低实验室建设的成本,而且能够提高教学科研的质量与效率。 1.信号发生器的发展 信号发生器是一种悠久的测量仪器,早在20年代电子设备刚出现时它就产生了。随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。由于早期的信号发生器机械结构比较复杂,功率比较大,电路比较简单,因此发展速度比较慢。直到1964年才出现第一台全晶体管的信号发生器。 自60年代以来信号发生器有了迅速的发展,出现了函数发生器,这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形,由于模拟电路的漂移较大,使其输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂。自从70年代微处理器出现以后,利用微处理器、模数转换器和数

信号发生器设计---实验报告

信号发生器设计 一、设计任务 设计一信号发生器,能产生方波、三角波和正弦波并进行仿真。 二、设计要求 基本性能指标:(1)频率范围100Hz~1kHz;(2)输出电压:方波U p-p≤24V,三角波U =6V,正弦波U p-p>1V。 p-p 扩展性能指标:频率范围分段设置10Hz~100Hz, 100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30u s(1kHz,最大输出时)用仪器测量上升时间,三角波r△<2%,正弦波r <5%。(计算参数) ~ 三、设计方案 信号发生器设计方案有多种,图1是先产生方波、三角波,再将三角波转换为正弦波的组成框图。 图1 信号发生器组成框图 主要原理是:由迟滞比较器和积分器构成方波——三角波产生电路,三角波在经过差分放大器变换为正弦波。方波——三角波产生基本电路和差分放大器电路分别如图2和图4所示。 图2所示,是由滞回比较器和积分器首尾相接形成的正反馈闭环系统,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。其工作原理如图3所示。

图2 方波和三角波产生电路 图3 比较器传输特性和波形 利用差分放大器的特点和传输特性,可以将频率较低的三角波变换为正弦波。(差模传输特性)其基本工作原理如图5所示。为了使输出波形更接近正弦波,设计时需注 应接近晶体意:差分放大器的传输特性曲线越对称、线性区越窄越好;三角波的幅值V m 管的截止电压值。 图4 三角波→正弦波变换电路

图5 三角波→正弦波变换关系 在图4中,RP 1调节三角波的幅度,RP 2调整电路的对称性,并联电阻R E2用来减小差分放大器的线性区。C 1、C 2、C 3为隔直电容,C 4为滤波电容,以滤除谐波分量,改善输出波形。取Ic2上面的电流(看输出) 波形发生器的性能指标: ①输出波形种类:基本波形为正弦波、方波和三角波。 ②频率范围:输出信号的频率范围一般分为若干波段,根据需要,可设置n 个波段范围。(n>3) ③输出电压:一般指输出波形的峰-峰值U p-p 。 ④波形特性:表征正弦波和三角波特性的参数是非线性失真系数r ~和r △;表征方波特性的参数是上升时间t r 。 四、电路仿真与分析 实验仿真电路图如图

正弦波信号发生器设计(课设)

课程设计I(论文)说明书 (正弦波信号发生器设计) 2010年1月19日

摘要 正弦波是通过信号发生器,产生正弦信号得到的波形,方波是通过对原信号进行整形得到的波形。 本文主要介绍了基于op07和555芯片的正弦波-方波函数发生器。以op07和555定时器构成正弦波和方波的发生系统。Op07放大器可以用于设计正弦信号,而正弦波可以通过555定时器构成的斯密特触发器整形后产生方波信号。正弦波方波可以通过示波器检验所产生的信号。测量其波形的幅度和频率观察是否达到要求,观察波形是否失真。 关键词:正弦波方波 op07 555定时器

目录 引言 (2) 1 发生器系统设计 (2) 1.1系统设计目标 (2) 1.2 总体设计 (2) 1.3具体参数设计 (4) 2 发生器系统的仿真论证 (4) 3 系统硬件的制作 (4) 4 系统调试 (5) 5 结论 (5) 参考文献 (6) 附录 (7) 1

引言 正弦波和方波是在教学中经常遇到的两种波形。本文简单介绍正弦波和方波产生的一种方式。在这种方式中具体包含信号发生器的设计、系统的论证、硬件的制作,发生器系统的调制。 1、发生器系统的设计 1.1发生器系统的设计目标 设计正弦波和方波发生器,性能指标要求如下: 1)频率范围100Hz-1KHz ; 2)输出电压p p V ->1V ; 3)波形特性:非线性失真~γ<5%。 1.2总体设计 (1)正弦波设计:正弦波振荡电路由基本放大电路、反馈网络、选频网 络组成。

2 图1.1 正弦波振荡电路产生的条件是要满足振幅平衡和相位平衡,即AF=1; φa+φb=±2nπ;A=X。/Xid; F=Xf/X。;正弦波振荡电路必须有基本放大电路, 本设计以op07芯片作为其基本放大电路。 基本放大电路的输出和基本放大电路的负极连接电阻作为反馈网络。反馈网络中 两个反向二极管起到稳压的作用。振荡电路的振荡频率f0是由相位平衡条件决 定的。一个振荡电路只在一个频率下满足相位平衡条件,这要求AF环路中包含 一个具有选频特性的选频网络。f0=1/2πRC。要实现频率可调,在电容C不变的 情况下电阻R可调就可以实现频率f0的变化。 (2)方波设计:方波可以把正弦波通过斯密特触发器整形后产生。基于555定时器接成的斯密特触发器。 设斯密特触发器输出波形为V1,V2且V1>V2。 输入正弦波v1从0逐渐升高的过程:v1<1/3Vcc时,输出v0=V1; 当1/3Vcc2/3Vcc时,v0=V2; 输入正弦波v1从高于2/3Vcc开始下降的过程:当1/3Vcc

方波——三角波——正弦波函数信号发生器

1函数发生器的总方案及原理框图(1) 1.1电路设计原理框图(1) 1.2 电路设计方案设计(1) 2 设计的目的及任务(2) 2.1 课程设计的目的(2) 2.2课程设计的任务与要求(2) 2.3课程设计的技术指标(2) 3 各部分电路设计(3) 3.1方波发生电路的工作原理(3) 3.2方波---三角波转换电路的工作原理(3) 3.3三角波---正弦波转换电路的工作原理,,,,,,,(6) 3.4电路的参数选择及计算(8) 3.5 总电路图(10) 4 电路仿真(11) 4.1方波---三角波发生电路的仿真(11) 4.2三角波---正弦波转换电路的仿真(12) 5 电路的安装与调试(13) 5.1方波---三角波发生电路的安装与调试(13) 5.2三角波---正弦波转换电路的安装与调试,,,,,,,(13) 5.3总电路的安装与调试(13) 5.4电路安装与调试中遇到的问题及分析解决方法,,,,(13) 6 电路的实验结果(14) 6.1方波---三角波发生电路的实验结果(14) 6.2三角波---正弦波转换电路的实验结果(14) 6.3实测电路波形、误差分析及改进方法(15) ,,,,,,,,,,,,,,,,,,,,,,,, (17)7 实验总结 8 仪器仪表明细清单(18) 9 参考文献(19)

1. 函数发生器总方案及原理框图 1.1原理框图 1.2函数发生器的总方案 函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件(如低频信号函数发生器S101全部采用晶体管), 也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波一三角波一正弦波函数发生器的设计方法。 产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整 形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波一方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波一三角波,再将三角波变换成正弦波的电路设计方法, 本课题中函数发生器电路组成框图如下所示: 由比较器和积分器组成方波一三角波产生电路,比较器输出的方波经积分器 得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形 变换的原理是利用差分放大器传输特性曲线的非线性。

实验1 示波器函数信号发生器的原理及使用(实验报告之实验数据表)

实验1 示波器、函数信号发生器的原理及使用 【实验目的】 1. 了解示波器、函数信号发生器的工作原理。 2. 学习调节函数信号发生器产生波形及正确设置参数的方法。 3. 学习用示波器观察测量信号波形的电压参数和时间参数。 4. 通过李萨如图形学习用示波器观察两个信号之间的关系。 【实验仪器】 1. 示波器DS5042型,1台。 2. 函数信号发生器DG1022型,1台。 3. 电缆线(BNC 型插头),2条。 【实验内容与步骤】 1. 利用示波器观测信号的电压和频率 (1)参照“实验1 示波器函数信号发生器的原理及使用(实验指导书)”相关内容,产生如图1-1所示的正余弦波形,显示在示波屏上。 图1-1 函数信号发生器生成的正、余弦信号的波形 学生姓名/学号 指导教师 上课时间 第 周 节

(2)用示波器对图1-1中所示的正余弦波形进行测量并填写下表 表1-1 正余弦信号的电压和时间参数的测量 电压参数(V)时间参数 峰峰值最大值最小值频率(Hz)周期(ms)正弦信号 3sin(200πt) 余弦信号 3cos(200πt) 2. 用示波器观测函数信号发生器产生的正余弦信号的李萨如图形 (1)参照“实验1 示波器函数信号发生器的原理及使用(实验指导书)”相关内容,产生如图1-2所示的正余弦波形的李萨如图形,调节并正确显示在示波屏上。 图1-2 正弦信号3sin(200πt)和余弦信号3cos(200πt)的李萨如图形 3. 观测相同幅值、相同频率、不同相位差条件下的两正弦信号的李萨如图形 (1)在函数信号发生器CH1通道产生的正弦信号3sin(200πt)保持不变的情况下,调节函数信号发生器CH2通道产生正弦信号3sin(200πt+45o),观测并记录两正弦信号的李萨如图形于图1-3中。 (2)在函数信号发生器CH1通道产生的正弦信号3sin(200πt)保持不变的情况下,调节函数信号发生器CH2通道产生正弦信号3sin(200πt+135o),观测并记录两正弦信号的李萨如图形于图1-3中。

函数信号发生器与示波器的使用实验报告书

函数信号发生器与示波器的使用实验报告书 专业:班级:学号: 姓名:实验时间: 实验目的 1、学会数字合成函数信号发生器常用功能的设置、使用; 2、会从函数信号发生器胡频率计上读出信号频率; 3、在了解数字双踪示波器显示波形的工作原理基础上,观察 并测量以下信号:(见下表)学会数字示波器的基本操作与 读书; 实验仪器 F40函数信号发生器、UTD2102CE数字示波器、探头。 实验原理 1、函数信号发生器的原理

该仪器采用直接数字合成技术,可以输出函数信号、调频、调幅、FSK、PSK、猝发、频率扫描等信号,还具有测频、计数、任意波形发生器功能。 2、示波器显示波形原理 如果在示波器CH1或CH2端口加上正弦波,在示波器的X 偏转板加上示波器内部的锯齿波,当锯齿波电压的变化周期与 正弦波电压相等时,则显示完整的周期的正弦波形,若在示波 器CH1和YCH2同时加上正弦波,在示波器的X偏转板上加上 示波器的锯齿波,则在荧光屏上将的到两个正弦波。 实验内容 1、做好准备工作,连接实验仪器电路,设置好函数信号发生 器、示波器; (1)、把函数信号发生器的“函数输出”输出端与示波器的 X CH1信号输入端连接,两台仪器的接通220V交流电源。 (2)、启动函数信号发生器,开机后仪器不需要设置,短暂 时间后,即输出10K Hz的正弦波形。 (3)、需要信号源的其他信号,到时在进行相关的数据设定 (如正弦波2的波形、频率、点频输出、信号幅度)等。 2、用示波器观察上表中序号1的信号波形(10KHz);过程如下: (1)、打开示波器的电源开关,将数字存储示波器探头连接到CH1输入端,按下“AUTO”按键,示波器将自动设置垂直偏转系数、扫描时基以及触发方式;按下CH1按键。

函数信号发生器使用说明(超级详细)

1-1 SG1651A函数信号发生器使用说明 一、概述 本仪器是一台具有高度稳定性、多功能等特点的函数信号发生器。能直接产生正弦波、三角波、方波、斜波、脉冲波,波形对称可调并具有反向输出,直流电平可连续调节。TTL可与主信号做同步输出。还具有VCF输入控制功能。频率计可做内部频率显示,也可外测1Hz~的信号频率,电压用LED显示。 二、使用说明 面板标志说明及功能见表1和图1 图1 序 号 面板标志名称作用1电源电源开关按下开关,电源接通,电源指示灯亮 2 波形波形选择1、输出波形选择 2、与1 3、19配合使用可得到正负相锯齿波和脉冲波 3频率频率选择开关频率选择开关与“9”配合选择工作频率外测频率时选择闸门时间 4Hz频率单位指示频率单位,灯亮有效 5K Hz频率单位指示频率单位,灯亮有效 6闸门闸门显示此灯闪烁,说明频率计正在工作 7溢出频率溢出显示当频率超过5个LED所显示范围时灯亮 8频率LED 所有内部产生频率或外测时的频率均由此5个LED显示 9频率调节频率调节与“3”配合选择工作频率 10直流/拉出直流偏置调节输 出 拉出此旋钮可设定任何波形的直流工作点,顺时 针方向为正,逆时针方向为负

DC1641数字函数信号发生器使用说明 一、概述 DC1641使用LCD显示、微处理器(CPU)控制的函数信号发生器,是一种小型的、由集成电路、单片机与半导体管构成的便携式通用函数信号发生器,其函数信号有正弦波、三角波、方波、锯齿波、脉冲五种不同的波形。信号频率可调范围从~2MHz,分七个档级,频率段、频率值、波形选择均由LCD显示。信号的最大幅度可达20Vp-p。脉冲的占空比系数由10%~90%连续可调,五种信号均可加±10V的直流偏置电压。并具有TTL电平的同步信号输出,脉冲信号反向及输出幅度衰减等多种功能。除此以外,能外接计数输入,作频率计数器使用,其频率范围从10Hz~10MHz(50、100MHz[根据用户需要])。计数频率等功能信息均由LCD 显示,发光二极管指示计数闸门、占空比、直流偏置、电源。读数直观、方便、准确。 二、技术要求 函数发生器 产生正弦波、三角波、方波、锯齿波和脉冲波。 2.1.1函数信号频率范围和精度 a、频率范围 由~2MHz分七个频率档级LCD显示,各档级之间有很宽的覆盖度, 如下所示: 频率档级频率范围(Hz) 1 ~2 10 1~20 100 10~200 1K 100~2K 10K 1K ~20K 100K 10K ~200K

函数信号发生器设计报告

目录 1设计的目的及任务 1.1 课程设计的目的 1.2 课程设计的任务与要求 2函数信号发生器的总方案及原理图 2.1 电路设计原理框图 2.2 电路设计方案设计 3 各部分电路设计及选择 3.1 方波发生电路的工作原理 3.2 方波、三角波发生电路的选择 3.3三角波---正弦波转换电路的选择 3.4总电路图 4 电路仿真与调试 4.1 方波---三角波发生电路、三角波---正弦波转换电路的仿真与调试 4.2方波---三角波发生电路、三角波---正弦波转换电路的实验结果 5 PCB制版

6 设计总结 7仪器仪表明细清单 8 参考文献 1.课程设计的目的和设计的任务 1.1 设计目的 1.掌握用集成运算放大器构成正弦波、方波和三角波函数发生器的设计方法。 2.学会安装、调试与仿真由分立器件、调试与仿真由分立器件与集成电路组成的多级电子电路小系统。 2.2设计任务与要求: 设计一台波形信号发生器,具体要求如下: 1.输出波形:方波、三角波、正弦波。

2.频率范围:在1 Hz-10Hz,10 Hz -100 Hz,100 Hz -1000 Hz 等三个波段。 3.频率控制方式:通过改变RC时间常数手控信号频率。 4.输出电压:方波UP-P≤24V,三角波UP-P=8V,正弦波UP-P>1V。 5.合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图。 6.选用常用的电器元件(说明电器元件选择过程和依据)。 7.画出设计的原理电路图,作出电路的仿真。 8.提交课程设计报告书一份,A3图纸两张,完成相应答辩。 2.函数发生器总方案及原理框图

正弦信号发生器设计

正弦信号发生器设计方案 1 引言 为了精确地输出正弦波、调幅波、调频波、PSK及ASK等信号,并依据直接数字频率合成(Direct Digital FrequencySvnthesizer,简称DDFS)技术及各种调制信号相关原理,设计了一种采用新型DDS器件产生正弦波信号和各种调制信号的设计方法。采用该方法设计的正弦信号发生器已广泛用于工程领域,且具有系统结构简单,界面友好等特点。 2 系统总体设计方案 图1给出系统总体设计方框图,它由单片机、现场可编程门阵列(FPGA)及其外围的模拟部分组成。在FPGA的内部数字部分中,利用FPGA内部的总线控制模块实现与键盘扫描、液晶控制等人机交互模块的通信,并在单片机与系统工作总控制模块之间的交互通信中起桥梁作用。系统工作总控制可统一控制各个时序模块;各时序模块用于完成相应的控制功能。在模拟部分中,利用无源低通滤波器及放大电路,使AD9851型DDS模块的输出信号成为正弦波和FM调制信号;再利用调幅电路,使FPGA内部DDS模块产生的信号与AD9851输出的载波信号变为调幅信号,同时在基带码控制下通过PSK/ASK调制电路得到PsK和ASK信号。最后,各路信号选择通道后,经功率放大电路驱动50Ω负载。 3 理论分析与计算 3.1 调幅信号 调幅信号表达式为:

式中:ω0t,ωt分别为调制信号和载波信号的角频率;MA为调制度。 令V(O)=Vocos(ω0t),V(ω)=MAcos(ωt),则V(t)=V(O)+V(O)V(ω)。故调幅信号可通过乘法器和加法器得到;通过改变调制信号V(ω)的幅值改变MA,V(ω)的范围为0.1~l V,MA对应为10%~100%。 3.2 调频信号 采用DDS调频法产生调频信号,具体实现方法:通过相位累加器和波形存储器在FPGA内部构成一个DDS模块,用于产生1 kHz的调制信号。其中,波形存储器的数据即为调制信号的幅度值。将这些表示幅度值的数据直接与中心频率对应的控制字相加,即可得到调频信号的瞬时频率控制字,再按调制信号的频率切换这些频率控制字,即可得到与DDS模块输出相对应的调频信号。 3.3 PSK和ASK信号 ASK信号是振幅键控信号,可用一个多路复用器实现。当控制信号为1时,选择载波信号输出;当控制信号为0时,不选择载波信号输出;当控制信号由速率为10 Kb/s的数字脉冲序列给出时,可以产生ASK信号。PSK信号是移相键控信号,这里只产生二相移相键控,即BPSK信号。它的实现方法与ASK基本相同,只是在控制信号为0时,选择与原载波信号倒相的输出信号,该倒相信号可由增益倍数为l的反相放大电路实现。 4 主要功能电路设计 图2给出调幅电路。它采用ADI公司的乘法器AD835实现。该器件内部自带加法器,可直接构成调幅电路。图3给出PSK/ASK电路。它主要由多路复用器和移相器构成。其中,移相器采用Maxim公司的高速运算放大器MAX477所构成的反相放大电路实现,多路复用器采用ADI公司的AD7502。当两条通道选择控制线A1AO为ll时,输出原信号;当A1A0为00时,输出原信号的反相信号;当A1A0为01时,无信号输出。这样只要FPGA按固定速率通过Al和AO两条控制线给出基带序列信号,就能相应输出PSK和ASK信号。

方波、三角波、正弦波函数信号发生器

内蒙古工业大学信息工程学院 内蒙古工业大学信息工程学院 课程学习报告 设计题目:如何实现正弦波、方波与三角波信号之间的变换 课程名称:模拟电子技术 班级: 姓名: 学号: 成绩: 指导教师:

目录 1 函数发生器的总方案及原理框图 (1) 1.1 电路设计原理框图 (1) 1.2 电路设计方案设计 (1) 2设计的目的及任务 (2) 2.1 课程设计的目的 (2) 2.2 课程设计的任务与要求 (2) 2.3 课程设计的技术指标 (2) 3 各部分电路设计 (3) 3.1 方波发生电路的工作原理 (3) 3.2 方波---三角波转换电路的工作原理 (3) 3.3 三角波---正弦波转换电路的工作原理 (6) 3.4电路的参数选择及计算 (8) 3.5 总电路图 (10) 4 电路仿真 (11) 4.1 方波---三角波发生电路的仿真 (11) 4.2 三角波---正弦波转换电路的仿真 (12) 5电路的安装与调试 (13) 5.1 方波---三角波发生电路的安装与调试 (13) 5.2 三角波---正弦波转换电路的安装与调试 (13) 5.3 总电路的安装与调试 (13) 5.4 电路安装与调试中遇到的问题及分析解决方法 (13) 6电路的实验结果 (14) 6.1 方波---三角波发生电路的实验结果 (14) 6.2 三角波---正弦波转换电路的实验结果 (14) 6.3 实测电路波形、误差分析及改进方法 (15) 7 实验总结 (17) 8 仪器仪表明细清单 (18) 9 参考文献 (19)

1.函数发生器总方案及原理框图 1.1 原理框图 1.2 函数发生器的总方案 函数发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电路或仪器。根据用途不同,有产生三种或多种波形的函数发生器,使用的器件可以是分立器件(如低频信号函数发生器S101全部采用晶体管),也可以采用集成电路(如单片函数发生器模块8038)。为进一步掌握电路的基本理论及实验调试技术,本课题采用由集成运算放大器与晶体管差分放大器共同组成的方波—三角波—正弦波函数发生器的设计方法。 产生正弦波、方波、三角波的方案有多种,如首先产生正弦波,然后通过整形电路将正弦波变换成方波,再由积分电路将方波变成三角波;也可以首先产生三角波—方波,再将三角波变成正弦波或将方波变成正弦波等等。本课题采用先产生方波—三角波,再将三角波变换成正弦波的电路设计方法, 本课题中函数发生器电路组成框图如下所示: 由比较器和积分器组成方波—三角波产生电路,比较器输出的方波经积分器得到三角波,三角波到正弦波的变换电路主要由差分放大器来完成。差分放大器具有工作点稳定,输入阻抗高,抗干扰能力较强等优点。特别是作为直流放大器时,可以有效地抑制零点漂移,因此可将频率很低的三角波变换成正弦波。波形变换的原理是利用差分放大器传输特性曲线的非线性。

相关主题
文本预览
相关文档 最新文档