简易信号发生器报告
小组成员:林振兴,葛坤,陈自强电子设计竞赛培训作品 设 计 报 告 简易信号发生器 仪器组
摘要:本文介绍以DDS芯片AD9850为波形产生核心,以单片机STC89C52为主控制器,实现液晶显示的从100Hz到1MHz宽频带的频率任意设定(可按要求设定步进为10Hz、100Hz可调)、高精度(频稳度优于10-4)的正弦信号和脉冲信号发生器,实现在50负载上输出电压峰-峰值Vopp≥1V且可根据要求调节至负载输出电压的峰-峰值Vopp=5V±0.1V。并且通过DAC0832构成的程控增益放大器实现
步进100mV可调的幅度键控功能。且将自行产生的M序列数字二进制基带信号调制成在100kHz固定频率载波二进制键控的ASK和PSK。
关键词:DDS,AD9850,正弦、脉冲信号发生器,M序列,DAC0832,程控增益放大器,三端稳压7805、7905 ,OP37
Abstract: This paper introduces the core, based on DDS chip AD9850 waveform is given priority to with microcontroller STC89C52 controller, the realization of liquid crystal display (LCD) from 100Hz to 1 MHz broadband frequency set arbitrary (can be set up step by step according to the requirement of 10Hz and 100Hz is adjustable), precision (frequency stability is better than 10-4) of the sine signal and the pulse signal generator, the load on the output voltage peak - peak Vopp acuity 1 V and output voltage can be adjusted according to the requirement to load the peak - peak Vopp =5V±0.1V. And through DAC0832 constitute a programmable gain amplifier to achieve step 100mV adjustable amplitude keying features. And will produce M sequence Numbers to binary baseband signal made in 100 KHZ binary fixed frequency carrier keying PSK and ASK.
Keywords: DDS ,AD9850, sine, pulse signal generator, M sequence, DAC0832, programmable gain amplifier, three-terminal voltage regulator, 7905、7805,OP37
1、设计任务和要求
设计制作一个可以产生正弦波,脉冲波的简易信号发生器
1.1、基本要求
(1)正弦波、方波输出频率范围:100Hz~1MHz;
(2)具有频率设置功能,频率步进:100Hz;
(3)输出信号频率稳定度:优于10-4;
(4)输出电压幅度:在50负载电阻上的电压峰-峰值Vopp≥1V;
(5)失真度:用示波器观察时无明显失真;
(6)频率的数字显示:5位;
(7) 产生100Hz的正弦波,通过示波器显示其波形(与信号源输入100Hz的正弦波分别用两个通道对比失真度)。
1.2、发挥部分
(1)正弦波和脉冲波频率步长:10Hz;
(2)输出电压幅度:在频率范围内50负载电阻上正弦信号输出电压的峰-峰值Vopp=5V±0.1V;
(3)正弦波幅度可步进调整,调整范围:100mV~3V(或5V),步长为100mV;
(4)产生二进制PSK、ASK信号:在100kHz固定频率载波进行二进制键控,二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生;
(5)其他
2、任务分析及方案论证
2.1 正弦信号发生器的核心部分方案的论证和选择
方案1:采用传统的分立元件的方法,采用RC或LC正弦振荡电路,这种方法电路简单,成本低,但是这种方法难以实现步进达到100hz或者更高,并且难以兼顾频率跟得上10Mhz。
方案2:采用锁相环频率合成技术,将压控振荡器的VCO的输出频率锁定在所需的频率之上,次方法具有很好的窄带跟踪性,可以较好的选择所需的频率,抑制杂散的分量,其基本模型如图1所示。然而锁相环本身是一个惰性的环节,锁定时间长,频率串换时间长,并且模拟产生的正弦波,频率和相位都难以控制。
基准频率fR
误差电压△u
图1 PLL的基本模型
方案3:采用直接数字频率合成技术产生所需的正弦信号(DDS)。采用AD公司的高集成度DDS电路的器件AD9850,它内部包含高速、高性能10位D/ A 转换器及高速比较器,可作为全数字编程控制的频率合成器来产生所需要的正弦波和脉冲波。外接精密时钟源时,AD9850 可以产生一个频谱纯净、频率和相位都可以编程控制且稳定性很好的模拟正弦波和脉冲波,并且这个正弦波和脉冲波能够直接作为基准信号源。9850的频带宽, 正常输出正弦波工作频率范围为0 ~40MHz ,输出脉冲波工作范围为0~1MHz; 频率分辨率高,其创新式高速DDS 码可接受32 位调频字,使得它在125MHz 系统最高时钟频率下输出频率的精度可达0. 029Hz ,完全达到了题目要求的输出信号频率稳定度优于10-4的要求;并且相位可调, 可接收来自单片机的5 位相位控制字,产生二进制PSK,并可依此达到发挥部分要求的第四点。综合各种因素考虑,我们最终采用方案3。
2.2 幅度放大方案的论证和选择
查阅AD公司的9850资料可知,从DDS芯片AD9850出来的正弦波的Vpp达不到1V,而题目的基本要求为Vpp>=1V,并且发挥部分要求增加输出电压幅度:在频率范围内50负载电阻上正弦信号输出电压的峰-峰值能够调至Vopp=5V±1V。由于要求产生的信号频率从100Hz达到1MHz,带宽要求并不是很大,OP37是一款低噪声、精密、高速运算放大器,具有的63MHz增益带宽,并且鉴于AD9850外围电路含有调幅环节,因此我们选择采用OP37来作为幅度放大环节。
3、系统设计
3.1 总体设计思路
根据题目要求,我们经过认真分析,并且考虑各种考虑因素,我们制定出了总体的方案。如图2所示,基本部分的正弦信号和脉冲信号的产生我们采用AD9850芯片作为核心,采用单片机STC89C52作为主控制,采用4×4的键盘和液晶显示器作为人机交换的硬件,实现频率的步进可调,模式切换,还有任意频率的输入,用编程的方法用单片机来控制AD9850来进行发挥部分的二进制的ASK和PSK。
图2:系统方框图
3.2 系统的理论分析和实际设计Ⅰ——基本要求部分
3.2.1 高精度正弦波与方波信号产生模块
近年间,直接数字频率合成器(Direct Digital Frequency Synthesis简称DDS或DDFS)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的姣姣者。具体体现在相对带宽宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。
(1) DDS基本原理及性能特点
DDS的基本原理是利用采样定理,通过查表法产生波形。DDS的结构有很多种,其基本的电路原理可用图3来表示。
f
图3 DDS的基本原理图
相位累加器由N位加法器与N位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将频率控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。 用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。 DDS在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。
DDS技术的特点:
1)输出频率相对带宽较宽
输出频率带宽为50%fs(理论值)。但考虑到低通滤波器的特性和设计难度以
及对输出信号杂散的抑制,实际的输出频率带宽仍能达到40%fs。 2)频率转换时间短
DDS是一个开环系统,无任何反馈环节,这种结构使得DDS的频率转换时间极短。事实上,在DDS的频率控制字改变之后,需经过一个时钟周期之后按照新的相位增量累加,才能实现频率的转换。因此,频率转换的时间等于频率控制字的传输时间,也就是一个时钟周期的时间。时钟频率越高,转换时间越短。DDS的频率转换时间可达纳秒数量级,比使用其它的频率合成方法都要短数个数量级。
3)频率分辨率极高
若时钟fs的频率不变,DDS的频率分辨率就由相位累加器的位数N决定。只要增加相位累加器的位数N即可获得任意小的频率分辨率。目前,大多数DDS的分辨率在1Hz数量级,许多小于1mHz甚至更小。
4)相位变化连续
改变DDS输出频率,实际上改变的每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。
5)输出波形的灵活性
只要在DDS内部加上相应控制如调频控制FM、调相控制PM和调幅控制AM,即可以方便灵活地实现调频、调相和调幅功能,产生FSK、PSK、ASK和MSK等信号。另外,只要在DDS的波形存储器存放不同波形数据,就可以实现各种波形输出,如三角波、锯齿波和矩形波甚至是任意的波形。当DDS的波形存储器分别存放正弦和余弦函数表时,既可得到正交的两路输出。 6)其他优点
由于DDS中几乎所有部件都属于数字电路,易于集成,功耗低、体积小、重量轻、可靠性高,且易于程控,使用相当灵活,因此性价比极高。
3.2.2 AD9851 DDS芯片简介
图4虚线内是一个完整的可编程DDS系统,外层虚线内包含了AD9850的主要组成部分。
图4 AD9850组成原理
图13-3为AD9850的内部结图
图5: AD9850的内部结构图
AD9850内含可编程DDS系统和高速比较器,能实现全数字编程控制的频率合成。可编程DDS系统的核心是相位累加器,它由一个加法器和一个N位相位寄存器组成,N一般为24~32。每来一个外部参考时钟,相位寄存器便以步长M递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°~360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC以输出模式量。相位寄存器每过2NM个外部参考时钟后返回到初始
状态一次,相位地正弦查询表每消费品一个循环也回到初始位置,从而使整个DDS系统输出一个正弦波。输出的正弦波周期T0Tc2NM,频率foutMfc2N,Tc、fc分别为外部参考时钟的周期和频率。
AD9850 采用32 位的相位累加器将信号截断成14 位输入到正弦查询表,查询表的输出再被截断成10 位后输入到DAC,DAC 再输出两个互补的电流。DAC 满量程输出电流通过一个外接电阻Rset调节,调节关系为Iset=32(1.148V/RSET),Rset的典型值是3.9K。将DAC 的输出经低通滤波后接到AD9850 内部的高速 比较器上即可直接输出一个抖动很小的方波。AD9850 在接上精密时钟源和写入频率相位控制字之后就可产生一个频率和相位都可编程控制的模拟正弦波输出,此正弦波可直接用作频率信号源或经内部的高速比较器转换为方波输出。在125MHz 的时钟下,32 位的频率控制字可使AD9850 的输出频率分辨率达
45,90,22.5,0.0291Hz ;并具有5 位相位控制位,而且允许相位按增量180,
11.25或这些值的组合进行调整。
3.2.3 AD9850 的控制字与控制时序
AD9850 有40 位控制字,32 位用于频率控制,5 位用于相位控制。1 位用于电源休眠(Power down )控制,2 位用于选择工作方式。这40 位控制字可通过并行方式或串行方式输入到AD9850,在并行装入方式中,通过8 位总线D0…D7 将可数据输入到寄存器,在重复5 次之后再在FQ_UD 上升沿把40 位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS 输出频率和相位),同时把地址指针复位到第一个输入寄存器。接着在W_CLK 的上升沿装入8 位数据,并把指针指向下一个输入寄存器,连续5 个W_CLK 上升沿后,W_CLK 的边沿就不再起作用,直到复位信号或FQ_UD 上升沿把地址指针复位到第一个寄存器。在串行输入方式,W_CLK 上升沿把25 引脚的一位数据串行移入,当移动40 位后,用一个FQ_UD 脉冲即可更新输出频率和相位。图6是相应的控制字并行输入的控制时序图。表1为40位控制字各位的功能。
DATAW0W1W2
W3W4
REF CLK
DATA
图6 控制字并行输入时序
3.2.4 主控制模块
本设计的主控制部分由一个单片机完成,采用STC89C52单片机,主要是考虑到其实用性、通用性、性价比高。主控制的框图如下:
7 主控模块方框图
(1) 键盘输入部分:本部分的功能是方便使用者对输出波形的各种设置,共有16个按键,分别为:
数字键:0——9; (10个) 符号键:小数点’.’; ( 1 个) 步进控制键:↑和↓;( 2 个) 输出波形选择键; ( 1 个) 模式设置选择键; ( 1 个) 确认键。 ( 1 个)
数字键0——9及符号键小数点’.’:用于使用者对各种设置的数字直接输入。 步进控制键:↑和↓。方便使用者对各种设置的步进调节。例如:当为正弦信号(SIN)输出时,用于输出频率f的步进调节,会自动根据当前的模式以10Hz或100Hz的频率进行步进调节;
输出波形选择键:用于选择所要的波形,有正弦、脉冲、二进制相移键控(PSK)、二进制幅移键控(ASK)4种输出波形。
模式设置选择键用于设置各种模式。例如:当为正弦信号(SIN)输出时,可有频率为10HZ/STEP、100HZ/STEP步进频率调节模式。
(2)AT89S52单片机部分:这部分主要接受使用者从键盘所输入的各种操作,并且对其进行处理后,在LCD上显示,并根据需要对AD9850输出各种命令控制字,以实现使用者的各种操作。
(3)LCD显示部分:用于显于当前的工作情况,当前所输出的波形及当前波形的各种参数。以及当前使用者所做的处的工作模式,以方便使用。
(4)AD9850部分:用于根据使用者的设置,接受从单片机处理后所送来的控制字
和命令字,实现使用者所要的各种波形并进行输出。(原理在前面所详述) 本部分的程序流程图如下所示:
图8 程序流程图
3.2.4 电源模块
正弦信号和方波信号发生器需用到DDS芯片AD9850来产生信号源,且用于负载增益放大的OP37运放正常工作电压为+/-15V,还使用到单片机工作电压+/-5V来控制系统等。所以系统使用的直流稳压电源电压需要多个值,且要求电压输出稳定,纹波电压小。为此,我我们本系统中需使用到+15V,+5V和-15V,-5V稳压电源,因此将稳压电源的输出端设定为+/-15V,各模块根据各自需要用7800和7900系列稳压芯片来产生所需的稳压电源。(电源模块的原理图如下图所示)
图9 稳压电路原理图
3.3
3.3.1 幅度放大模块
由AD9850产生的正弦信号和方波信号经过滤波之后,幅度只有几百毫伏,达不到题目的Vpp>=1V的要求,所以要进行幅度的放大,由于要求产生的信号频率从100Hz达到1MHz,带宽要求并不是很大,OP37是一款低噪声、精密、高速运算放大器,具有的63MHz增益带宽,并且鉴于AD9850外围电路含有调幅环节,因此我们选择采用OP37来作为幅度放大环节。幅度放大原理图如下图所示:
系统的理论分析和实际设计Ⅱ——发挥部分
图10 幅度放大电路
3.3.2 基带的二进制伪随机序列产生模块
发挥部分要求基带信号自行产生,我们就用移位寄存器和异或门电路来产生伪随机序列。 伪随机序列的原理
图11为4级伪随机序列产生的逻辑框图。给寄存器赋除全零外的任何二进制序列作为初始值,当移位时钟脉冲上升沿到来时,每级寄存器的输出作为近邻寄存器的输入,实现数值的右移。其中,第4级Q非与第3级的输出模二加(异或)后移入第1级寄存器。产生一个长度为15个时钟脉冲周期的二进制伪随机序列。
图11 4伪随机序列产生的逻辑框图
对于一个n级的线性反馈移位寄存器所产生的二进制序列而言,把产生的最大长度序列称为m序列,其长度N=2n-1。不同长度的m序列由不同的线性反馈结构决定,可以用n次本原多项式
进行表示
其中:Ci为第i级的反馈系数,取值为1或0。表1为部分本原多项式系数,其中列出的整数表示反馈系数为1的级数。
此外,产生相同长度m序列的反馈结构也不是唯一的,由所对应的不同本原多项式决定,其
不同本原
我们设计的是4级移位寄存器,即n=4,第4级Q非与第3级的输出模二加(异或)后移入第1级寄存器。产生一个长度为15个时钟脉冲周期的二进制伪随机序列。在maxplux2进行仿真可得到如下的波形
(时间轴缩小后看如下)
图12 4级随机序列在maxplux2进行仿真波形图
此伪随机信号作为PSK和ASK的基带信号。 3.3.3 二进制 PSK和ASK的产生电路模块
PSK、ASK是数字通信领域常用的调制方式。二进制PSK就是把二进制基带信号调制成带通的相位随基带信号变换的正弦信号。
相移键控(PSK)如下所示
图13 相移键控
由上图可知,当基带信号是0的时候带通的正弦信号是0度相位,当基带信号是1的时候带通的正弦信号是180度相位,这就是二进制的PSK。我们实现这个电路的方法是通过单片机接收基带的伪随机信号,判断这信号是0或是1,分别使AD9851产生0度或180度的相位的带通正弦信号。由上文的表1可以知道控制字W0的高5位是产生相移的控制位。当要产生0度相位的正弦载波信号时就向AD9851写00给W0,当要产生180度相位的正弦载波信号时就向AD9851写80给W0。这就实现了2进制的PSK。
幅移键控(ASK)如下:
图14 幅移键控
由上图可知,当基带信号是0的时候存在带通的正弦信号,当基带信号是1的时候无带通的正弦信号,这就是二进制的ASK。我们实现这个电路的方法是通过单片机接收基带的伪随机信号,判断这信号是0或是1,分别使AD9851产生的带通正弦信号存在或者被旁路。由上文的表1可以知道控制字W0的第3位data2是产生使输出是否被旁路的信号控制位。当要使正弦载波信号旁路时候时就向AD9851写04给W0,当要使正弦载波信号正常输出时就向AD9851写00给W0。这就实现了2进制的ASK。
其中,四位移位寄存器有4个D触发器前后相连构成,在此我们选用芯片74LS74
(双上升沿D触发器);而我们采用芯片74LS86(四组2输入异或门)来使用其异或门的环节。基带的二进制伪随机序列产生模块的电路图如下所示:
图15 基带的二进制伪随机序列产生电路图
4、测量结果及分析
4.1 正弦波输出频率范围测试
fmin= HZ fmax= HZ
4.2 脉冲波输出频率范围测试
fmin= HZ fmax= HZ
4.3 频率设置功能为
频率步进:10HZ 频率步进:100HZ
任意频率设置:可以设置的频率在1KHZ-10MHZ之间任意为10HZ的频率
4.4 输出频率稳定测试
设定频率为f,输出频率为
f0,数据如下表所示(单位:HZ):正弦波
设定频率为f,输出频率为f0,数据如下表所示(单位:HZ):脉冲波
4.5 输出电压幅度测试(f0单位:HZ;V0pp单
位:V) 基础部分,正弦波
发挥部分,正弦波
5 系统性能总结及特点
5.1、我们按照题目要求实现了所有的基本功能,包括有:(待修改~)
(1)正弦波输出频率范围:100Hz~1MHz; (2)具有频率设置功能,频率步进:100Hz; (3)输出信号频率稳定度:优于10-4;
(4)输出电压幅度:在50负载电阻上的电压峰-峰值Vopp约为1.5V左右;
(5)失真度:用示波器观察时无明显失真。 (6)频率的数字显示:5位;
(7) 产生100Hz的正弦波,通过信号源输入标准100HZ正弦波在示波器采用双通道观察其波形,无明显差别
5.2、我们在发挥部分实现了以下多种功能:
(1)正弦波和脉冲波频率步长:10Hz;
(2)增加输出电压幅度:在频率范围内50负载电阻上正弦信号输出电压
的峰-峰值Vopp=2V左右;
(3)正弦波幅度可步进调整,调整范围:100mV~3V(或5V),步长为100mV; (4)产生二进制PSK、ASK信号:在100kHz固定频率载波进行二进制键控,
二进制基带序列码速率固定为10kbps,二进制基带序列信号自行产生; 参考文献
1、黄正瑾、田良·电子设计竞赛赛题解析·东南大学出版社·2004年·第一版 2、黄智伟、陈文光·全国大学生电子设计竞赛训练教程·电子工业出版社·2005年·第一版
3、王松武·电子创新设计与实践·国防工业出版社·2005年·第一版 4、童诗白、华成英·模拟电子技术基础·高等教育出版社·2000年·第二版 5、阎石·数字电子技术基础·高等教育出版社·1997年·第四版
6、张肃文、陆兆熊·高频电子线路·高等教育出版社·1983年·第三版
附录
附录1 主要元器件清单 附录2 印制板图 附录3 程序清单
附录1 主要元器件清单
附录2 印制板图 1 AD9850 印刷电路板
2 STC89C52单片机主控板
3 稳压&液晶 电路板
3 基带&放大 电路板
附录3 程序清单