正弦波调制信号发生器.docx
- 文档编号:7257167
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:21
- 大小:173.36KB
正弦波调制信号发生器.docx
《正弦波调制信号发生器.docx》由会员分享,可在线阅读,更多相关《正弦波调制信号发生器.docx(21页珍藏版)》请在冰豆网上搜索。
正弦波调制信号发生器
摘要
直接数字合成(DDS)是一种重要的频率合成技术,具有分辨率高、频率变换快等优点,在雷达及通信等领域有着广泛的应用前景。
系统采用AD9850(DDS)与51系列单片机相结合的方法,以AD9850为频率合成器,以单片机为进程控制和任务调度的核心,设计了一个信号发生器。
实现了输出频率在1KHz~10MHz范围可调,输出信号频率稳定度优于10-4的正弦波信号。
正弦波信号的电压峰峰值Vopp能在—5V~7V范围内步进调节,步进间隔达到0.1V,所有输出信号无明显失真,且带负载能力强的正弦波信号调制发生器。
关键字:
DDS正弦信号FM调频AM调幅PSKASK
Abstract
directdigitalsynthesis(DDS)isanimportantfrequencysynthesizertechnology.Withtheadvantagesofhighresolutionandrapidtransformationfrequencyetc,theyarewidelyusedonradar,communicationsandotherfields.ThissystemadoptsthemethodswhichcombinesAD9850(DDS)and51collectionmicrocomputer,withAD8950asthefrequencysynthesizer,andwithtaskschedulingandprocesscontroloftheMCU,asthecore.Itdesignsasignalgenerator,Achievingtheoutputfrequencyof1KHzto10MHzrangeadjustable.Outputsignalfrequencystabilityofitisbetterthan10-3thesinewave,squarewaveandtriangularwavesignal.ThesinewavesignalpeakvoltagepeakVoppcanadjustfrom-5Vto7Vofthesteppingconditioning,withstepinterval0.1V.theoutputsignalshavenoobviousdistortion.Thesignalgeneratorofsinewavethatwithagoodabilitytoloadbelt.
Keywords:
DDSsinusoidalsignalFMAmplitudeModulationAMAmplitudeModulationPSKASK
目录
前言
学习生活、科学研究中,正弦波和方波、三角波是常用的基本测试信号。
在电脑显示器中显像管荧光屏上的光点,所以需要要用锯齿波电流来控制,对于三角波,方波同样有这不可忽视的作用。
而这些波形可以通过电路互相转换的。
因此正弦函数是我们在学习,科学研究等方面不可缺少的函数,我们要设计一种能产生正弦波的函数放生器。
信号源是电子产品测量与调试、部队设备技术保障等领域的基本电子设备。
随着科学技术的发展和测量技术的进步,普通的信号发生器已无法满足目前日益发展的电子技术领域的生产调试需要。
而直接数字合成(DDS)技术是一种新兴的直接数字频率合成技术,具有频率分辨率高、频率切换速度快、切换相位连续、输出信号相位噪声低、可编程、全数字化易于集成、体积小、重量轻等优点,因而在雷达及通信等领域具有广泛的应用前景。
信号发生器的开发是多种多样的,其中最实用的就是单片机DDS与FPGA两类应用的实现,在对其深入的研究中发现,FPGA相对于单片机DDS的制做方面有其利也有其弊,但在整体上指明,基于FPGA的信号发生器其实现比单片机来得容易,更易于理解,且多种多样的FPGA芯片的选择可以给FPGA带来不同的信号实现范畴,所以本次制作的信号发生器是基于FPGA研制的。
本设计首先关于FPGA的VHDL语言的使用编程方式及此语言的编程特点加以介绍,也掌握关于DA数模转换中DA硬件电路的分布,再者可以掌握滤波电路的实现方式及其滤波效果和范围区域及电压放大器的基本电路的实现及去除高频晶振的电磁信号的方法。
最终实现基层电路的联机测试,从而完成基于FPGA信号发生器的实现。
总体上,前人的理论给我们提供了很好的基础,在基本设计上都采用前人的实践基础,即FPGA方面的基础设计上加上三部份电路进行补充实现,使整体电路产生更为完美的信号。
并且减少了单片面带来的负面缺点,从而简化了控制部分电路的设计。
总体方案设计
一、包括方案比较、方案论证、方案选择
根据题目要求,本系统主要由主控制器模块、正弦信号发生模块、输出电压放大模块、FM调频电路模块、AM调幅电路模块和人机界面模块构成。
如图。
系统模块框图
1、主控制器
方案一:
采用通用的51单片机AT89S52作为主控制器,完成数据处理,DDS的频率输出控制,键盘的扫描及液晶显示器的显示控制等。
由于51单片机内部的RAM和ROM都比较小,考虑到实现本系统需要大量的数据处理及液晶显示需占用大量的ROM资源等,用51单片机实现本系统就需外扩RAM和ROM,实现起来比较麻烦。
而且本系统需要用A/D转换器采样调制信号实现调频信号的输出,使用51单片机就需外扩一片A/D转换芯片,实现也比较麻烦。
而且基于整个系统的速度要求,51单片机也不能满足要求。
方案二:
采用凌阳公司的16位单片机SPCE061A作为主控制器。
由于SPCE061A内置有2K字的SRAM和32K字的内存FLASH,能满足本系统数据处理及液晶显示所需数据的存储要求CPU时钟频率高达49.152MHz,能满足速度要求;集成有7通道10位电压模数转换器ADC,可以满足系统采样调制信号的要求;一片凌阳SPCE061A单片机就可以完成整个系统的主要功能,基本不需要扩展其他器件,不仅体积小而且可靠性高。
而且凌阳单片机具有C语言风格的汇编语言,有与标准C兼容的C语言,C语言函数可以与汇编函数互相调用,使其开发更加容易,实现整个系统更加简单。
基于此,本系统采用方案二,利用凌阳的16位单片机SPCE061A作为主控制器。
2、正弦信号产生
方案一:
采用反馈型LC振荡原理,选择合适的电容、电感就能产生相应的正弦信号。
此方案器件比较简单,但是难以达到高精度的程控调节,而且稳定度不高,故不采用。
方案二:
采用DDS技术的基本原理。
DDS技术是基于Nyquist采样定理,将模拟信号进行采集,经量化后存入存储器中(查找表),通过CPLD或者FPGA进行寻址查表输出波形的数据,再经D/A转换滤波即可恢复原波形。
根据Nyquist采样定理知,要使信号能够恢复,必须满足采样频率大于被采样信号最高频率的2倍,否则将产生混叠,经D/A不能恢复原信号。
此方案产生的波形比较稳定,在高频输出时会产生失真,而且电路比较复杂,故不采用。
方案三:
直接采用DDS集成芯片。
AD9850是AD公司生产的DDS芯片,带并行和串行加载方式,AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。
基于此,由于DDS集成芯片能达到要求,而且节省硬件电路,程控调节能够方便实现,本设计采用方案三,作为1KHz~10MHz正弦信号发生。
3、输出电压放大
方案一:
采用高频三极管做功率放大。
选择恰当的电阻和电容来实现符合题目要求的放大倍数。
但是使用三极管放大时,信号放大的稳定性不高,很难满足题目的要求。
故不采用。
方案二:
采用宽频运算放大器做前级电压放大,AD8056可以达到300M的带宽,而且频率稳定性好。
在后级加上互补对称的推挽式输出电路做电流放大作用。
基于此,所以在本设计中采用了方案二。
4、FM调频电路
方案一:
使用变容二极管直接调频。
变容二极管是根据PN结的结电容随反向电压改变而变化的原理设计的一种二极管。
加反向偏压时,变容二极管呈现一个较大的结电容。
变容二极管要并接在产生中心频率振荡的选频网络的两端,并加上调制信号,使中心频率随调制信号的幅值的改变而改变,从而达到调频作用。
但是本方案会使电路产生的频偏不稳定,容易产生中心频率偏移。
方案二:
采用锁相环进行调制,采用锁相环路调频,能够达到中心频率高度稳定的调频信号。
由于锁相环能跟踪并锁定中心频率。
从而使中心频率有足够高的稳定度。
而调制信号就加在VCO(压控振荡器)的输入端,从而使中心频率随调制信号的幅值的改变而改变。
本方案比较直观,而且中心频率和频偏都比较准确,但是电路复杂,故不采用。
方案三:
凌阳的单片机芯片SPCE061A内部集成有10位ADC。
可先将调制信号离散化,当采集完一个周期(1ms)的数据后,计算出每相邻两个抽样点的偏移量,这样就可以根据偏移量控制改变DDS的输出频率,从而达到调频效果,而且硬件设计简单。
本设计使用方案三。
5、AM调幅电路
方案一:
采用单二极管开关状态调幅电路,使二极管近似处于一种理想的开关状态下,在两个不同频率电压作用下进行频率交换。
方案二:
采用二极管平衡调幅电路,它是利用二极管的开关状态和平衡抵消的措施,经调幅后通过带通滤波器就可以得到调幅信号。
前面两种方案电路实现比较复杂,而且由于采用分立元件,稳定性比较差,调试困难。
方案三:
采用模拟乘法器调幅电路,它是一种完成两个模拟信号相乘作用的电路,起到频率搬移的作用,若采用专门的模拟乘法器芯片,电路实现简单,稳定性比较好,功能实现容易,符合题目要求。
基于此,本系统采用方案三,选用集成模拟乘法器MC1496实现AM的模拟调幅。
6、产生二进制PSK、ASK信号
方案一:
直接采用DDS实现ASK和PSK,用程序直接控制DDS输出二进制PSK和ASK信号,根据码序列中的'0'或'1'直接控制DDS的相移,便可以实现PSK调制功能,而控制DDS开和关即可实现ASK调制。
本方案直接用软件来实现产生二进制ASK,PSK信号,基本不用硬件电路,比较方便,但经过试验,输出的信号不稳定。
故不采用。
方案二:
采用数字键控的方法来实现,采用模拟开关,利用基带信号控制模拟开关的选通或关闭来实现ASK调制。
实现PSK调制时,把100K的载波信号分接成两路,其中一路接增益为-1的运放电路,将载波信号移相180o。
'0''1'基带序列码由CPLD产生。
本方案硬件设计也比较简单,输出的信号比较稳定,各种指标符合题目要求。
方案一:
DDS信号产生器芯片。
AD9850是ADI公司产生的一种DDS信号产生器芯片,它把DDS技术和高速数字/模拟转换器结合在一起,全数字化、可编程。
在一个精确的参考时钟源的控制下,可以产生一个频谱较纯、频率/相位可编程的模拟正弦信号。
二、单元模块设计
硬件模块设计:
①正弦信号发生器
采用了直接数字频率合成技术,可采用ADI公司的DDS集成芯片AD9850。
AD9850系统时钟的最高频率可达180MHz。
为了提高系统的电磁兼容能力,AD9851内部集成了一个6倍频器,降低了所需外接时钟频率。
若外部介入的参考频率选用20MHz,则经AD9850内部6倍频后,系统时钟频率相当于120MHz。
由频率合成公式可计算出,在此时钟下的输出频率分辨率为:
Hz=0.0279Hz
(1)
最大输出频率为系统时钟频率120MHz,远超出本题100Hz的步进值,1kHz~10MHzs的要求。
AD9851内部有5个8位输入数据寄存器,其中32位用于装载频率控制字FSW。
FPGA编写时序通过对32位控制字的赋值可精确控制最终合成的信号频率fo。
FSW与fo之间的转换公式为:
(2)
其中方波信号可由AD9850芯片产生的正弦信号经内部高速比较器便可得到,至于三角波信号可由方波信号经积分器积分后即可得到。
②AM调制
AM调制采用高速模拟乘法器AD835,其带宽为250M,它的-0.1dB增益平坦区>10M,满足题目要求。
AD835的其两个差分输入端X、Y分别接收两路乘法信号的输入,经过乘法器后输出两路信号的乘积XY,然后与输入的Z信号在加法器中实现相加,经过一级驱动后输出。
因此通过AD835模拟乘法器后,输出信号的实际表达式为:
W=X*Y+Z。
对本题实现,可将两路差分输入的一端接地,另一端接载波以及调制信号。
而Z端接地,就可以实现乘法操作,电路原理图如图所示:
其中1KHz正弦信号由芯片ICL8038组成的经典电路提供。
③FM调制输出
基于FM原理,根据调频信号变化的规律采用数字方式控制DDS正弦波发生器的频率控制字,直接作用于输出波形的频率值,即实现了对信号源的频率的调制,该方式下,DDS调制信号输出波形频率与调制信号频率控制字成正比,而载波信号频率控制字又随调制信号成正比例变化。
④基带序列产生模块
由51单片机产生的脉冲信号送入74LS165时钟输入端,再由它本身带预置功能的移位寄存器循环移位即可获得码速率为10Kb/s二进制基带序列信号。
⑤2ASK、2PSK信号产生模块
ASK、PSK采用数字键控的产生方法,图A和图B分别是他们实现的原理框图。
图AASK信号调制器原理框图
图BPSK信号调制器原理框图
ASK、PSK是数字调制技术,可采用的模拟开关来实现。
将模拟地线和载波分别接到模拟开关的两个输入端,用数字基带序列控制模拟开关的切换,即可以得到2ASK信号。
同样的道理,将载波及其倒π相信号分别通入模拟开关的两个输入端,用数字基带序列控制模拟开关的切换,可以得到2PSK信号。
考虑到载波频率为100kHz,需要较高速的模拟开关。
当2ASK-1=1(13脚),开关打开,DDS-SIN信号就会通过;当2ASK-0=1时(5脚),开关打开,输出地线信号,即为0。
反之;均不导通。
可结合前面单片机产生二进制基带即可输出2ASK信号。
当2PSK-1=1时(6脚),开关打开,DDS-SIN信号就会通过;当2PSK-0=1(12脚)时,开关打开输出DDS-SIN信号的反相信号(倒π信号)。
反之;均不导通。
⑥滤波电路设计
采用一个二阶巴特沃兹低通滤波电路及一个运算放大器完成,实为AD811组成的增益为2的低通滤波器。
⑦放大电路设计
放大部分较为简单,只需要做一个3倍的电压放大即可。
根据设计要求,由于输出带负载能力也很重要,故本设计采用了高速单运算放大器AD811完成末级放大。
AD811的带宽增益积为140MHz,在双15V供电时,有正负12V的输出摆幅,最大输出电流为100mA,可以满足设计要求。
为防止自激,实际中可采用反相3倍电压放大。
软件模块设计
系统软件总体框图
三、系统调试
四、系统功能、指标参数
五、系统总结
①对设计的小结:
陈志雄:
深刻认识了理论和实际的差距只能在实践中得到体现。
以前总以为自己的理论学习,掌握了电子设计方面的知识,对付这门课程应该是绰绰有余,可是经过了几周的实践之后才认识到了这是个错误的想法。
虽然通过软件仿真,所设计的滤波放大电路能满足设计的要求,但由于没有实际制版、调试,所以还有许多潜藏的问题没被发现。
②设计收获体会:
陈志雄:
进一步温习、巩固了数电、模电及电子线路的知识。
初步学会了理论与实践的结合。
通过团队的分工合作,也为以后出去工作提供了一次锻炼的机会,让自己在其中发现了自己的不足。
如:
没有充分发挥团队的作用。
团队的每个成员都有自己的分工,我们缺很少一起讨论,基本都是各做各的。
虽然我们是以做好设计为大方向,但是我们之间相互沟通,知识、信息的共享,做得不够好。
团队成员之间要充分发挥整合作用,提高从何效率。
我们这点做的不够好,各成员间默契程度不够,团队的合力没有被发挥到极致。
③对设计的进一步完善提出意见或建议:
参考文献
[1]张肃文,陆兆熊高频电子线路(第三版)高等教育出版社北京2002.
[2]谢自美电子线路设计•实验•测试华中理工大学出版社武汉2006
[3]周立功,夏宇闻单片机与CPLD综合应用技术北京航空航天大学出版社北京2004
[4]张肃文,陆兆熊高频电子线路高等教育出版社北京2004
[5]童诗白,化成英模拟电子技术基础高等教育出版社北京2000
[6]樊昌信,詹道庸通信原理国防工业出版社北京2005
附录
DDS控制电路(频率控制字的产生)
A/D转换电路(用于产生基带序列和采集数据)
1KHz正弦信号发生器
二进制基带序列产生模块
AD835模拟乘法器
积分电路
ASK、PSK信号产生模块
低通滤波器
程序:
发送程序
#include
#include
#include
sbitEOC=P3^3;
sbitA0=P2^0;
sbitA1=P2^1;
sbitA2=P2^2;
sbitALE=P2^3;
sbitOE=P2^4;
sbitSTART=P2^5;
unsignedchardout;
voidad0809(void)
{
ALE=1;
_nop_();
START=1;
_nop_();
ALE=0;
_nop_();
START=0;
}
voidfa_song(void)
{
SBUF=dout;
while(TI==0);
TI=0;
}
voidmain(void)
{SCON=0x50;
TMOD=0x20;
TCON=0x40;
PCON=0x00;
TH1=0x0bc;
TL1=0x0bc;
TR1=1;
TI=0;
P2=0x03;//选择IN3端口
while
(1)
{
ad0809();
while(EOC==0);
OE=1;
_nop_();
dout=P0;
P1=dout;
fa_song();
OE=0;
}
}
接收程序:
#include
/*3个数码管所需的3个位用来做38译码*/
sbitSEL0=P2^0;
sbitSEL1=P2^1;
sbitSEL2=P2^2;
/*4个挡位****************************/
sbitKEY1=P2^4;//1K~10K
sbitKEY2=P2^5;//10K~100K
sbitKEY3=P2^6;//100K~1000K
sbitKEY4=P2^7;//1M~10M
sbitP32=P3^2;//4个挡位公用一个键
sbitP33=P3^3;//加100HZ
unsignedlongcount1;
unsignedlongcount2;
unsignedlongcount3;
unsignedlongcount4;
unsignedlongcount5;
unsignedlongsum;
/*AD8951定义的变量***********/
unsignedcharcon_word[5];
unsignedlongK;//K=count*2386;k=fo*23.86,因为fo=count*100所以k=count*2386
sbitFQ_UD=P3^6;
sbitW_CLK=P3^7;
sbitwe=P3^4;
/*通信用的端口定义与FM的产生***********/
unsignedcharasd;//存储1KHZ调制信号的幅度
sbitKEY_FM=P3^5;
unsignedcharcodetab[]={0x0c0,0x0f9,0x0a4,0x0b0,0x99,0x92,0x82,0x0f8,0x80,0x90};
/*用来控制1~9的加数来对4个挡位执行加法。
。
p32的键,中断0***********************************/
voidint0(void)interrupt0using0//缓慢加100
{
if(KEY1==0)//1k~10K
{
if(count1==100)
count1=0;
else
{
count1=count1+10;
}
}
if(KEY2==0)//10k~100K
{
if(count2==1000)
count2=0;
else
{
count2=count2+100;
}
}
if(KEY3==0)//100k~1000K
{
if(count3==10000)
count3=0;
else
{
count3=count3+1000;
}
}
if(KEY4==0)//1M~10M
{
if(count4==100000)
count4=0;
else
{
count4=count4+10000;
//K=count*14316;k=fo*143.16,因为fo=count*100所以k=count*14316
}
}
}
/*步进100HZ用中断*************************************/
voidint1(void)interrupt2using2//P3。
3
{
if(count5==100000)
count5=0;
else
{
count5=count5+1;//步进100HZ
}
}
/*数码管扫描***************************************/
voidshu_ma_guan(void)
{unsignedchari;
sum=(count1+count2+count3+count4+count5)*100;
P0=tab[sum%10];//个位第一个数码管以下依次类推
SEL0=0;SEL1=0;SEL2=0;
for(i=0;i<255;i++);
P0=tab[sum%100/10];//十位
SEL0=1;SEL1=0;SEL2=0;
for(i=0;i<255;i++);
P0=tab[sum%1000/100];//百位
SEL0=0;SEL1=1;SEL2=0;
for(i=0;i<255;i++);
P0=tab[sum%10000/1000];//千位
SEL0=1;SEL1=1;SEL2=0;
for(i=0;i<255;i++);
P0=tab[sum%100000/10000];//万位
SEL0=0;SEL1=0;SEL2=1;
for(i=0;i<255;i++);
P0=tab[sum%1000000/100000];//十万位
SEL0=1;SEL1=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正弦波 调制 信号发生器