基于DDS技术的数控信号发生器的设计毕业作品.docx
- 文档编号:9122570
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:28
- 大小:1.17MB
基于DDS技术的数控信号发生器的设计毕业作品.docx
《基于DDS技术的数控信号发生器的设计毕业作品.docx》由会员分享,可在线阅读,更多相关《基于DDS技术的数控信号发生器的设计毕业作品.docx(28页珍藏版)》请在冰豆网上搜索。
基于DDS技术的数控信号发生器的设计毕业作品
毕设
业计
(20届)
基于DDS技术的数控信号发生器的设计
所在学院
专业班级电子信息工程
学生姓名学号
指导教师职称
完成日期年月
摘要
近几年来,随着DDS技术的不断完善和发展,其输出频率、杂散、相位噪声、功耗、集成化等各项性能指标较早期产品已有大大提高,出现了一系列的优秀产品。
由于其在频率合成以及信号调制等方面出色的性能,应用范围已扩展到通信、宇航、遥控遥测、仪器仪表等各项电子领域。
文章选择利用DDS技术,利用单片机控制DDS芯片AD9850产生正弦信号,同时为了使的功能更加完善,增加点频,扫频,跳频功能。
先进行硬件设计,再把编写的相应程序下载,调试,最后通过示波器观察输出波形。
DDS输出频率为1Hz-10MHz的正弦信号。
关键词:
信号发生器;DDS;函数;硬件;波形
Abstract
Inrecentyears,withtheDDStechnology,continuousimprovementanddevelopment,theoutputfrequency,spurious,phasenoise,powerconsumption,integration,andotherperformanceindicatorshavebeengreatlyimprovedoverearlierproducts,therehasbeenaseriesofexcellentproducts.Becauseofitssyntheticandsignalmodulationinthefrequencyandsoonoutstandingperformance,rangeofapplicationshasbeenextendedtocommunications,aerospace,remotetelemetry,instrumentationandotherelectronics.
SelecttheoptionofusingDDStechnologyarticles,MicrocontrollerchipusingDDSAD9850Sinesignal,andinordertomakemoreperfectthefunctionofanincreasepointfrequencysweep,frequency-hoppingcapabilities.Firsthardwaredesign,thenwritethecorrespondingprogramdownload,debug,andfinallythroughtheoscilloscopeoutputwaveform.DDSoutputfrequencyis1Hz-10MHzsinusoidalsignal.
KeyWords:
Signalgenerator;DDS;Function;Hardware;Waveform
1引言
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。
1971年,美国学者提出了以全数字技术,从相位概念出发直接合成所需波形的一中新的频率合成原理,称之为直接数字频率合成器(DDS)[7]。
这是频率合成技术的一次重大革命。
但是限于当时微电子技术和数字信号处理技术的限制,DDS并没有得到足够的重视,随着现代超大规模集成电路集成工艺的高速发展,使得数字频率合成技术得到了质的飞跃,它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面,已远远超过了传统频率合成技术所能达到的水平。
但是由于DDS数字化实现的固有特点,决定了其输出频谱杂散较大,从20世纪80年代末开始通过深入的研究认识了DDS杂散成因及其分布规律后,对DDS相位累加器进行了改进,ROM数据进行了压缩,使用了抖动注人技术以及对DDS工艺结构和系统结构进行了改进。
这些改进技术促使了AD、Qualcomm、stanford等公司一系列优良的DDS器件不断出现[1]。
但工艺的完善并没有彻底解决DDS中DAC的瞬态毛刺和非线性这些固有缺陷,而这些问题还会随着温度变化和电路工艺引人的数字噪声等发生随机变化,他们所带来的输出信号频谱质量劣化很难改善[2]。
目前为止,DDS输出的频谱杂散很少有做到-60dB以下的产品,一般比较好的产品都在-70dB左右。
近几年来,随着DDS技术的不断完善和发展,其输出频率、杂散、相位噪声、功耗、集成化等各项性能指标较早期产品已有大大提高,出现了一系列的优秀产品。
由于其在频率合成以及信号调制等方面出色的性能,应用范围已扩展到通信、宇航、遥控遥测、仪器仪表等各项电子领域[1]。
2总体设计
2.1本设计任务
(1)DDS输出频率为1Hz-10MHz的正弦信号。
(2)为了增加频率控制方式的多样性,设计频率控制的3种方式:
点频,扫频,跳频,默认时为跳频。
(3)要求输出信号的幅度可以调节。
(4)具有功能按键及LED亮灯标志,同时液晶显示器上显示相应的功能,及频率的大小。
2.2方案比较
根据题意,信号发生器要产生一个正弦波,还要实现频率控制的多样性,为了使本设计的稳定性、精确性与实用性等方面,描述了下面三种方案进行比较。
方案一:
该方案采用单片机的定时器产生信号,由于定时器的定时时间只能是整数,因此,不可避免会在一些频率点上产生误差,为此,用Excel对计数值、真实频率值作了测算,经过测算表明,当采用12M晶振时,绝对误差最大约0.12HZ(492Hz处),相对误差最大约0.024%(492Hz处)。
当然,这仅是理论值,考虑到单片机定时中断的响应时间等因素,实际的误差肯定要比这个计算值大,但是要达到±1%的精度要求并不难,而其长期工作的稳定性取决于晶振的稳定度,并且晶振频率的变化引起的输出频率的变化也很微小,因此其长期工作稳定性也很好。
但此方案较繁琐,波形也不稳定[14]。
方案二:
目前市场上可以见到很多采用先进CMOS工艺生产的高性能和多功能的专用DDS芯片,但是在某些场合,专用DDS芯片在控制方式、频率控制等方面与系统的要求差距很大,这时用FPGA按照自己的需要来“定制”DDS电路,是一个很好的解决方案。
FPGA能达到较高的系统时钟频率,用它实现DDS电路,其输出频率可接近与时钟频率;还可以根据需要实现各种复杂的调频、调相、调幅功能,具有良好的实用性和可控性。
采用这种方法设计的DDS具有集成度高、电路设计简单、功耗低、分辨率高等特点,具有相当大的灵活性和很高的实用价值[10]。
方案三:
采用通用的51单片机C8051为主控制器,AD9850与单片机之间采用串行连接方式,参考时钟由125MHZ的晶体振荡器产生。
DDS信号输出频率为,只要更改频率控制字即可得到不同频率的正弦信号。
扫频信号的产生是采用单片机定时更改AD9850的频率控制寄存器的值,从而得到不同频率的信号;点频信号的产生,把键盘输入的值更改AD9850的频率控制寄存器值,从而产生规定的频率信号。
由于AD9850产生的信号强度比较小,需将信号经过放大滤波后输出。
键盘用于设置扫频信号的起始、截止频率和步进值。
液晶显示是显示工作模式,以及频率值。
原理图如图2-1。
图2-1信号发生器原理图
比较结论:
从题目要求来看,上述三种方案都可以满足题目合成频率范围的要求,但信号发生器产生的频率稳定度、精确度都不如DDS合成的频率,锁相频率合成技术很难将波形频谱显示无杂波,所以选择DDS芯片的方案进行本方案。
在系统设计过程中,力求硬件线路简单,充分发挥软件编程方便灵活的特点,来满足系统设计要求。
3硬件设计
3.1DDS原理
DDS技术是一种把一系列数字量形式的信号通过DAC转换成模拟量形式的信号合成技术。
目前使用最广泛的一种DDS方式是利用高速存储器作查找表,然后通过高速DAC产生已经用数字形式存入的正弦波。
DDS的理论基础是香农抽样定理。
抽样定理内容是:
当抽样频率大于等于模拟信号频率的2倍时,可以由抽样得到的离散信号无失真地恢复原始信号。
在DDS中,这个过程被颠倒过来了。
DDS不是对一个模拟信号进行抽样,而是一个假定抽样过程已经发生且抽样的值已经量化完成,如何通过某种映射把已经量化的数值送到D/A及后级的LPF重建原始信号的问题[8]。
正弦输出的DDS原理框中的系统时钟及参考频率源为高稳定度的晶体振荡器,其输出用于DDS中各器件同步工作。
DDS工作时,频率控制字FCW在每一个时钟周期内与相位累加器累加一次,得到的相位值(0~2π)在每一个时钟周期内以二进制码的形式去寻址正弦查询表ROM,将相位信息转变成相应的数字化正弦幅度值,ROM输出的数字化波形序列再经数模转换器(DAC)实现量化数字信号到模拟信号的转变,最后DAC输出的阶梯序列波通过低通滤波器(LPF)平滑滤波后得到一个纯净的正弦信号。
DDS的系统框图如下图3-1。
图3-1DDS系统框图
DDS的频率分辨率为:
(3-1)
DDS的输出频率为:
(3-2)
式中:
f0为DDS的输出频率;fr为参考时钟频率;N为相位累加器长度位数;K为频率控制字。
通常,相位累加器位数较大,例如N=32或48,故用DDS技术能得到较高的频率分辨率。
3.2AD9850芯片介绍
AD9850是AD公司生产的最高时钟为125MHz、采用先进的CMOS技术的直接频率合成器,主要由可编程DDS系统、高性能模数变换器(DAC)和高速比较器3部分构成,能实现全数字编程控制的频率合成[4]。
输出电流和可调电阻关系为:
I=32*(1.248/R),当电阻为3.9K时,DAC的输出电流为10mA,这样在100
电阻上的峰峰值为1V。
所以输出电压会随着电阻R的变大而变大。
AD9850在接上精密时钟源和写入频率相位控制字之间后就可产生一个频率和相位都可编程控制的模拟正弦波输出,此正弦波可直接用作频率信号源或经内部的高速比较器转换为方波输出。
在125MHz的时钟下,32位的频率控制字可使AD9850的输出频率分辨率达0.0291Hz;并具有5位相位控制位,而且允许相位按增量180°、90°、45°、22.5°、11.25°或这些值的组合进行调整。
AD98508位数据线D0~D7,AD9850的频率/相位控制字一共有40位,采用并行加载方式时,需连续加载5次。
串行方式时,仅使用D7位(管脚25),AD9850引脚WCLK是加载时钟,与引脚FQUD配合,完成数据加载,FQUD为频率/相位更新控制,在FQUD的上升沿,DDS更新频率、相位,同时将指针指向第一个寄存器W0,CLKIN是AD9850的参考时钟,即芯片的工作时钟频率,可由晶振提供,本文中选择AD9850的时钟为125MHz,数据传送采用串行方式,连接图如下
图3-2AD9850连线图
3.3滤波器
一般用一个可实现的衰减特性来逼近理想特性,且使衰减的变化处在所规定的容限之内,根据不同的逼近原则、不同的衰减特性,选择不同响应的滤波器。
低通滤波器的频率响应主要有三种:
巴特沃斯滤波器(最平坦响应滤波器)、契比雪夫滤波器、椭圆函数滤波器[9]。
巴特沃斯滤波器的响应最为平坦,它的通带内没有波纹,在靠近零频处,有最平坦通带,趋向阻带时衰减单调增大,缺点是从通带到阻带的过渡带最宽,对于带外干扰信号的衰减作用最弱,过渡带不够陡峭。
契比雪夫滤波器在通带内衰减在零值和一个上限值之间做等起伏变化,阻带内衰减单调增大,带内有起伏,但过渡带比较陡峭。
椭圆函数滤波器不仅通带内有起伏,阻带内也有起伏,而且过渡带陡峭。
比较起来,椭圆函数滤波器性能更好。
椭圆函数滤波器又叫考尔(Cauer)滤波器,它的传递函数在有限频率上既有零点又有极点,零极点在通带内产生等波纹,但零点在阻带内减小了过渡区,因此可以得到陡峭的衰减曲线。
椭圆函数滤波器的传递函数为[3]:
(3-3)
其中,ε为波纹参数,En(Ω)为n阶椭圆函数,用零极点式可表示为:
(3-4)
当n为奇数时,m=(n-1)/2。
(3-5)
当n为偶数时,m=n/2。
滤波器的设计要根据滤波器的通带最大衰减AP或通带边界反射系数ρ、阻带最小衰减As和选择因子K,确定其阶数n,然后根据相应的曲线和归一化的元件值,得到去归一化后实际的元件值。
参数fP、fS、K和n知道其中3个就可以求出另1个。
它们之间存在特定的关系可以近似表示为:
(3-6)
q(k)是选择性因子k的单值函数数。
(3-7)
选择性因子K=fP/fS,(fp为通带的上限频率,fs为阻带下限频率),显然K越小,过渡带越窄。
在工程中常用模角θ=sin-1k来表示k。
由于AD9850所加时钟为125M,最大输出频率为0.5
125M=62.5M,实际设计时候由于滤波器的限制,最大输出频率只为20%,也就是25M,在此设计椭圆滤波器的通带截止频率为fp=40M,通带内的最大衰减系数为AP==0.2dB,阻带的截止频率为fs=45M,阻带内的最小衰减系数AS==40dB,输入输出匹配电阻为100欧姆。
设计步骤:
(1)将fs对fp进行归一化得到:
。
(2)通带反射系数为
,
(通带波纹系数)
(3)椭圆滤波器的回波损耗为
,因此阻带内的衰减为A(p)+As=53.46dB。
(4)按照图3-3,根据横坐标为1.125,纵坐标为53.46dB的交点为位于曲线6和7的中间,因此可选择滤波器的阶数为7,因为n为奇数,所以模数K和模角可以直接由
求得:
(3-8)
(3-9)
一般情况下
选择的较预定值较大,在此设定为64o。
图3-3n与
,及ρ间的关系图
(5)根据
,可得出
和K=1.112。
(6)由此可以得出实际的截止频率为:
(3-10)
因此基准的电感和电容分别为:
(3-11)
(3-12)
(7)7阶的归一化参数值为:
C1=0.9967,C2=0.2284,L2=1.182,C3=1.310,C4=1.247,L4=0.6345,C5=1.078,C6=0.89,L6=0.7110,C7=0.6097,
将所有的电容乘以C0,电感乘以LO,就可以得到实际的参数值如下表。
u
Cu
Lu
1
39.21pF
2
8.98pF
464.998nH
3
51.53pF
4
49.056pF
249.6123nH
5
42.408pF
6
35.0126pF
279.7nH
7
23.98pF
表3-1元件值表
图3-4低通滤波器电路图
图3-5滤波器仿真图
从仿真图3-5上可以看到通带的截止频率基本为40M,但在10M到40M的范围内增益有起伏,由于此设计要求输出信号频率最大为10M,所以该滤波器满足要求。
3.4单片机系统C8051F005
[5]。
单片机的实物图和结构框图如图3-4:
图3-6单片机系统
3.5按键
图3-7按键及LED显示的原理图
图3-7为按键及LED显示的原理图。
从图中可以看出,按键平时接高电平,按下为低电平。
LED则为输入低电平时点亮。
当按下KEY1,发光二极管LED1点亮,实现跳频,按一下频率加10,当按下KEY2,发光二极管LED2点亮,实现跳频,按一下频率减10,当按下KEY3,发光二极管LED2点亮,实现跳频功能,当按下KEY4,发光二极管LED2点亮,实现调相功能。
3.6显示
主要采用HS12232-9型液晶模块为现实模块液晶显示模块主要是应用实验室的HS12232-9型液晶模块。
HS12232-9内置ST7920A驱动控制器,点阵为122*32,每行7个半汉字,共2行。
内部字型ROM包括8192个16*16点阵的中文字型和126个16*8的字母符号字型,另外还提供一个64*256点绘图区域(GDRAM)及240点的IC0NRAM,可以和文字画面混合显示。
内含的CGRAM有4组可编程的1616点阵的造字功能。
与单片机的接口有8位并行、4位并行、2/3线串行。
它采用低功率电源耗损,电压范围2.7~5.5V,功能齐全,汉字、点阵图形、ASCII码同屏显示;上下左右移动当前显示屏幕、清屏、光标显示、闪烁、睡眠、唤醒、关闭显示功能齐全[6]。
3-8为液晶显示与单片机的连接图。
图3-8HS12232-9与C8051F005的连接图
当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型[12]。
4软件设计
Siliconlabs的开发工具实质上就是计算机IDE调试环境软件及计算机USB到C8051F单片机JTAG口的协议转换器(UGC5)的组合SiliconLabsC8051F系列所有的单片机片内均涉及有调试电路,该调试电路通过便捷扫描方式获取单片机片内的信息,通过4线的JTAG接口与开发工具连接以便于进行对单片机在片编程调试。
NCD-CIP51F020系统实验设备中的C8051F202CPU板上的单片机为C8051F系列中的F020。
适配器(UEC5)一段与计算机相连,另一端与C8051F单片机JTAG口相连,应用SiliconLabs提供的IDE条数案件或Keil的uvision2调试环境就可以进行非侵入式、全速的在系统编程(IPS)和调试[8]。
SiliconLabs开发工具支持观察和修改存储器和寄存器支持断电、观察点、堆栈指示器、单步、运行和停止命令。
调试时不需要额外的目标RAM、程序存储器、定时器或通信通道,并且所有的模拟和数字外设都正常工作。
开发环境如图4-1。
图4-1开发环境图
4.1主程序部分
图4-2控制主程序流程图
主程序在上电时先完成对LCD和AD9850的初始化操作,然后默认进入跳频方式,将默认频率数据送至LCD和AD9850,最后进入查键程序的循环。
如果进入菜单模式,则可以选择跳频、扫频和调相功能。
进入跳频方式,按跳频加,则会加10,跳频减则减10。
进入扫频方式,则会按每秒10的速度加减。
进入调相方式,AD9850中有5bit用于相位控制。
因此,相位控制的精度为360°/25=11.25,用二进制表示为00001,根据实际需要,设置不同的相位控制字就可以实现精确的相位控制。
由于按键数量限制,无法进行点频功能。
主程序流程图如图4-2
while
(1)
{
Set_Freq(freq);
Set_Freq(freq);
temp1=read();
if(temp1!
=temp2)
{
xor1=temp1^temp2;
delay_ms(5);
temp2=read();
if(temp1==temp2)
{
wei1=xor1%2;temp_wei=temp2;
if(wei1!
=0)
{
wei2=temp_wei%2;
if(wei2==0)
{freq-=10;}//进入跳频减状态,每按一下频率减10
}
xor1>>=1;wei1=xor1%2;
if(wei1!
=0)
{
temp_wei>>=1;wei2=temp_wei%2;
if(wei2==0)
{freq+=10;}//进入跳频加状态,每按一下频率加10;
}
xor1>>=1;wei1=xor1%2;
if(wei1!
=0)
{
temp_wei>>=2;wei2=temp_wei%2;
if(wei2==0)
{TR2=1}//开启扫频模式
}
xor1>>=1;wei1=xor1%2;
if(wei1!
=0)
{
temp_wei>>=3;wei2=temp_wei%2;
if(wei2==0)
{调相}//进入调相模式
}
}}
}//endofwhile
(1)
}
当按下KEY1,则进入跳频加状态,每按一下频率加10;当按下KEY2,则进入跳频减状态,每按一下频率减10;当按下KEY3,则开启扫频模式,系统则会按每10秒加减频率,直到频率到达峰值,就跳回初始值;当按下KEY4,系统则进入调相模式,当送入相位控制字为00100的时候,波形则45°旋转,当送入相位控制字为01000的时候,波形则90°旋转,当送入相位控制字为10000的时候,波形则180°旋转,当送入相位控制字为10100的时候,波形则225°旋转,当送入相位控制字为11000的时候,波形则270°旋转。
当送入相位控制字为11100的时候,波形则315°旋转。
4.2AD9850初始化流程
在串口操作方式下,AD9850的D2应接地,D0或D1应接电源正极。
在开机上电时,主机向移位控制时钟(W_CLK)线发一个正脉冲,接着向频率更新控制引脚(FQ_UD)发一个正脉冲即可初始化为串口操作模式。
初始化程序如下图4-3:
图4-3初始化流程图
程序如下:
voidDDS_init()
{FQ_QD_AD9851=0;
CLK_AD9851=0;CLK_AD9851=1;CLK_AD9851=0;FQ_QD_AD9851=1;FQ_QD_AD9851=0;
}
4.3串行发送流程
在串口操作模式下,AD9850每次修改输出频率都要送入4个字节的频率控制字及1字节的控制字。
这5字节组成40位的控制串行数据一次移入AD9850内部控制寄存器,每字节移位时先发低位,后发高位。
在串行频率控制输入时,最后一个控制字节为00H,相位控制设为0。
时钟的上升沿将一位数据移入AD9850,低电平时改变输入位数据,在40位频率控制数据移完后从FQ_UD线上发一个正脉冲结束输入,并将AD9850内部的串行寄存器中的数据送入频率控制单元,实时改变输出的正弦波频率,串行频率控制时序如图4-4。
设输出信号的频率为fout,参考频率为fref,AD9850的频率控制字为△f,则三者之间的关系为△f=(fout×232)/fref。
例如,当参考频率为125MHz,输出频率为10MHz时,向AD9850写入的频率控制字为△f=(10×232)/125[15]。
图4-4串行频率控制时序图
voidSentFreq()
{
unsignedchari;
unsignedinttemp;
FQ_QD_AD9851=0;
for(i=0;i<32;i++)//串口数据输入频率控制字
{
CLK_AD9851=0;
temp=((freq_dds>>i)&1);//频率控制字进行一位位输入
DataIn_AD9851=temp;
CLK_AD9851=1;//数据当输入到32位时,时间暂停
}
for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DDS 技术 数控 信号发生器 设计 毕业 作品
![提示](https://static.bdocx.com/images/bang_tan.gif)