序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于DDS的信号源的设计
1 硬件电路设计
1.1 直接数字频率合成模块
这里我们采用的是AD公司的DDS系列芯片之一的AD9851,其优异的功能,尤其是其先进的CMOS工艺,使其得到广泛的应用。下面就介绍AD9851的原理及性能。
1.1.1 AD9851内部结构
AD9851芯片是AD公司生产的最高时钟频率为180MHz,采用先进的CMOS技术的高集成度直接数字式频率合成器件。它由一个高速DDS,一个高性能DAC以及比较器等构成一个完全数字控制可编程频率合成器,其时钟输入端内置一个6倍频器,并且具有始终产生共嫩能够。AD9851的原理框图如图1.1所示:
图1.1 AD9851原理框图
AD9851芯片的主要性能特点有:① 语序最高输入时钟180MHz,同时可选择是否启用内含的6倍频乘法器;② 带有高性能的十位数模转换器;③ 内含一个高速比较器;④ 具有简化的控制接口,允许串/并行异步输入控制字;⑤ 采用32位频率控制字;⑥ 内部使用5位相位调制字;⑦ 允许工作电源范围:+2.7
+5.25v;⑧ 可以工作在掉电方式(低功耗):4mW+2.7v;⑨ 其自由寄生动态范围(SFDR)>43dB@70MHz输出;⑩ 采用极小的28脚贴片式封装。
AD9851可用作一个高精度的可编程的数字频率合成器和时钟生成器,当参考时钟源的频率精度很高时,AD9851输出的数字化的模拟正弦波的频率和相位都很稳定,生成的正弦波经滤波后可直接用作频率源,也可通过内部的比较器转换成方波作时钟源。
由于AD9851的核心具有32bits的频率控制字,当系统输入时钟频率为180MHz时,其输出频率分辨率接近0.024Hz。AD9851还提供5bits的可编程相位控制字,其输出相位可以以11.2
的增益改变。可编程启用AD9851内部集成的6倍频参考时钟乘法器这样输入的时钟频率不需要很高,且该乘法器具有很小的SFDR和相位噪声。
1.1.2 AD9851芯片引脚分布及功能介绍
AD9851芯片引脚分布如图1.2所示:
图1.2 AD9851引脚分布
AD9851内含一个40bits的积存器,用于储存32位控制字,5位相位调制字以及6倍频参考时钟乘法器使能和芯片掉电方式控制字。AD9851的控制数据,频率控制字和相位调制字可以以并行或串行异步两种方式输入。并行输入时没次输入8bits分5次连续输入,其中,头8bits控制输出相位,6倍频器启动/关闭,掉电工作方式以及输入方式,余下的32bits是频率控制字;串行输入时,40bits串行数据通过其一根数据线(D7)依次串行输入。表1.1列出了AD9851各引脚功能:
引脚号 | 引脚名 | 功能 |
4~1 28~25 | D0~D7 | 8位数据输入端,用来装入32位频率和8位相位控制字,D0为最低有效位,D8为最高有效位,同时D7用作40位串行数据输入引脚。 |
5 | PGND | 6倍频参考时钟乘法器接地端。 |
6 | PVCC | 6倍频参考时钟乘法器正电源电压引脚。 |
7 | W CLK | 字输入时钟端。上升沿异步装入并行或串行的频率/相位控制字到40位输入寄存器。 |
8 | FQ U | 频率更新端。上升沿异步将40位寄存器的内容DDS核心,使其工作。只有当输入寄存器中的内容是允许的有效数据时才能发出一个FQ UD信号。 |
9 | REFCLOCK | 参考时钟输入端。CMOS/TTL电平脉冲序列,直接或经过6倍频乘法器输入。直接输入方式下,其输入即是系统时钟,如果6倍频乘法器工作,则乘法器的输出是系统时钟。系统时钟的上升沿有效。 |
10,19 | AGND | 模拟地。数模转换器和比较器的模拟接地端 |
11,18 | AVDD | 18脚为数模转换器和比较器的模拟电路正电压端,11脚为参考基准电压 |
12 | Rset | 数模转换器外部管脚。Rset通过一个3.92 的小电阻为参考基准电压。 |
13 | VOUTN | 负电平输出端。比较器的互补CMOS逻辑负电平输出。 |
14 | VOUTP | 正电平输入端。比较器的CMOS逻辑正电平输出。 |
15 | VINN | 负电平输入端。比较器反向输入。 |
16 | VINP | 正电平输入端。比较器正向输入。 |
17 | DACBP | 数模转换器的旁路连接端。 |
20 | IOUTB | 与IOUT端具有相同特性的DAC互补输出端,IOUTB=IOUT(SFDR最佳时)。 |
21 | IOUT | 数模转换器的正输入端。输出电流粗要转换为电压,一般通过电阻或转换器与地相接。 |
22 | RESET | 主复位端,高电平有效。可使DDS累加器及相位补偿寄存器清零。上电后,要先复位再写如程序控制字。 |
23 | DVDD | 数字电路的正电平输入端。 |
24 | DGND | 数字地。 |
表1.1 AD9851引脚功能表
AD9851采用先进的CMOS集成技术,当其工作在最高时钟频率180MHz,电源电压为+5v时,功毫仅为550mW,当电源电压大于3v时,它可在-40℃~+85℃下正常工作,当电源电压低于3v时,AD9851可在0℃~+85℃下工作。
上电复位后,AD9851相位累加器的值为0,输出直流,相位偏移寄存岂的值为0,内部程序地址指针指向W0,掉电位清零(不掉电工作),6倍频器不工作,但40位输入寄存岂未被清零,同时AD9851被自动置为行输入模式,40bits控制字通过8位数据线分5次装入40位输入寄存器,其8bits×5并行输入数据/控制字功能表如表3.2所示:
数据位 | W0 | W1 | W2 | W3 | W4 |
D7 | Phase-b4 (MSB) | Freq-b31 (MSB) | Phase-b23 | Phase-b15 | Phase-b8 |
D6 | Phase-b3 | Phase-b30 | Phase-b22 | Phase-b14 | Phase-b6 |
D5 | Phase-b2 | Phase-b29 | Phase-b21 | Phase-b13 | Phase-b5 |
D4 | Phase-b1 | Phase-b28 | Phase-b20 | Phase-b12 | Phase-b4 |
D3 | Phase-b0 (LSB) | Phase-b27 | Phase-b19 | Phase-b11 | Phase-b3 |
D2 | Power-Down | Phase-b26 | Phase-b18 | Phase-b10 | Phase-b2 |
D1 | Logic 0* | Phase-b25 | Phase-b17 | Phase-b9 | Phase-b1 |
D0 | 6×TEFCLOCK Multiplier Enable | Phase-b24 | Phase-b16 | Phase-b8 | Phase-b0 (LSB) |
表1.2 并行输入方式
其中,W0中的D3~D7为相位调制字,D2为掉电方式控制字,D2=0为非掉电方式,D2=1为掉电方式,D1在并行方式下始终为0,D0为6倍频器使能位,D0=0,6倍频不工作,D0=1,启用6倍频器,W1~W4为输入频率控制字。控制字输入受电平信号控制,WCLK端来5个上升沿,8bits×5次数据输入完后,40bit输入寄存器满,这时在端来一个上升沿,即可启动DDS核心工作产生所设置的频率信号,同时AD9851内部程序地址指针又回到W0。
串行输入控制字功能表如表1.3所示:
W0 | Freq-b0 LSB | W10 | Freq-b10 | W20 | Freq-b20 | W30 | Freq-b30 |
W1 | Freq-b1 | W11 | Freq-b11 | W21 | Freq-b21 | W31 | Freq-b31 |
W2 | Freq-b2 | W12 | Freq-b12 | W22 | Freq-b22 | W32 | Freq-b32 |
W3 | Freq-b3 | W13 | Freq-b13 | W23 | Freq-b23 | W33 | Freq-b33 |
W4 | Freq-b4 | W14 | Freq-b14 | W24 | Freq-b24 | W34 | Freq-b34 |
W5 | Freq-b5 | W15 | Freq-b15 | W25 | Freq-b25 | W35 | Freq-b35 |
W6 | Freq-b6 | W16 | Freq-b16 | W26 | Freq-b26 | W36 | Freq-b36 |
W7 | Freq-b7 | W17 | Freq-b17 | W27 | Freq-b27 | W37 | Freq-b37 |
W8 | Freq-b8 | W18 | Freq-b18 | W28 | Freq-b28 | W38 | Freq-b38 |
W9 | Freq-b9 | W19 | Freq-b19 | W29 | Freq-b29 | W39 | Freq-b39 |
表1.3 串行输入方式
当以串行异步方式输入控制字时,一般可先复位,再以并行方式输入第一个控制字W0=XXXXX011,然后在
端输入一个上升沿信号,即可将AD9851设置为串行输入模式,这时可以以串行方式立即输入40bits控制字。AD9851 40bits串行输入控制字功能如表3.3所示。在串行输入模式下,40个连续的
在这里给出了单片机控制下的直接数字合成模块并行输入方式的设计电路图1.3所示:
图1.3 AD9851及滤波器电路
选用一个20MHz高稳定有源晶振,既保证输出频率稳定,减小高频辐射,又提高了系统的电磁兼容能力。控制电路初始化AD9851,时钟信号为120MHz,DDFS在脉冲展宽信号的激励下产生线性调频信号。然后经过滤波器滤除带外的杂散和谐波分量,得到比较纯净的正弦信号。
下面分析AD9851实现准确频偏调频的计算过程:
AD9851有源晶振频率为20MHz, 内部6倍频,即工作频率120MHz,频率控制字FSW为32位,则1Hz频偏控制字ΔFSW为:
ΔFSW×10000=35.7913×10000=357913 (3.2)
10位ADC采样调频,则量化峰值
357913/512
699 (3.3)
则实时频偏控制字:
ΔFSW=频率控制字的改变值=(ADC采样值-直流电平)×699 (3.4)
1.2 单片机控制电路设计
AT89S51是一种带4K字节闪烁可编程可擦除只读存储器FPEROM的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.2.1 主要特性
·与MCS-51 兼容 ·128*8位内部RAM
·4K字节可编程闪烁存储器 ·32可编程I/O线
·寿命:1000写/擦循环 ·两个16位定时器/计数器
·数据保留时间:10年 ·5个中断源
·全静态工作:0Hz-24Hz ·可编程串行通道
·三级程序存储器锁定 ·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
1.2.2 主要功能介绍
VCC:供电电压+5V GND:接地
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
1.3 调幅模块设计
1.3.1 MC1496内部结构
振幅调制部分主要采用模拟乘法器集成芯片来实现。高频电子线路中的振幅调制,同相检波,混频,倍频,鉴频,鉴相等调制与解调的过程,都可以视为两个信号相乘或者包含相乘的过程。采用集成模拟乘法器实现上述功能比采用分立期间简单得多,而且性能优越。所以目前在无线通信,广播电视等方面应用较多。集成模拟乘法器的常见产品有MC1495/1496,LM1595/15966等。新产品有超高频模拟乘法器AD834(其带宽BW=500MHz~1GHz),AD835,超高精度模拟乘法器AD734(其带宽BW=40MHz,精度为0.1%),其中后面三种也都是美国AD公司的产品。本系统用比较普通的MC1496来实现调幅功能,它是MOTOROLA公司生产的,是通信专用IC,也是业余无线电收发讯机常用IC。下面介绍一下MC1496芯片。
MC1496是双平衡四象限模拟乘法器,其内部电路如图1.4所示:
图1.4 MC1496内部电路图
2 系统调试
根据方案设计要求,调试过程公分三大部分,硬件调试,软件调试,软件和硬件联调。电路按模块逐个调试,各模块调试通过后在联调。程序先在最小系统板调试,通过后在软硬联调。
2.1 硬件电路调试
2.1.1 调试与测试所用仪器
1.微机一台以及Protel软件;
2.信号源;
3.示波器;
4.万用表;
5.直流稳压电源;
6.失真度仪;
2.1.2 调试过程
高频电路抗干扰设计 AD9851的时钟频率很高,对周围的电路有一定的影响,我们采取了各种抗干扰措施。例如引线尽量短,减少交叉,尽量减少跳线,在电源输入端都加上去藕电容,数字地与模拟地分开,信号源与地尽量隔远,实践证明,这些措施对消除某些引脚上的毛刺及干扰噪声起到了很好的作用。将系统的各模块分开测试,调通后再进行整机调试,提高调试效率。
2.1.3 调试经验总结
1、系统属于高频电路,对干扰比较敏感,所以调试时应该远离高频干扰源。
2、在安装元件的时候,要特别注意器件的安装。例如三极管的引脚对应,电解电容的极性等,如果安装的时候不注意,在调试时就容易出现问题。
3、系统设计的是多模块的,一块板到另一块板的引线,电源的正负极性等要特别注意。解决问题的最好办法是用墨笔在板上做适当标注,这样不至于引起混淆。
4、由于系统应用了高频电路,设计电路时应该在电源旁边放置适当值的电容,以减少电源对系统的干扰,数据输入输出的波形也会比较“干净”。总之,要设计出一个性能良好的系统需要注意许多问题,在硬件设计的时候为减少外干扰应加入滤波。
2.2 软件调试
本系统的软件系统采用C编写,调试也是分模块进行,各个模块调试通过函数里调
这样写结构明了,出错时容易查错。
2.3 总调试
按程序定义的各个口分别把线接好,然后把程序写进单片机控制各个模块。依据设计要求,分别对输出波形、输出电压峰峰值、输出频率和功率放大器输出测试。
测试输出电压的峰峰值时,对放大电路和AGC电路参数的适当调整,使输出频率在0~10MHz之间变化时能够满足Vpp=6V±1V。
测试数据如下:
1. 基本要求测试
① 正弦波频率范围测试 幅频特性曲线
接50
负载,对输出电压测试,测试数据如表5.1:
表2.1
设置频率(Hz) | 实测频率(Hz) | Vpp(V) |
100 | 100.3 | 6.48 |
1k | 999.98 | 6.12 |
10k | 100001 | 6.12 |
100k | 100K | 6.2 |
1M | 1.0002M | 6.68 |
10M | 10.0003M | 5.3 |
13M | 13.0005M | 5.2 |
② 频率稳定度测试
负载为50,采用频率计对输出正弦波进行测试,测试数据如表5.2:
表2.2
设置频率(Hz) | 第一次计数数值 | 第二次计数数值 | 第三次计数数值 |
10 | 10 | 10.2 | 10.1 |
100 | 100.1 | 100.1 | 100.0 |
1k | 1.0001k | 999.98 | 999.98 |
10k | 10.0000k | 10.0001k | 10.0001k |
100k | 100.0000k | 100.0000k | 100.0001k |
1M | 1.0001M | 1.0001M | 1.0001M |
5M | 5.00005M | 5.00004M | 5.00004M |
10M | 10.00002M | 10.00002M | 10.00001M |
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!