2005年全国大学生电子设计大赛A题正弦信号发生器_第1页
2005年全国大学生电子设计大赛A题正弦信号发生器_第2页
2005年全国大学生电子设计大赛A题正弦信号发生器_第3页
2005年全国大学生电子设计大赛A题正弦信号发生器_第4页
2005年全国大学生电子设计大赛A题正弦信号发生器_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、无线电爱好者协会正弦信号发生器4 张铬杰 张海民 吴金科摘要:本文介绍以dds芯片ad9851为产生正弦波信号核心,以单片机为主控制器,实现了从低频100hz到高频10mhz宽频带的频率任意设定(亦可设定步进为10hz或者100hz等可调)、高精度(频稳度优于10-5)的正弦信号发生器,输出电压幅度在50欧姆负载上输出幅度大于1v。并且实现了产生从1mhz10mhz范围内调制度可调的模拟幅度调制(am)信号,和把自行产生的m序列数字二进制基带信号调制成在100khz固定频率载波二进制键控的ask和psk。关键词:dds, psk, ask,模拟幅度调制(am)信号,模拟频率调制(fm)信号,正

2、弦信号发生器, m序列,多谐振荡器, 模拟乘法器, 可控增益宽带放大器, ad9851, ad603, mc1496 1、设计任务和要求 设计制作一个正弦信号发生器。1.1 基本要求(1)正弦波输出频率范围:1khz10mhz; (2)具有频率设置功能,频率步进:100hz; (3)输出信号频率稳定度:优于10-4; (4)输出电压幅度:在负载电阻上的电压峰-峰值vopp1v;(5)失真度:用示波器观察时无明显失真。1.2 发挥部分在完成基本要求任务的基础上,增加如下功能:(1)增加输出电压幅度:在频率范围内负载电阻上正弦信号输出电压的峰-峰值vopp=6v±1v;(2)产生模拟幅度

3、调制(am)信号:在1mhz10mhz范围内调制度ma可在10%100%之间程控调节,步进量10%,正弦调制信号频率为1khz,调制信号自行产生;(3)产生模拟频率调制(fm)信号:在100khz10mhz频率范围内产生10khz最大频偏,且最大频偏可分为5khz/10khz二级程控调节,正弦调制信号频率为1khz,调制信号自行产生;(4)产生二进制psk、ask信号:在100khz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;(5)其他。2、任务分析及方案论证2.1 正弦信号发生器的核心部分方案的论证和选择方案1:采用传统的分立元件的方法,采

4、用rc或lc正弦振荡电路,这种方法电路简单,成本低,但是这种方法难以实现步进达到100hz或者更高,并且难以兼顾频率跟得上10mhz。方案2:采用锁相环频率合成技术,将压控振荡器的vco的输出频率锁定在所需的频率之上,次方法具有很好的窄带跟踪性,可以较好的选择所需的频率,抑制杂散的分量,其基本模型如图1所示。然而锁相环本身是一个惰性的环节,锁定时间长,频率串换时间长,并且模拟产生的正弦波,频率和相位都难以控制。图1 pll的基本模型方案3:采用直接数字频率合成技术产生所需的正弦信号(dds)。本来想着用自己做一个dds信号发生器的,但是要达到题目的基本要求上到10mhz并且要完成发挥部分的要求

5、,我们采用ad公司的高集成度dds电路的器件ad9851,它内部包含高速、高性能10位d/ a 转换器及高速比较器,可作为全数字编程控制的频率合成器来产生所需要的正弦波。外接精密时钟源时,ad9851 可以产生一个频谱纯净、频率和相位都可以编程控制且稳定性很好的模拟正弦波,这个正弦波能够直接作为基准信号源。9851内含6 倍参考时钟倍乘器,可避免对外部高速参考时钟振荡器的需要,减小了由于外部频率源过高而可能产生的相位噪声;其频带宽, 正常输出工作频率范围为0 72mhz ; 频率分辨率高,其创新式高速dds 码可接受32 位调频字,使得它在180mhz 系统时钟下输出频率的精度可达0. 04h

6、z ,完全达到了题目要求的输出信号频率稳定度优于10-4 的要求;相位可调, 可接收来自单片机的5 位相位控制字,产生二进制psk,作出题目要求的发挥部分的第四点。另外我们认真查阅ad公司的ad9851的datasheet还发现,次芯片可以有使能控制端,可以用程序来控制是否输出,这样就可以进行ask,完成题目发挥部分的第五点。我们采用方案3。2.2 幅度放大方案的论证和选择由于从dds芯片ad9851出来的正弦波的vpp达不到1v,题目的基本要求部分要求vpp>1v,且题目发挥部分要求增加输出电压幅度:在频率范围内负载电阻上正弦信号输出电压的峰-峰值vopp=6v±1v,由于要

7、求产生的信号频率比较高,要求从1khz达到10mhz,带宽很大,并且要求在此断范围内都要求输出电压的峰-峰值vopp=6v±1v。方案1,采用高速运放进行放大,由于dds芯片9851产生的信号经过后面的7阶的椭圆滤波器之后的幅频特性的影响,产生的正弦信号会随着频率的上升而有所下降,如果采用固定的增益的话,在整个频率范围内达不到在6v±1v之内。方案2,由固定增益运放之后采用数字的电位器进行程控的分压,但是发现这种方法的频率相应跟不上,在低频内还可以使用,但是到了mhz以上就不能工作了。方案3:使用程控增益宽带放大器ad603,次芯片内部由r-2r 梯形电阻网络和固定增益放大

8、器构成,加在其梯型网络输入端的信号经衰减后,由固定增益放大器输出,衰减量是由加在增益控制接口的参考电压决定;而这个参考电压可通过单片机进行运算并控制d/a芯片或者数字电位器输出控制电压得来,从而实现较精确的数控。此外ad603能提供由直流到30mhz以上的工作带宽,单级实际工作时可提供超过20db的增益(次芯片的资料可以下载相关的datasheet查阅)。用这个方法我们可以只用一级放大,通过幅频补偿的方法来进行程控放大,来达到在1khz到10m范围内输出幅度在6v±1v。我们选用方案3来实现发挥部分的输出幅度要求。3、系统设计3.1 总体设计思路根据题目要求,我们经过认真分析,并且考

9、虑各种考虑因素,我们制定出了总体的方案。如图1所示,基本部分的正弦信号的产生我们采用ad9851芯片作为核心,采用单片机89s52作为主控制,采用4×4的键盘和液晶显示器作为人机交换的硬件,实现频率的步进可调,还有任意频率的输入,采用mc1496和可控数字电位器来进行发挥部分的模拟幅度调制(am)信号的产生,用编程的方法用单片机来控制ad9851来进行发挥部分的二进制的ask和psk。其总的系统方框图如图2所示:图2 系统方框图3.2 系统的理论分析和实际设计基本要求部分3.2.1 高精度正弦波信号产生模块近年间,直接数字频率合成器(direct digital frequency

10、synthesis简称dds或ddfs)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的姣姣者。具体体现在相对带宽宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。() 基本原理及性能特点 的基本原理是利用采样定理,通过查表法产生波形。的结构有很多种,其基本的电路原理可用图3来表示。 图3 的基本原理图相位累加器由位加法器与位累加寄存器级联构成。每来一个时钟脉冲,加法器将频率控制字与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存

11、器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是输出的信号频率。 用相位累加器输出的数据作为波形存储器()的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到转换器,转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除

12、不需要的取样分量,以便输出频谱纯净的正弦波信号。 在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。 dds技术的特点:)输出频率相对带宽较宽 输出频率带宽为s(理论值)。但考虑到低通滤波器的特性和设计难度以及对输出信号杂散的抑制,实际的输出频率带宽仍能达到s。 )频率转换时间短 是一个开环系统,无任何反馈环节,这种结构使得的频率转换时间极短。事实上,在的频率控制字改变之后,需经过一个时钟周期之后按照新的相位增量累加,才能实现频率的转换。因此,频率转换的时间等于频率控制字的传输时间,

13、也就是一个时钟周期的时间。时钟频率越高,转换时间越短。的频率转换时间可达纳秒数量级,比使用其它的频率合成方法都要短数个数量级。 )频率分辨率极高 若时钟s的频率不变,的频率分辨率就由相位累加器的位数决定。只要增加相位累加器的位数即可获得任意小的频率分辨率。目前,大多数的分辨率在数量级,许多小于甚至更小。 )相位变化连续 改变输出频率,实际上改变的每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。 )输出波形的灵活性 只要在内部加上相应控制如调频控制、调相控制和调幅控制,即可以方便灵活地实现调频、调相和调幅功能,产生、和等信号。另

14、外,只要在的波形存储器存放不同波形数据,就可以实现各种波形输出,如三角波、锯齿波和矩形波甚至是任意的波形。当的波形存储器分别存放正弦和余弦函数表时,既可得到正交的两路输出。 )其他优点 由于中几乎所有部件都属于数字电路,易于集成,功耗低、体积小、重量轻、可靠性高,且易于程控,使用相当灵活,因此性价比极高。我们原本是计划自行设计一个dds信号发生器的,但是考虑到题目要求高,并且要达到的要求有比较大的难度,特别是后面发挥部分的要求,为了能在这4天3夜的时间里面尽量完成题目的要求,我们选择了使用专用的dds芯片ad9851来作为我们设计的核心。3.2.2 ad9851 的结构图它主要包括相位寄存器、

15、相位全加器、d/ a 转换器,相位寄存器和相位全加器构成相位累加器。ad9851 内部的控制字寄存器首先寄存来自外部的频率、相位控制字,相位累加器接收来自控制字寄存器的数据后决定最终输出信号频率和相位的范围和精度,经过内部d/ a 转换器后,所得到的就是最终的数字合成信号。如果相位累加器的位数为n ,相位控制字的值为fn ,频率控制字的位数为m ,频率控制字的值为fm ,系统外部参考时钟频率为8mhz ,6 倍参考时钟倍乘器使能,那么经过内部6 倍参考时钟倍乘器后,可得到ad9851 内部工作时钟fc 为48mhz ,此时最终合成信号的频率可由公式(1) 来决定,合成信号的相位由公式(2) 来

16、决定。f = fm fc/ 2 n (1) = 2fn / 2 m (2)图4 ad9851 结构框图3.2.3 ad9851的控制方式ad9851的控制方式内部有5 个输入寄存器,储存来自外部数据总线的32 位频率控制字,5 位相位控制字,一位6 倍参考时钟倍乘器使能控制,一位电源休眠功能(powerdown) 控制和一位逻辑0 。寄存器接收数据的方式有并行和串行两种方式。图5并行方式工作时序图并行方式如图5所示,是通过8 位数据总线d0d7 来完成全部40 位控制数据的输入。复位信号reset 有效会使输入数据地址指针指向第一个输入寄存器,w- cl k上升沿写入第一组8 位数据,并把指针

17、指向下一个输入寄存器,连续5 个w- cl k上升沿后,即完成全部40 位控制数据的输入,此后w- cl k信号的边沿无效。当fq - ud 上升沿到来之际40 位数据会从输入寄存器被写入频率和相位控制寄存器,更新dds 的输出频率和相位,同时把地址指针复位到第一个输入寄存器,等待着下一组新数据的写入。串行方式如图6所示,w- cl k 上升沿把引脚d7 上的数据按位串行移入到输入寄存器,40 位输入结束后,任何w- cl k上升沿到来都会造成数据顺序移出并导致原来数据无效,此时fq - ud 端的上升脉冲就可以使40 位数据更新芯片的输出频率和相位。图6 串行工作方式时序图 我们使用单片机8

18、9s52来作为系统的主控制器,采用并行模式跟ad9851的连接图如图7所示图7 ad9851与单片机的连接框图图7中,at89s52 的引脚p2. 0p2. 7 作为ad9851的并行数据输入端口。p3.5 、p3.6 、p3.7 作为i/ o 口输出数据对ad9851 的reset、w2cl k、fq2ud进行控制。ad9851输出正弦信号后,由于是数字合成的方法来产生的,所以会存在数字时钟的干扰,所以后面采用一个7阶椭圆滤波器滤波,滤波后就是一个高精度的正弦信号。这个7阶椭圆滤波器滤波的电路图如图8所示:图8 7阶椭圆滤波器滤波器软件编程控制软件编程主要是根据ad9851 的控制字方式,把

19、具有不同功能的控制字写入到芯片内部。以并行输入方式为例,对ad9851 操作的40 位控制字各位的功能如表1 所列。在这种方式下当外部参考时钟频率为10mhz 的情况下,如果要满足以下几种技术要求:(1) 6 倍参考时钟倍乘器工作;(2) 相位置于180°(3) 选择powerup 模式;(4) 输出信号频率为10mhz。根据表1 控制数据格式及式(1) 、(2) 给出的输出频率和输出相位计算公式,可知40 位控制数据应按如下给出:w0 = 10000001 ;w1 = 00110101 ;w2 = 01010101;w3 = 01010101;w4 = 01010101 。由以上数

20、据并根据芯片相应的控制方式,在ad9851 复位后,由单片机给出合适的w- cl k 和fq - ud 信号,即可通过简单的操作完成预期的功能。3.2.4 主控制模块本设计的主控制部分全部由一个单片机完成,采用atmel公司的at89s52单片机,主要是考虑到其实用性、通用性、性价比高。主控制的框图如下:at89s52单片机键盘输入ad9851lcd显示图16 主控模块方框图(1)键盘输入部分:本部分的功能是方便使用者对输出波形的各种设置,共有16个按键,分别为: 数字键:09; (10个)符号键:小数点.; ( 1 个)步进控制键:和;( 2 个)输出波形选择键; ( 1 个)模式设置选择键

21、; ( 1 个)确认键。 ( 1 个) 数字键09及符号键小数点.用于使用者对各种设置的数字直接输入。例如:当为正弦信号(sin)输出时,用于设置输出的频率f;当为模拟幅度调制信号(am)输出时,用于设置输出的载波信号频率fo;当为模拟频率调制信号(fm)输出时,用于设置输出的载波信号频率fo。步进控制键:和。方便使用者对各种设置的步进调节。例如:当为正弦信号(sin)输出时,用于输出频率f的步进调节,会自动根据当前的模式以10hz或100hz的频率进行步进调节;当为模拟幅度调制信号(am)输出时,用于输出的载波信号频率fo和调制度ma的步进调节;当为模拟频率调制信号(fm)输出时,用于设置输

22、出的载波信号频率fo的步进调节。输出波形选择键用于选择所要的波形,有正弦(sin)、模拟幅度调制(am)、模拟频率调制(fm)、二进制相移键控(psk)、二进制幅移键控(ask)五种输出波形。模式设置选择键用于设置各种模式。例如:当为正弦信号(sin)输出时,可有频率为10hz/step、100hz/step、用户直接输入三种步进频率调节模式;当为模拟幅度调制信号(am)输出时,可有载波信号频率fo和调制度ma调节两种调节模式;当为模拟频率调制信号(fm)输出时,可有载波信号频率fo和最大频偏为5khz、10khz三种调节模式。(2)at89s52单片机部分:这部分主要接受使用者从键盘所输入的

23、各种操作,并且对其进行处理后,在lcd上显示,并根据需要对ad9851输出各种命令控制字,以实现使用者的各种操作。(3)lcd显示部分:用于显于当前的工作情况,当前所输出的波形及当前波形的各种参数。以及当前使用者所做的处的工作模式,以方便使用。(4)ad9851部分:用于根据使用者的设置,接受从单片机处理后所送来的控制字和命令字,实现使用者所要的各种波形并进行输出。(原理在前面所详述)本部分的程序流程图如下所示:图17 程序流程图 3.2.5 电源模块 正弦信号发生器需用到dds芯片ad9851来产生信号源,用到mc1496来产生模拟幅度调制信号,还使用到单片机来控制系统等。系统使用的直流稳压

24、电源电压需要多个值,且要求电压输出稳定,纹波电压小。为此,我们用lm317设计两路电压可调电源,需用到两种不同电压时可将电源地端相连为系统供电;如需正负电源供电,可将第二路稳压源的正端与第一路稳压源的地端相连,则可输出正负稳定电压。我们本系统中需使用到+12v,+5v和-8v稳压电源,因此将稳压电源的输出端设定为+/-15v,各模块根据各自需要用7800和7900系列稳压芯片来产生所需的稳压电源。(电源模块的原理图如下图所示)图18 稳压电源原理图3.3 系统的理论分析和实际设计发挥部分3.3.1 幅度放大模块由ad9851产生的正弦信号经过滤波之后,幅度只有几百毫伏,达不到题目的vpp>

25、;=1v的要求,所以要进行幅度的放大,我们采用宽带放大器ad603进行幅度的放大。ad603是在放大30多倍的时候可以达到90m的带宽,我们用它来把ad9851输出的小于1v的电压放大到1.7v左右。电路如下所示(ad603的增益是通过1、2管脚之间的电压来控制的)图9 幅度放大电路通过上面的幅度放大之后就达到了1v以上的vpp;3.3.2 模拟调幅信号的产生模块 我们选用mc1496模拟乘法器来把1khz的正弦信号与1mhz到10m的载波信号进行模拟调幅信号的产生。调制度ma通过调节1khz的正弦信号的幅度大小来调节。产生1khz正弦信号的电路我们用简单的rc振荡电路来实现,其电路如下:图1

26、0 模拟调幅信号产生电路查mc1496的说明书,用上面的am信号产生的典型电路接法,可得产生am调幅波的电路如下:图11 调幅波电路3.3.3 基带的二进制伪随机序列产生模块发挥部分要求基带信号自行产生,我们就用移位寄存器和异或门电路来产生伪随机序列。伪随机序列的原理图1为4级伪随机序列产生的逻辑框图。给寄存器赋除全零外的任何二进制序列作为初始值,当移位时钟脉冲上升沿到来时,每级寄存器的输出作为近邻寄存器的输入,实现数值的右移。其中,第4级非与第3级的输出模二加(异或)后移入第1级寄存器。产生一个长度为15个时钟脉冲周期的二进制伪随机序列。图14 4伪随机序列产生的逻辑框图对于一个n级的线性反

27、馈移位寄存器所产生的二进制序列而言,把产生的最大长度序列称为m序列,其长度n2n-1。不同长度的m序列由不同的线性反馈结构决定,可以用n次本原多项式进行表示其中:ci为第i级的反馈系数,取值为1或0。表1为部分本原多项式系数,其中列出的整数表示反馈系数为1的级数。此外,产生相同长度m序列的反馈结构也不是唯一的,由所对应的不同本原多项式决定,其不同本原我们设计的是4级移位寄存器,即n4,第4级非与第3级的输出模二加(异或)后移入第1级寄存器。产生一个长度为15个时钟脉冲周期的二进制伪随机序列。在maxplux2进行仿真可得到如下的波形(时间轴缩小后看如下)图15 4级随机序列在maxplux2进

28、行仿真波形图此伪随机信号作为psk和ask的基带信号。3.3.4 二进制 psk和ask的产生电路模块 psk、ask是数字通信领域常用的调制方式。二进制psk就是把二进制基带信号调制成带通的相位随基带信号变换的正弦信号。二相相移键控2bsk(bpsk)如下所示图12 二相相移键控2bsk由上图可知,当基带信号是0的时候带通的正弦信号是0度相位,当基带信号是1的时候带通的正弦信号是180度相位,这就是二进制的psk。我们实现这个电路的方法是通过单片机接收基带的伪随机信号,判断这信号是0或是1,分别使ad9851产生0度或180度的相位的带通正弦信号。由上文的表1可以知道控制字w0的高5位是产生

29、相移的控制位。当要产生0度相位的正弦载波信号时就向ad9851写01给w0,当要产生180度相位的正弦载波信号时就向ad9851写81给w0。这就实现了2进制的psk。幅移键控(ask)如下:图13 幅移键控由上图可知,当基带信号是0的时候存在带通的正弦信号,当基带信号是1的时候无带通的正弦信号,这就是二进制的ask。我们实现这个电路的方法是通过单片机接收基带的伪随机信号,判断这信号是0或是1,分别使ad9851产生的带通正弦信号存在或者被旁路。由上文的表1可以知道控制字w0的第3位data2是产生使输出是否被旁路的信号控制位。当要使正弦载波信号旁路时候时就向ad9851写05给w0,当要使正

30、弦载波信号正常输出时就向ad9851写01给w0。这就实现了2进制的ask。4、测量结果及分析4.1 正弦波输出频率范围测试 =999.988hz =9.99987mhz4.2 频率设置功能为 频率步进:10hz 频率步进:100hz 任意频率设置:可以设置的频率在1khz-10mhz之间任意为10hz的频率4.3 输出频率稳定测试 设定频率为f,输出频率为,数据如下表所示(单位:hz):f1k2k5k10k20k50k100k999.98801.9999k4.9999k9.9999k19.9999k49.9996k99.9988kf200k500k1m2m5m10m199.998k499.9

31、94k999.988k1.99998m4.9999m9.99987m4.4 输出电压幅度测试(单位:hz;单位:v)1k2k5k10k20k50k100k200k500k1m2m5m10m1.441.421.441.461.501.481.441.441.461.441.441.441.264.5 失真测试使用htachi v-250型示波器(20mhz)观察系统的输出波形,从1khz10mhz之间的输出波形可见,本系统所输出的波形稳定、平滑,没有明显的失真,完全达到设计要求。5、系统性能总结及特点本系统以ad9851、mcmc1496和at89s52芯片为核心部件,利用dds技术,程控放大技

32、术,模拟乘法器电路,rc振荡回路,555多谐振荡电路,d触发器产生m序列技术并配合一套独特的软件算法实现了输出频率范围达1khz10mhz、具有频率设置、频率步进,频率可任意设定、输出电压幅度稳定、失真度小、能产生模拟幅度调制信号、模拟频率调制、二进制psk&ask信号的多功能正弦信号发生器,最终使正弦信号发生器完成竞赛题目中要求的各项任务,系统精确稳定并具友好的人机交流界面。在系统设计过程中,力求硬件线路简单,充分发挥软件编程方便灵活的特点,来满足系统设计的要求。因为时间有限,该系统还有许多值得改进的地方:电稳尚未能稳定在6v1v范围内,因此,输出信号放大应用高频运放来实现。5.1、

33、我们按照题目要求实现了所有的基本功能,包括有:(1)正弦波输出频率范围:1khz10mhz; (2)具有频率设置功能,频率步进:100hz; (3)输出信号频率稳定度:优于10-5; (4)输出电压幅度:在负载电阻上的电压峰-峰值vopp约为1.5v左右;(5)失真度:用示波器观察时无明显失真。5.2、我们在发挥部分实现了以下多种功能:(1)增加输出电压幅度:在频率范围内负载电阻上正弦信号输出电压的峰-峰值vopp=2v左右;(2)产生模拟幅度调制(am)信号:在1mhz10mhz范围内调制度ma可在10%100%之间程控调节,步进量10%,正弦调制信号频率为1khz,调制信号自行产生;(3)

34、产生模拟频率调制(fm)信号:在100khz10mhz频率范围内产生10khz最大频偏,且最大频偏可分为5khz/10khz二级程控调节,正弦调制信号频率为1khz,调制信号自行产生;(4)产生二进制psk、ask信号:在100khz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;5.3、改进及创新的元素:使用的主处理器单片机89s52处理速度不够高,要实现更高的功能和处理速度要使用高速的单片机如avr单片机或者使用fpga,这样就可以把模拟调制am和模拟的fm都用数字的方法来实现了。幅度最好是可调,做到幅度可以在一定范围内任意设定,这样才算是一

35、个真正完整的信号发生器。参考文献1、黄正瑾、田良·电子设计竞赛赛题解析·东南大学出版社·2004年·第一版2、黄智伟、陈文光·全国大学生电子设计竞赛训练教程·电子工业出版社·2005年·第一版3、王松武·电子创新设计与实践·国防工业出版社·2005年·第一版4、童诗白、华成英·模拟电子技术基础·高等教育出版社·2000年·第二版5、阎石·数字电子技术基础·高等教育出版社·1997年·第四版6、张肃

36、文、陆兆熊·高频电子线路·高等教育出版社·1983年·第三版附录附录1 主要元器件清单附录2 程序清单附录3 印制板图附录4 系统使用说明书附录1 主要元器件清单元件型号数量单片机89s521dds芯片ad98511模拟乘法器mc14961宽带放大器ad6031有源晶振8mhz1液晶显示器16021d触发器74ls742异或门74ls861运放ne5532、 op07若干稳压管lm317、7805 、7905 7812 、7909等若干附录 系统使用说明书 本系统用户界面友好,采用键盘和lcd显示器,方便使用者的操作,也方便用户对当前系统工作情况的了解,

37、人机结合非常合理。本系统能输出正弦(sin)、模拟幅度调制(am)、二进制相移键控(psk)、二进制幅移键控(ask)四种输出波形。正弦信号(sin)输出频率范围:1khz10mhz;具有频率设置功能,频率步进:10hz、100hz、任意频输入;输出信号频率稳定度高,波形稳定,没有明显失真;模拟幅度调制(am)信号,对1khz的正弦信号在1mhz10mhz范围内调制度ma可在10%100%之间调节;能产生二进制psk、ask信号:在100khz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps。 当开机时,lcd上出现开机画面,当系统开始正常工作时,输出系统默认的100khz的

38、正弦信号,用户能通过步进控制键:和对信号的频率正行步进调节,也可能通过数字键能频率进行任意设定。频率的改变方式为当前系统的工作模式确定,默认情况下为100hz步进方式。用户可以通过模式设置选择键来选择当前系统的工作方式。如果想输出其它的波形,可以通过输出波形选择键来选择其它的输出波形,并对各种输出波形的参数过行设定,以达到使用者的要求。附录4 程序清单#include <reg52.h>#include <math.h>#define byte unsigned charenum modeset_sin_step_100, set_sin_step_10, set_si

39、n_any, set_am_f0, set_am_a, set_fm_f0, set_fm_5, set_fm_10;sbit rs=p30;sbit rw=p31;sbit e=p32;sbit reset=p35;sbit w_clk=p36;sbit fq_ud=p37;sbit bin_in=p34;bit f_change=0; /是否为改变信号频率标志位bit is_dot=0; /改变频率时是否已输入小数点标志位bit bin_in_temp;/寄存二进制数enum mode set_what;byte wave_form=1; /波形标志,默认波形为正弦信号byte f1=0,

40、f2=0,f3=1,f4=0,f5=0,f6=0,f7=0;/输出频率存放,默认频率为100khzint w0=0x01,w1=0x00,w2=0x88,w3=0x88,w4=0x88; /100khzbyte code first_tab="signal generator"byte code second_tab=" 1khz-10mhz "byte code psk_tab1="psk m sequence"byte code psk_tab2="using fc=100khz"byte code ask_t

41、ab1="ask m sequence"byte code ask_tab2="using fc=100khz" byte code key_tab16=0x7e,0xbe,0xde,0xee,0x7d,0xbd,0xdd,0xed,0x7b,0xbb,0xdb,0xeb,0x77,0xb7,0xd7,0xe7;/延时10ms子程序/入口参数:n:即延时n个10ms/出口参数:无void delay_10ms(byte n) byte i,j,k; for(i=0;i<n;i+) for(j=0;j<188;j+) for(k=0;k<

42、16;k+); /写lcd指令寄存器子程序/入口参数:word:所要写的控制指令/出口参数:无void write_lcd_instruction(byte word) byte temp; e=1; rw=1; rs=0; p0=0xff; temp=p0; while(temp&0x80)!=0) /判断lcd是否处于忙状态 p0=0xff; temp=p0; rw=0; p0=word; e=0; /写lcd数据寄存器子程序/入口参数:word:所要写的数据/出口参数:无void write_lcd_data(byte word) byte temp; e=1; rw=1; rs

43、=0; p0=0xff; temp=p0; while(temp&0x80)!=0) /判断lcd是否处于忙状态 p0=0xff; temp=p0; rw=0; rs=1; p0=word; e=0; /lcd初始化子程序/入口参数:无/出口参数:无void init_lcd(void) delay_10ms(10); write_lcd_instruction(0x38); /设置显示工作模式 write_lcd_instruction(0x08); /关显示 write_lcd_instruction(0x01); /清屏 write_lcd_instruction(0x06);

44、/设置ac加1,屏幕不动 write_lcd_instruction(0x0c); /开显示,不显示光标,不闪烁 /lcd开机屏幕显示子程序/入口参数:无/出口参数:无void start_display(void) byte n; init_lcd(); for(n=0;n<16;n+) delay_10ms(15); write_lcd_data(first_tabn); write_lcd_instruction(0xc0); /第二行第一列开始显示 for(n=0;n<16;n+) delay_10ms(15); write_lcd_data(second_tabn); w

45、rite_lcd_instruction(0x05); /设置ac减1,屏幕滚动,相当于屏幕右移 write_lcd_instruction(0xe7); /第二行最后一列开始显示 for(n=16;n>0;n-) delay_10ms(20); write_lcd_data(' '); for(n=0;n<8;n+) write_lcd_data(' '); for(n=16;n>0;n-) delay_10ms(20); write_lcd_data(second_tabn-1); delay_10ms(200); delay_10ms(2

46、00); /键盘扫描子程序/入口参数:无/出口参数:键号byte get_key_num(void) byte temp1,temp2,n;p1=0x0f;if(p1&0x0f)!=0x0f) delay_10ms(3);if(p1&0x0f)!=0x0f) temp1=p1;else return (0); else return (0); p1=0xf0; temp2=p1|temp1; for(n=0;n<16;n+) if(temp2=key_tabn) p1=0x0f; while(p1&0x0f)!=0x0f) p1=0x0f; return (n+1

47、); break; /lcd显示子程序/入口参数:无/出口参数:无void lcd_display(void) byte n; init_lcd();switch(wave_form) case 1:write_lcd_data('s'); write_lcd_data('i');write_lcd_data('n');write_lcd_data(' ');break;case 2:write_lcd_data('a'); write_lcd_data('m');write_lcd_data(&#

48、39; ');write_lcd_data(' ');break;case 3:write_lcd_data('f'); write_lcd_data('m');write_lcd_data(' ');write_lcd_data(' ');break;case 4:for(n=0;n<16;n+) write_lcd_data(ask_tab1n);write_lcd_instruction(0xc0); for(n=0;n<16;n+) write_lcd_data(ask_tab2n);

49、break;case 5:for(n=0;n<16;n+) write_lcd_data(psk_tab1n);write_lcd_instruction(0xc0); for(n=0;n<16;n+) write_lcd_data(psk_tab2n); break;default:break; switch(set_what) case set_sin_step_100:if(wave_form=1) write_lcd_data(' ');write_lcd_data(' ');write_lcd_data('1');write

50、_lcd_data('0');write_lcd_data('0');write_lcd_data('h');write_lcd_data('z');write_lcd_data('/');write_lcd_data('s');write_lcd_data('t');write_lcd_data('e');write_lcd_data('p');write_lcd_instruction(0xc0); write_lcd_data('f

51、9;); write_lcd_data('='); if(f1=0)write_lcd_data(' ');elsewrite_lcd_data(f1+48);if(f1=0&&f2=0)write_lcd_data(' ');elsewrite_lcd_data(f2+48);if(f1=0&&f2=0&&f3=0)write_lcd_data(' ');elsewrite_lcd_data(f3+48);if(f1=0&&f2=0&&f3=0&am

52、p;&f4=0)write_lcd_data(' ');elsewrite_lcd_data(f4+48); write_lcd_data(f5+48); write_lcd_data('.'); write_lcd_data(f6+48); write_lcd_data(f7+48); write_lcd_data('k'); write_lcd_data('h'); write_lcd_data('z'); break;case set_sin_step_10: if(wave_form=1)write

53、_lcd_data(' ');write_lcd_data(' ');write_lcd_data(' ');write_lcd_data('1');write_lcd_data('0');write_lcd_data('h');write_lcd_data('z');write_lcd_data('/');write_lcd_data('s');write_lcd_data('t');write_lcd_data('e'

54、;);write_lcd_data('p');write_lcd_instruction(0xc0); write_lcd_data('f'); write_lcd_data('='); if(f1=0)write_lcd_data(' ');elsewrite_lcd_data(f1+48); if(f1=0&&f2=0)write_lcd_data(' ');elsewrite_lcd_data(f2+48); if(f1=0&&f2=0&&f3=0)write_lcd_data(' ');elsewrite_lcd_data(f3+48);if(f1=0&&f2=0&&f3=0&&f4=0)write_lcd_dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论