49课件四十九基于DDS的多功能正弦信号发生器.docx

上传人:b****1 文档编号:23165936 上传时间:2023-05-15 格式:DOCX 页数:25 大小:110.70KB
下载 相关 举报
49课件四十九基于DDS的多功能正弦信号发生器.docx_第1页
第1页 / 共25页
49课件四十九基于DDS的多功能正弦信号发生器.docx_第2页
第2页 / 共25页
49课件四十九基于DDS的多功能正弦信号发生器.docx_第3页
第3页 / 共25页
49课件四十九基于DDS的多功能正弦信号发生器.docx_第4页
第4页 / 共25页
49课件四十九基于DDS的多功能正弦信号发生器.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

49课件四十九基于DDS的多功能正弦信号发生器.docx

《49课件四十九基于DDS的多功能正弦信号发生器.docx》由会员分享,可在线阅读,更多相关《49课件四十九基于DDS的多功能正弦信号发生器.docx(25页珍藏版)》请在冰豆网上搜索。

49课件四十九基于DDS的多功能正弦信号发生器.docx

49课件四十九基于DDS的多功能正弦信号发生器

基于DDS的多功能正弦信号发生器的设计

李永亮,叶根,吴旭科

摘要:

本设计基于DDS直接数字频率合成技术。

采用DDS集成芯片AD9850作为正弦信号发生模块,单片机AT89S52作为主控器件,。

单片机系统采用分页技术,所有外围设备均挂在AT89S52的总线上,并分配不同的地址。

由于DDS技术产生的正弦波具有稳定度高,输出频率范围宽,频率分辨率高等优点,本信号发生器产生的正弦波稳定度优于10e-4;输出频率范围可以从10Hz到62.5MHz;频率步进可以达到0.0291Hz。

同时以AD9850产生的稳定的正弦信号作为本振,产生调幅、PSK、FSK信号。

系统用8位数码管作为显示设备、16键键盘作为输入设备进行友好的人机交互。

关键词:

DDS,正弦信号发生器,信号调制

1.系统设计

1.1设计要求

一、任务

设计制作一个正弦信号发生器。

二、要求

1、基本要求

(1)正弦波输出频率范围:

1kHz~10MHz;

(2)具有频率设置功能,频率步进:

100Hz;

(3)输出信号频率稳定度:

优于10-4;

(4)输出电压幅度:

负载电阻上的电压峰-峰值Vopp≥1V;

(5)失真度:

用示波器观察时无明显失真。

(6)产生二进制PSK、FSK信号:

在100kHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;

1.2总体设计方案

1.2.1设计思路

采用DDS技术,可以使得系统性能远远优于题目的要求。

DDS即DirectDigitalFrequencySynthesis,直接频率合成。

DDS的基本原理是利用采样定理,通过查表法产生波形,其电路原理图如下所示:

相位累加器由N位加法器与N位累加寄存器级联构成。

每来一个时钟脉冲FCLK,N位全加器将控制字X与累加寄存器输出的累加相位数据相加,把相加后的结果送到N位全加器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。

这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位加累加。

由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的输出频率就是DDS输出的信号频率。

用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。

这样就可把存储在波形存储器内的波形抽样值(二进制编码)查找出来,完成相位到幅值转换。

波形存储器的输出送到D/A转换器,D/A转换器将数字形式的波形幅值转换成所要求合成频率的模拟信号。

低通滤波器用于滤除不需要的谐波分量,以使输出频谱为纯净的正弦波信号。

本设计在DDS的基础上,利用89S52做主控,采用分页技术以带更多的外围设备。

用运放作1KHZ正弦信号发生器,用LM567作5K方波发生器模拟10Kbps二进制基带序列信号。

利用调幅芯片MC1496实现调幅,通过程序控制DDS实现PSK、ASK、FSK。

1.2.2方案论证与比较

1.DDS设计方案论证与选择

方案一:

利用频率合成器。

这种方案可实现程控,但步进和输出频率范围都不可能满足题目的要求,不可行。

方案二:

利用FPGA模拟。

这种方案硬件简单。

但控制较为复杂。

方案三:

利用DDS集成芯片AD7008。

AD7008内部集成了调频、调幅、调相模块,功能强大,单片就可以实现所有的要求。

但价格昂贵且难以买到。

方案四:

利用DDS集成芯片AD9850。

AD9850功能对比AD7008差,调频、调幅需外接电路。

但价格可以承受,且实际中买到。

根据设计的要求以及我们的条件,我们选择方案四,采用DDS单片电路AD9850。

AD9850是一个运用先进的DDS技术,并结合集成在一片芯片内的高速、高性能的D/A转换电路和比较器构成一个完全数控的可编程频率合成器。

当有一个精确的时钟源作为参考频率源时,AD9850能产生一个频谱很纯的,频率或相位可编程的模拟正弦波输出。

对于125MHz参考时钟,AD9850能产生一个32位频率调整控制字,达到0.0291Hz的输出频率分辨率。

AD9850的电路结构允许产生频率值是参考时钟的一半即62.5MHz的输出,并且输出的频率能用数控的方式以每秒产生个新频率的速度变化。

AD9850还提供了5个bit的数控相位调制。

它能使输出相位以1800,900,450,22.50,11.250或是它们的任意组合的增量改变。

频率,控制和相位调制字可以以并行或串行的方式送入AD9850。

AD9850采用了先进的COMS技术,所以在+3.3V和+5V电源供电的情况下都能够正常工作。

2.输入模块的设计方案论证与选择

方案一:

利用4x4行列键盘。

这种方案硬件连接简单,为主流方案。

但需占用单片机的一个端口,资源浪费。

方案二:

利用16-4线编码。

这种方案硬件连接稍微复杂,但只用4个单片机引脚,且编程简单。

故选择方案二,利用16-4线编码键盘。

3.输出模块的设计方案论证与选择

方案一:

利用液晶显示。

这种方案美观舒适,耗电小。

但控制较为复杂。

方案二:

利用动态扫描数码管。

这种方案硬件连接梢复杂,较耗电,但控制简单。

考虑在较短时间内实现设计,故利用动态扫描数码管。

4.增加输出电压幅度的后级放大设计方案论证与选择

利用宽带运放对输出信号进行放大,以增强负载能力。

这里选用低噪宽带运放NE5534,在增益为1时带宽为10M。

5.1KHZ正弦信号,10Kbps二进制基带序列信号的产生

1KHZ正弦信号利用一个T型RC振荡器产生。

频率有一个窄的可调范围,包含1KHZ正弦信号,峰峰值可达10V。

10Kbps二进制基带序列信号用LM567搭建的频率可调方波产生电路模拟。

方波频率调到5KHZ(模拟10Kbps二进制基带序列信号的0101……序列)。

6.PSK、ASK、FSK信号的产生

FSK:

利用单片机定时中断接收10Kbps码,根据码值选择送入DDS频率控制字数据的大小,从而改变输出频率以进行频移键控。

PSK:

利用单片机定时中断接收10Kbps码,根据码值选择送入DDS相位控制字数据的大小,从而改变输出相位以进行相移键控。

ASK:

利用单片机定时中断接收10Kbps码,根据码值选择送入挂在51数据总线上的DAC的数据,改变模拟输出值,该值送入模拟调幅模块实现幅移键控。

7.电源方案的选择

系统需要5V,-5V,12V,-12V,-8V稳压源。

方案一:

采用升压型稳压电路。

用MC34063芯片将3V转换为所需的电压。

这种方案只需两节电池,但供电电流小,时间短,本系统较庞大,无法稳定工作。

方案二:

采用三端稳压芯片7805,7908,7905。

该方法稳定,简单。

整个系统只需12V,-12V输入。

综上所述,选择方案二。

1.2.3系统组成

经方案比较与论证,最终确定的系统方框图如图1所示。

图1

2.单元电路设计

2.1AD9850外围电路设计与实现

AD9850电路框图:

正弦波信号可以用这样的函数来表示:

 y =sin(tω),这是一个非线性函数。

要直接合成一个正弦波信号,首先应将函数y=sin(x)进行数字量化,然后以x为地址,以y为量化数据,依次存入波形存储器。

AD9850使用了相位累加技术来控制波形存储器的地址,在每一个基准时钟周期中,都把一个相位增量加到相位累加器的当前结果上。

相位累加器的输出即为波形存储器的地址,通过改变相位增量即可以改变输出频率值,所以基准时钟频率的稳定度也就是输出频率的稳定度。

根据相位累加器输出的地址,由波形存储器取出波形量化数据,经过数模转换器转换成模拟电流,再经过运算放大器转换成模拟电压。

由于波形数据是间断的取样值,所以AD9850输出的是一个阶梯正弦波形,必须经过低通滤波器将波形中所含的高次谐波滤除掉,输出才是连续的正弦波。

AD9850外围电路的设计如图2所示。

原理图参考了其Datasheet。

这一部分是系统的核心,这块板的成功与否直接决定了最终能否成功。

AD9850时钟输入为125M的有源晶振,对模拟电路部分的干扰很大,所以在布线时要特别讲究。

布线原则为:

1.板子尽量大

2.高频回路线尽量短

3.正反面的模拟地均大面积铺地,正反面的模拟地之间充分接触

4.模拟地与数字地分开,单点接触

5.线路清晰,尽量按原理图画法布

6.有源晶振与DDS芯片尽量靠近,有源晶振的地为数字地

由于打印,转印,腐蚀板子时非常仔细,所以做出的板子很理想,地网的网格、ssop的贴片这些关键的地方腐蚀的很好,为后面工作的顺利进行打下了基础。

图2

图3

以下为一些参数的计算:

最大输出频率为:

125M/2=62.5MHZ

但因实际的低通filter不可能理想,所以实际最大输出约为:

125M/3=41M

以上数值完全超过设计要求。

因为AD9850有32位频率字和5位相位字,所以频率分辨率可达:

125M/2^32=0.0291HZ

完全超过设计所要求的步进100HZ。

输出电流满量程为:

IOUT=32(1.248V/RSET).

电路中将RSET定为2K,所以输出电流满量程为20mA。

后级无源低通虑波器的设计参照datasheet设计,经pspice仿真其幅频特性如图4所示:

图4

其截止频率约为42MHZ。

实际中得到了很好的效果。

2.2AT89S52最小系统板的设计

AT89S52最小系统板如图5所示。

此系统板的特色就是通用性强,将单片机所有引脚均引出供外围电路连接,并有在线烧写功能。

因为好多设备要挂在总线上,所以另做了一块信号转接板。

图5

2.3键盘,数码管电路的设计

键盘电路的设计如图6所示。

键盘板用一些逻辑门设计了cs,int,rd等功能,通用性强,16键只需四根数据线。

图6

数码管电路的设计如图7所示。

是一个8位数码显示,采用动态扫描的控制方法,位码和段码先后送入锁存显示。

图7

以上模块均挂在数据总线上。

2.31KHZ正弦信号和10Kbps二进制基带序列信号的产生电路

其中Fo=1/2*pi*RC,调节其中的电位器可调节输出频率,将其调到1KHZ。

输出接到调幅电路的信号输入端。

方波用LM567实现,具体电路如下。

输出方波的频率Fo由R1和C1决定:

Fo=1/(1.1*R1*C1)

3.软件设计

以下是程序流程图:

4.系统测试

1.DDS输出接示波器,通过键盘操作可以看到输出,步进可调的波形。

2.信号频率稳定度测试方法:

由于使用了125M有源晶振,频率稳定度完全达到设计的要求。

3.输出电压幅度:

当不接负载时,输出波Upp在2MHZ以内超过2V,10M时输出波Upp为1.5V。

接50负载时,Upp衰减较大,但低频时仍在1V左右。

但频率较高时,输出波Upp发生了严重失真。

究其原因,是放大器的性能不够好,带宽增益乘积不足所致。

4.示波器观察无明显失真

测试仪器:

20M双通道示波器、信号源、毫伏表

5.结束语

正弦信号发生器可实现的功能如下:

1、正弦波输出频率范围:

100HZ---30MHZ

2、频率可设置,步进有100、1K、10K、100K、1M,共5档。

3、频率稳定度优于10^-4。

4、输出波形无明显失真。

5、能自行产生1KHZ正弦波作为调幅的基波,产生调幅波和ASK信号。

6、能自行产生10Kbps二进制基带序列信号作为SK的基波,并成功产生了PSK、FSK信号。

7、由于DDS后级放大器不够强的缺陷,导致调幅,调制度,ASK的调试受影响,此模块完成的不太好。

8、二进制键控PSK,FSK可以很好的完成。

综上,本设计基本部分得到很好的实现,发挥部分的PSK、FSK也得到很好的实现,调幅和ASK可实现,但没有完全达到要求。

调频由于时间关系,没有实现。

附录1:

主要元器件清单

AD9850

DAC0832

MC1496

各种电阻、电容、电感

AT89S52

附录2:

主要程序段

main:

WR_DDS:

;5EH--62H´æ´¢DDSµÄ¿ØÖÆ×Ö

MOVSTOR_R0,R0;

MOVSTOR_R1,R1;

MOVR0,#05H;

MOVR1,#61H;DDS¿ØÖÆ×ÖÊ×µØÖ·£»

MOVDPTR,#DDS;

DD:

MOVA,@R1;

MOVX@DPTR,A;

CLRC

MOVA,R1;

SUBBA,#1;

MOVR1,A;

;INCR1

DJNZR0,DD;

MOVXA,@DPTR;²úÉúFQ-UDÐźţ»

MOVR0,STOR_R0;

MOVR1,STOR_R1;

RET

;-----------------------------------------------------------------

SINE:

;;;;»¹ÐèÒªSETλ¹¦ÄܺÍÏÔʾ¹¦ÄÜÒÔ¼°ÉèÖÃƵÂʹ¦ÄÜ,¼üÅÌÈ¥¶¶

ACALLWR_DDS;

S_L:

ACALLTIMSHOW;

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

MOVKEYCODE,A;

MOVA,#06H;

S_K_L:

CJNEA,KEYCODE,S_DOWN;

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#0FH,S_K_L;µÈ´ýÉÏÉýÑØ

S_UP:

MOVKEYCODE,#0FH;

MOVR1,#5DH;W0;;;;;;;;;;;;;;;;;PRESS06H;

MOVR0,#59H;DW0

MOVR2,#04H;

CLRC;

S_U_L:

MOVC,STOR_C;

MOVA,@R1;

ADDCA,@R0;

MOVSTOR_C,C;

MOV@R1,A;

CLRC;

INCR1;

INCR0;

CLRC;

DJNZR2,S_U_L;

MOVR1,#56H;SHOW_W0

MOVR0,#50H;SHW_DW0

MOVR2,#03H;

CLRC;

SS_U_L:

MOVC,STOR_C;

MOVA,@R1;

ADDCA,@R0;

DAA;

MOVSTOR_C,C;

MOV@R1,A;

CLRC;

DECR1;

INCR0;

CLRC;

DJNZR2,SS_U_L;

ACALLWR_DDS;ƵÂʼӲ½½øÁ¿

AJMPS_L

S_DOWN:

MOVA,#07H;

S_K_L1:

CJNEA,KEYCODE,S_STEP_UP;

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#0FH,S_K_L1;µÈ´ýÉÏÉýÑØ

MOVKEYCODE,#0FH;

MOVR1,#5DH;;;;;;;;;;;;;;;;;PRESS07H;

MOVR0,#59H

MOVR2,#04H;

CLRC;

S_D_L:

MOVC,STOR_C

MOVA,@R1;

SUBBA,@R0;

MOV@R1,A;

MOVSTOR_C,C;

CLRC;

INCR1;

INCR0;

CLRC;

DJNZR2,S_D_L;

MOVR1,#56H;SHOW_W0

MOVR0,#50H;SHW_DW0

MOVR2,#03H;

CLRC;

SS_D_L:

MOVC,STOR_C;

;MOVA,@R1;

MOVA,@R0;

CJNEA,#00H,SS_1

MOVA,@R1;

ADDCA,#00H;

DAA;

MOV@R1,A;

AJMPSS_ND;

SS_1:

MOVA,@R0;

CJNEA,#01H,SS_2

MOVA,@R1;

ADDCA,#99H;

DAA;

MOV@R1,A;

AJMPSS_ND;

SS_2:

MOVA,@R0;

CJNEA,#10H,SS_ND

MOVA,@R1;

ADDCA,#90H;

DAA;

MOV@R1,A;

SS_ND:

MOVSTOR_C,C;

CLRC;

DECR1;

INCR0;

CLRC;

DJNZR2,SS_D_L;

ACALLWR_DDS;ƵÂʼõ²½½øÁ¿

AJMPS_L

S_STEP_UP:

MOVA,#08H;

S_K_L2:

CJNEA,KEYCODE,S_STEP_DOWN;

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#0FH,S_K_L2;µÈ´ýÉÏÉýÑØ

MOVKEYCODE,#0FH;

CLRC;

INCSINESTEP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PRESS08H;

MOVA,#05H;

CJNEA,SINESTEP,S_K_NXT;

MOVSINESTEP,#04H;

S_K_NXT:

ACALLST_SCH;

ACALLS_ST_SCH;

AJMPS_L;

S_STEP_DOWN:

MOVA,#09H;

S_K_L3:

CJNEA,KEYCODE,S_ESC;

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#0FH,S_K_L3;µÈ´ýÉÏÉýÑØ

MOVKEYCODE,#0FH;

CLRC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PRESS09H;

MOVA,SINESTEP;

SUBBA,#01H;

MOVSINESTEP,A;

JNCS_K_NXT2;

MOVSINESTEP,#00H;

S_K_NXT2:

ACALLST_SCH;

ACALLS_ST_SCH;

S_K_ND:

AJMPS_L;

S_ESC:

MOVA,#0AH;

CJNEA,KEYCODE,S_K_ND;

MOVSHOW_MODE,#0H;

RET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PRESS0AH;

;-----------------------------------------------------------------------------

AM:

;µ÷ÖƶȷÖΪ10µµ10%---100%

;Ðè¼üÅÌÈ¥¶¶

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#06H,AM_DOWN;

AM_UP:

INCAM_DEG;µ÷ÖƶȼÓ1;;;;;;;;;;;;;;;;;PRESS06H;

MOVA,#0AH;;

CJNEA,AM_DEG,AM_NXT;

MOVAM_DEG,#09H;AM_DEG²»Äܳ¬¹ý9

AM_NXT:

MOVA,AM_DEG;

MOVDPTR,#AM_DATA

MOVCA,@A+DPTR;

MOVDPTR,#DAC;

MOVX@DPTR,A;WRITETODAC

AJMPAM;

AM_DOWN:

CJNEA,#07H,AM_ESC;;;;;;;;;;;;;;;;;;PRESS07H;

CLRC

MOVA,AM_DEG;

SUBBA,#1;µ÷ÖƶÈJIAN1

MOVAM_DEG,A;

MOVA,#00H;;

CJNEA,AM_DEG,AM_NXT2;

MOVAM_DEG,#0H;AM_DEG²»ÄÜÉÙÓÚ0

AM_NXT2:

MOVA,AM_DEG;

MOVDPTR,#AM_DATA

MOVCA,@A+DPTR;

MOVDPTR,#DAC;

MOVX@DPTR,A;WRITETODAC

AJMPAM;

AM_ESC:

CJNEA,#08H,AM;;;;;;;;;;;;;;;;;;;;;;;;;PRESS08H;

RET;

;-----------------------------------------------------------------------------

FSK:

MOVTMOD,#22H;Ñ¡Ôñ¶¨Ê±Æ÷0,1¹¤×÷·½Ê½2

MOVTL1,#9CH;ÉèÖòÉÑùÂÊΪ8K;

MOVTH1,#9CH;

SETBTR1;ÔÊÐíT0¼ÆÊý

SETBEA;¿ªÖжÏ

SETBET1;

F_L:

MOVDPTR,#KEY

MOVXA,@DPTR;

ANLA,#0FH;

CJNEA,#0AH,F_NEXT;;;;;;;;;;;;;;;;;PRESSOAH;

AJMPF_ESC;

F_NEXT:

ACALLDELAY10;

AJMPF_L;

F_ESC:

CLRTR1;

CLREA;

CLRET1;

RET

;------------------------------------------------------------------------------

F_INT:

CLREA

SETBTR1;ÔÊÐíT0¼ÆÊý

PUSH5DH;

PUSH5EH;

PUSH5FH;

PUSH60H;

MOVSTOR_A,A;

MOVSTOR_R1,R1;

MOVSTOR_R2,R2;

;MOVSTOR_P1,P1;

MOVSTOR_DPH,DPH;

MOVSTOR_DPL,DPL;

JBP1.1,TURN;

SETBP1.1;

AJMPTURN2;

TURN:

CLRP1.1;

TURN2:

JBP1.0,F_INT_NXT;

MOV5DH,#0F4H

MOV5EH,#0DBH

MOV5FH,#0D7H

MOV60H,#01H;;дƵÂÊÔÚÄÚ´æÖÐÓ³Ïñ¶¨Îª900KHZ´ËʱΪ0

AJMPF_INT_END;

F_INT_NXT:

MOV5DH,#0BAH

MOV5EH,#49H

MOV5FH,#0CH

MOV60H,#02H;;дƵÂÊÔÚÄÚ´æÖÐÓ³Ïñ¶¨Îª1MHZ´ËʱΪ1

F_INT_END:

ACALLWR_DDS

MOVA,STOR_A;

MOVR1,STOR_R1;

MOVR2,STOR_R2;

MOVDPH,STOR_DPH;

MOVDPL,STOR_DPL;

POP60H;

POP5FH;

POP5EH;

POP5DH;

SETBEA;

RETI;

;-------------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1