摘要
近些年来,DDS信号发生技术不断完善,在频率合成和信号调制方面起到了重要的作用,被广泛应用于航空航天等测试测量领域。本文利用DDS技术,以单片机为控制核心,设计了数控信号发生器。硬件方面主要包括单片机最小系统、按键电路、LCD1602显示电路、DAC0832转换电路等;软件方面主要包括主程序设计,显示、按键检测和步进值调节等子程序。系统实现了产生三角波、方波、正弦波的功能,同时通过按键实现对波形频率和不同波形的选择,同时将发生的波形显示出来,达到观测的目的。
关键词:DDS;单片机;信号发生器
Abstract
In recent years, DDS signal generation technology has been continuously improved, which plays an important role in frequency synthesis and signal modulation. It is widely used in aerospace and other test and measurement fields. In this paper, a numerical control signal generator is designed by using DDS technology and single chip microcomputer as the control core. Hardware mainly includes MCU minimum system, key circuit, LCD1602 display circuit, DAC0832 conversion circuit, etc; The software mainly includes the main program design, display, key detection, step value adjustment and other subroutines. The system realizes the functions of generating triangular wave, square wave and sine wave. At the same time, the selection of waveform frequency and different waveforms is realized by pressing the key, and the generated waveforms are displayed at the same time, so as to achieve the purpose of observation.
Keywords: DDS; single chip; signal generator
目录
1 绪论 1
1.1设计概述 1
1.2国内外发展现状 1
1.3研究意义 2
2 总体设计 3
2.1设计任务 3
2.2方案比较 3
3 硬件设计 5
3.1 DDS原理 5
3.2 DAC0832数模转换电路 5
3.2.1 DAC0832芯片 5
3.2.2 数模转换电路 6
3.3 LM358放大电路 6
3.4 AT89C52单片机系统 7
3.4.1 单片机芯片 7
3.4.2 单片机最小系统 9
3.5按键部分 10
3.6显示部分 11
4 软件设计 12
4.1 主程序部分 12
4.2 DAC0832转换子程序 14
4.3控制子程序设计 14
4.3.1显示部分 14
4.3.2按键检测部分 17
4.3.3步进值调节部分 17
5 系统调试与分析 18
5.1 系统仿真调试 18
5.2 分析与结论 20
结论 21
参考文献 22
致谢 24
1 绪论
1.1设计概述
信号发生技术广泛应用与各种测量行业中,同时信号发生器作为比较常用的信号源设备,常见与各种电子器件之中,也是最为广泛的电子仪器,对于仪器中包含关于电的变量都需要应用于此。信号发生器的类型有很多,包括各种不同的信号发生、合成信号的发生,对于信号发生器要求也越来越高,提升性能的同时,对结构设计也有着较高的要求[1]。
信号发生器将信号进行运载,对于一些需要信号的仪器,信号发生器必不可少,信号发生器产生所需参数的电测试信号。作为信号检测和实际应用中必不可少的仪器设备,信号发生器主要有分为三种常用的结构,一是由分离式元件构成,利用振荡电路实现功能[2];二是采用专门波形发生芯片,通过设计好的芯片产生需要参数的波形;三是使用微处理器作为核心器件,主要是采用现代的电子控制技术实现。
分离式元件对于信号而言,在传输过程中可能会受到外界环境影响而失去一定的精准性,导致采集不到需要的波形。所以现代电子技术的进步带来更加稳定的控制实现方法,利用数模转换和微型处理器实现,主流方法包括单片机加数模转换芯片和FPGA加数模转换芯片[3],二者在造价和精度方面存在一定的差距,前者造价较低,后者精度较高。
在本次设计中,考虑到设计过程和实际的功能实现,采用前者的基本方案,利用现代电子技术,将数字信号转换为模拟信号,利用显示器件显示相关所需要的波形,实现设计的基本功能[4]。单片机系统具有多种特点,其接口能够与多种芯片进行通信,方便设计以及相关设计功能的实现,控制精度方面也比分离式控制方法更为可靠。
1.2国内外发展现状
DDS信号发生技术早在上世纪便提出,在初始的阶段因为硬件设备的落后在设计上仅仅停留在理论设计层面,后期集成电路工艺的不断发展,其具备了硬件开发实现的条件,实现从理论到实物的飞跃,但其数字化过程依然产生了较大的频谱散度,随着深入研究根据其杂散成因和分布规律[5],对相位的累加器进行改进,促使一些优秀的DDS器件产生,生产工艺问题依然会给其产生一定的影响,其固有的缺陷依然很难改善,随着现代电子技术的完善,DDS技术得到发展,成为主要的频率合成技术。
DDS通过硬件设计实现不同波形的控制发生,其实现的理论主要是对信号的采样和量化,存入存储设备中作为待产生信号的数据表。与其他的波形发生技术相比较,DDS能够输出稳定波形[6],即采样频率固定、全程数字化、信号频率转换时间短等特点。
1.3研究意义
DDS技术自身有着较为完善的特点和实现方法,同时结合相应的现代电子技术设计方法,原理方面也有着一定支撑,一定程度能够完善信号发生器的设计,将DDS技术与微处理器和各种功能芯片相结合,得到需要的波形,具有良好的使用价值和发展前景。
同时信号发生器常常应用与各种实际测试的场景中,信号发生器经过不断的完善能够适应一定精度范围内的要求,具有现实意义和实践意义。
2 总体设计
2.1设计任务
本次设计的主要任务就是围绕DDS技术结合现代电子器件的原理实现对信号发生器的设计,在分析DDS相关原理和结构的基础上,结合硬件设计和软件设计两部分实现相应的波形发生需求,产生三角波、方波、正弦波的,同时通过按键实现对波形频率和不同波形的选择,另能够将发生的波形显示出来,达到观测的目的。
2.2方案比较
根据设计的实际需求,主要是能够产生一定的频率的、正弦波和方波,且能够显示相关的波形,所以根据设计的实际情况,结合稳定性和精确性等等要求,有三种方案可供考虑选择。
方案一,在设计中采用单片机作为核心控制器件,同时由于其自身含有定时器和计时器,在理论上能够产生一定的频率的波形,由于其定时器的定时时间需为整数,因为在频率的控制上可能会出现一定的偏差,倘若采用12Mhz晶振时,相对误差将达到0.024%[7],同时还要考虑到单片机中中断响应的过程时间,在系统实现过程中产生额外的误差,但是总的误差不会太大,所以其稳定性主要依靠晶振来决定,晶振自身的变化可能到时输出的频率变化也不会太大,稳定性方面也得到了保证。
方案二,利用CMOS组成的专用芯片来作为信号发生的主要器件[8],CMOS所生产的专用芯片在频率控制和波形发生方面可能与系统需求有着一定的差距,这就需要FPGA按照设计的需求进行改变,根据既定的系统时钟频率实现相应的电路,同时还能够实现更为复杂的调相、调幅等等功能[9],这种方法所实现的信号发生器具有良好的可控性和稳定性,同时设计结构较为简单,可作为实施方案之一。
方案三,同样是采用单片机作为核心的控制系统,但是信号发生不依靠单片机自身来控制,借用数模转换器件来实现,根据用户选择的波形单片机将数字信号传送到数模转换器件中,经过运算放大器呈现不同频率不同形态的信号,数模转换器件与单片机之间采用串行的连接方式,参考时钟由晶振电路产生,通过改变频率的控制字即能够改变相应频率[10],因为经过数模转换产生的模拟信号较弱,所以需要设计相应的放大电路输出对应的信号波形。主要的原理由下图2-1所示,其中还包括键盘输入功能,目的是选择相应信号波形和频率,同时还包括显示功能,目的是能够将选择波形和频率显示出,方便选择波形和修改波形频率。
图2-1 系统工作原理
比较结论,根据以上的三种方案,都能够满足基本的设计需求,但是三种方案在精度上存在一定的差距,方案一和方案二所选用的信号发生器所产生波形不论是在信号的精确度亦或是稳定度都不如DDS合成技术,同时在本次设计中,本着设计硬件线路简单、发挥软件设计灵活性的原则,选择方案三作为设计的方案。
3 硬件设计
硬件设计部分根据前文基本的设计方案进行设计,从相关的原理到具体的硬件电路结构设计,解决具体的引脚接线与电路问题。
3.1 DDS原理
DDS的基本原理是将数字量转化为模拟量的信号合成技术,在本次设计中采用的工作原理是利用高速存储器做查找表,然后通过之后的DAC0832产生相应的已经存储的波形[11]。
DDS技术利用香农采样原理,当模拟的信号小于抽样频率时,经过抽样的离散信号能够恢复至原来的信号,在DDS技术中,目的是还原模拟信号,也就是逆用香农采样定理,将数字信号量化,通过映射把量化的数值送到数模转换以及后缀的低通滤波器中重新构建模拟信号。
如下图3-1所示,DDS中输入时钟f和频率字至寄存器中,时钟f还输入到相位寄存器中,经过相位累加器、寄存器、调制器的处理,将相位信息转化为相应的数值化正弦幅度值,之后在寄存器中查表进行幅度调制,最后输出的模拟信号通过低通滤波器得到纯正的信号。
图3-1 DDS系统框图
3.2 DAC0832数模转换电路
3.2.1 DAC0832芯片
DAC0832作为数模转换电路的核心芯片,其采样频率为八位,集成电路内含有两个寄存器,其自身具备三种输入方式,包括直通、单缓冲和双缓冲,目的是能够满足中电路的需求。如下图3-2所示为DAC0832内部结构,其中含有两级的锁存器,锁存器第一级的锁存信号为ILE,锁存器的第二级锁存信号为XFER,在这两级锁存器的加持下,能够提高运行转换速度。
图3-2 DAC0832内部结构
3.2.2 数模转换电路
对于DAC0832的输入方式有三种,本次设计中主要是将数字信号转化为一路或多路模拟信号,对比三种输入方式,适合的输入方式只有单缓冲方式,单缓冲的方式有两种[12],一种使得两个数据寄存器处于直通装填,另有处于受控方式,二是将两级数据缓冲器控制信号并联,同时受控,等效于一个缓冲器。在本次设计中选用前者,二级寄存器分贝和引脚WR2和XFER接地,另外一级寄存器为受控方式,如下图3-3所示为DAC数模转换电路。
图3-3 DAC0832数模转换电路
3.3 LM358放大电路
在经过将数字信号转化为模拟信号后,因为模拟信号较弱,所以需要方法将其进行放大得以在示波器中呈现,在这里选用有源滤波器运算放大器LM358,工作原理是两路输入为模拟信号,输出则为二进制信号0或1,当输入电压的差值增大或减小且正负符号不变时,其输出保持恒定。其作为基本的运算放大电路,其内部含有两个运算放大器,适用于单电源系统或者双电源系统,两个运算放大器相互独立且内部频率相互补偿,且运用电位调节器使得波形不发生失真。如下图3-4所示为LM358放大电路。
图3-4 LM358放大电路
3.4 AT89C52单片机系统
3.4.1 单片机芯片
本次设计采用的是AT89C52单片机。该器件作为整个控制电路的核心,其自身主要包括以下功能单元,包括中央处理器、存储随机临时数据的RAM和只读存储器ROM,及相应的定时器与计数器,包括输入输出接口和串行接口等主要单元,作为微型计算机,其能够实现相应的基本功能。AT89C52主要的特点有可靠性高且其内部结构简单,在各种器件中应用较为广泛,作为各种家电产品和智能化仪器的主要控制器件,在工业生产和生活中应用较为普及。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造[13],与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中AT89C52中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,以单片机AT89C52为核心电路辅以其他模块构成信号发生系统。
该单片机主要由以下几个部分组成:中央处理器CPU以及8个不同的组件,8个不同的组件包括并行I/O接口,数据与程序存储器等等,都是运用总线连接,基本组成是CPU与各种芯片连接的方式,在功能上利用了集成控制特殊功能寄存器的方法,该型号的单片机在使用上和STC89C51单片机基本相同,其内部有可反复擦写的只读程序存储器,和具有128位字节的随机存储器,以及标准的指令系统相互兼容,内置8位CPU处理器,功能相对比完善。
该单片机主要由以下几个部分组成:中央处理器CPU以及8个不同的组件,8个不同的组件包括并行I/O接口,数据与程序存储器等等,它们直接通过总线连接,基本组成是CPU与各种芯片连接的方式,在功能方面应用了集成控制特殊功能寄存器的方法,下面是单片机的组成图:
图3-5 51单片机组成图
接下来介绍该单片机主要的一些引脚的功能。
(1)VCC:电压接口
(2)GND:接地接口
(3)I/O口:当它作为输入窗口时,有两种不同的工作方式,也就是我们常说的端口和引脚的读入和写出。
(4)RST:实现对接口的复位,通过对片外的振荡器进行复位,此时该引脚的在两个机器周期时间内保持高电平。
(5)XTAL1:作为放大器还有电路的输入口,XTAL2:用来接收振荡器的输出。
3.4.2 单片机最小系统
单片机最小构成主要包括四大部分,首先是为整个系统供电的电源模块,单片机上面的电源与接地接口和电源模块相连接,在设计的过程中,需要设计相应的滤波电路目的是保护单片机系统正常工作不受外部电流波动的影响,减少对系统正常运行的影响。
图3-6 单片机最小系统
如上图3-6所示,位于左下角的复位电路,其功能是执行设置好的代码初始位置,在系统复位后,执行相应的功能,在实际的设计过程中,该部分可能实际用处不大,但是为保证整体系统的完整性,还是需要设定电阻或者电感元件和复位端口相连接。
之后便是单片机的存储部分,其中主要的存储部分分为两部分,一部分是作为处理运行中相关文件的存储位置,称为闪存部分[14],另一部分是作为固定的存储部分,在其中存储预先设置好的相关文件,在运行过程中按照既定的顺序运行,称为硬件存储部分。
单片机最小系统组成之一的时钟电路主要由晶振和电容构成,也就是晶振电路,对于本次设计的信号发生器是必要的,晶振电路设定系统时间,使得控制芯片能够正常运行,通过单片机内部传送时钟信号,让系统按照设定的步骤进行,本次设计中采用两个33pF的电容和1MHz的晶振构成。
3.5按键部分
设计中对于波形频率的调节和波形的选择都需要按键来实现,本次设计中按键部分主要设计了四个按键包括波形的选择和波形频率的加减设置,同时根据实际的需求和现实情况在此基础上根据实际需求设置的步进值的设定,方便调节频率,默认的频率步进值为0.1Hz。如下图3-7所示,系统运行后,按下KEY1选择相应的波形,包括四种波形的选择,KEY2和KEY3对波形的频率调节,KEY调节相应的步进值,同时为了增加系统的客观性,增加四个发光二极管作为选择波形时的对应,当选择任一波形时,其对应发光二极管亮起。
图3-7 按键部分
3.6显示部分
显示部分采用LCD1602作为显示器件,显示部分的目的是显示相应的波形和频率,在操作按键的过程中有人机交互的过程。关于LCD1602的相关引脚,其中VSS和VDD分别作为电源接地引脚,RS作为寄存器,其处于低电平为指令寄存器,否则为数据寄存器,其中读写的引脚R/W作为读写操作,高电平时可以进行读操作,低电平的时候可以进行写操作,E作为使能端,当其为低电平时,液晶显示模块处于工作状态,执行单片机传递来的指令,其余的D0-D7作为数据引脚,接收传递数据[15]。
数码管的选择有很多种,与其他的数码管相比较,LCD1602功耗占据优势,同时对于控制器件的兼容性较好,通过内部的电极控制液晶分子来显示,且本着设计环保的原则,功耗的高低也是选择器件的标准之一。
图3-8 显示部分
4 软件设计
软件设计部分在硬件设计的基础上进行,通过前文所规划好的功能进一步完善,对程序的响应顺序进行设计,实现选择波形和调频的基本功能。
4.1 主程序部分
主程序部分主要是调用各个子程序实现相应的功能,如下图4-1所示为主程序的流程图,主程序的基本结构为while循环,定义好频率的相关参数,初始化LCD1602及DAC0832,根据各种波形的定义选择相应的波形,从按键中扫描得到相应的回应,按键部分也有子程序与之对应,利用switch结构选择相应的波形。波形频率的改变同样通过按键实现,包括对步进值的设定也是同样的调用相应的子程序,每一步的操作后都是需要在显示部分中显示相关的信息。
图4-1 显示部分
根据主程序相关的设计,从整体来看,划分主程序的相关功能实现,首先是数模转换子程序的设计,将数字信号转化为模拟信号;其次是按键功能的实现子程序,按键功能一是对波形进行选择,二是调节相应的频率值和步进值;之后显示部分的子程序,显示相应的波形和频率信息,最后是设计相应的键盘检测函数,对按键键入的值进行检测为显示部分提供信息。
主程序在上电后完成对LCD1602和DAC0832的初始化设定,然后根据默认设定,显示正弦波频率为10hz,如果进行波形的切换,对设定好的波形程序调用,经过键盘扫描程序,将信息传递与单片机中,在LCD1602中显示出,其次调节频率的步进值执行同样的过程,DAC0832中有 5 bit 用于相位控制[16]。因此相位控制的精度为 360°/25=11. 25,用二进制表示为00001[17],根据实际需要,设置不同的相位控制字就可以实现精确的相位控制。根据以上主程序的基本设计得到相应的C代码。
void main()
{
init_lcd();
m=65536-(150000/pinlv);
a=m/256;
b=m%256;
initclock();
led0=0;
while(1)
{
if(h==0)
{
keyscan();
// display();
}
bujinjiance();
switch(boxing)
{
case 0 : P1=sin[u]; break;
case 1 : P1=juxing[u]; break;
case 2 : P1=sanjiao[u]; break;
case 3 : P1=juchi[u]; break;
}
}
}
4.2 DAC0832转换子程序
DAC0832部分的子程序设计首先需要根据其控制时序进行设计,利用接口电路图,改变输出,输出相应的波形,波形的形数能够由256个点构成,所以每个点的数据长度为8位,根据单片机的时钟信号对其进行分频处理,在这里进行64分频,对四种波形设定不同的波取码,波段码还需要经过如下图4-2所示的转换函数的流程转为模拟信号,经过P0口接收到的信息,利用DAC0832对其处理,返回函数。
图4-2 DAC0832转换函数设计流程图
4.3控制子程序设计
4.3.1显示部分
输出显示设备的设计主要是为传递系统运行的相关信息,围绕相关设备的数据来进行设计的,对于LCD1602模块软件部分的设计,主要是初始化设计和显示部分的设计,在这里说明该液晶显示模块运行过程
图4-3 LCD1602程序流程图
对LCD1602初始化操作,默认开始状态的使能端为关闭装填,显示默认设定为0x38,显示清屏,将上次的内容清除,默认为0x01,显示功能设置0x0f为开显示,显示光标,光标闪烁;0x0c为开显示,不显光标,光标不闪;设置光标状态默认0x06,为读一个字符光标加1;设置初始化数据指针,是在读指令的操作里进行的。
对初始化的内容进行显示,设计中的初始化内容包括对波形的显示和输出波形频率的显示,另外还有调节步进值对步进值的显示,这两部分通过单片机的P0口实现,进行写操作,同时设计相应的写命令函数与写数据函数,前者的写命令函数write_com作为固定显示,后者的写数据函数write_date目的是能够显示不同的波形形态和波形频率,能够对其进行修改,在LCD1602初始化函数中调用这两个函数,两个函数的C代码如下所示。
void write_com(uchar com) //写命令函数
{
lcdrs=0;
P0=com;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
void write_date(uchar date) //写数据函数
{
lcdrs=1;
P0=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
针对步进值的显示调节,在设计中也需要用到上述两个关键性的函数,固定部分显示“step value”,可调节的部分利用写数据函数进行显示,根据提前定义好端口编号,端口有能流通过利用多重if函数判断是否进入到频率调节的界面,其次通过按键调节频率值,同样判断两个端口的是否执行。
4.3.2按键检测部分
按键检测部分设计按键检测函数,检测输入的相关信息,需要检测的主要内容,除了前文所提及步进值设置界面,还包括频率的调节和波形的选择,根据不同按键触发不同的功能,同样设计多重的if结构,按键触发电平,判断按键端口的电平高低引导后续进程,在程序设计中定义按键的接口,分别为s1-s4,顺序对应四个按键功能。具体的程序见附录。
4.3.3步进值调节部分
步进值的调节需要单独设计子程序调用,根据前文端口的定义,s4为步进值调节的定义按键,当s4为低电平时,触发延时函数,接着对步进值进行调节,根据键入上调或者是下调,也就是s1和s2是否为0,若是有低电平信号,对固定的步进值进行加减操作,之后调用步进显示函数,显示调节后的步进值信息。具体的程序见附录。
5 系统调试与分析
5.1 系统仿真调试
通过前文的硬件设计与软件设计,最后需要对设计的系统进行仿真验证,验证硬件设计的正确性以及软件设计功能的配套性,主要需要实现的有对波形的选择以及频率的调节。根据前文的硬件设计,将相应的硬件在Proteus中绘制出,连接好相应引脚,利用Keil软件将相应的C代码生成相应的HEX文件导入到单片机中。
首先对波形的调节进行仿真调试,按下波形选择按钮,观察示波器,同时不断调节所输出的波形,所得到的波形能够与设计之初相对应,同时相应的也有发光二极管亮起,在LCD1602上也有对应的波形样式与频率显示,实际调试中对每一种波形都进行调试,在这里主要呈现正弦波,如下图5-2所示为正弦波波形图以及相应的LCD1602所显示的,包括对应的发光二极管与之对应。
图5-2 正弦波
其次需要对系统的频率调节极性测试,频率调节步进值初始值为0.1hz,为能够让频率调节更加明显,同时测试调节频率步进值的功能,首先将频率的步进值调为1hz,如下图5-3所示,step value(步进值)设置为1。
图5-3 正弦波
同时调节正弦波的频率为15hz,如下图5-4所示。
图5-4 正弦波
将两种得到的波形调至200ms下,得到如下的两张图5-5,通过对比发现波形的密度存在差别,也就意味着频率存在差距,进一步说明频率调节能够成功实现,基本的频率调节步长调节也是能够实现的。
图5-3 正弦波
在调试过程中也对其他几种波形进行的测试,同样能够呈现相应的波形,同时能够实现相应的功能。
5.2 分析与结论
通过对以上的测试,不难发现在设计中波形选择和频率调节的基本功能都能够实现,不过在调试的时候由于Proteus自身对波形频率测量无法精准实现,Proteus无法实现对其精准测量的原因是软件自身内部没有对波形进行精准的识别,无法将光标准确定位到波峰和波谷的位置,导致测量精度无法达到较高的水平。
结论
在本次设计中针对数控信号发生器的发生原理,选用DDS技术,搭配相关的数模转换器件,在设计过程中选用单片机作为主要的控制器件,设计从硬件和软件两方面的进行。硬件方面从具体的芯片选型到功能的实现进行分析,进一步确定设计的可能性和可行性;软件方面根据硬件设计的各个模块所规定的的具体功能进行完善,同时从主要功能设计,到功能的拆分,对不同的子程序模块进行设计,完善系统的功能。从信号发生器的整体结构设计到局部功能的实现,包括对基础功能的进一步拓展,结合相应的芯片引脚和编程实践,从硬件部分在软件部分完成此次设计。
设计的过程中,对于频率的调节,设计要求中没有提及对步进值的调节,但是在实践过程中,若是固定某一步进值,不方便大范围或者小范围的调节,所以根据这样多设计了一个步进值调节的按键,这点在设计的基础上进行了创新。后期验证测试过程中,对于波形测量依然可能需要改进,需要借助实物进行实际的测试,通过示波器进行测试,或者尝试使用其他的仿真软件进行仿真测试,这点还是可以进一步提升。
参考文献
[1]吴智浩.基于单片机平台与AD9851的高频信号发生器的设计[J].电子技术与软件工程,2021(14):67-69.
[2]沈辉,薛兵,唐朝阳,于佳佳,景加荣.基于DDS技术的信号发生器设计[J].电子测量技术,2020,43(20):160-164.DOI:10.19651/j.cnki.emt.2004758.
[3]高自力,王宇. 基于DDS技术的信号源设计[C]//天津市电子工业协会2020年年会论文集.,2020:40-43.DOI:10.26914/c.cnkihy.2020.005246.
[4]黎梦婷,李华峰.基于DDS的SPWM波的驱动电路设计[J].国外电子测量技术,2020,39(06):1-5.DOI:10.19652/j.cnki.femt.2002027.
[5]庞宇,袁鹏飞,阳妙.基于DDS的超声驱动电源系统设计[J].现代电子技术,2020,43(10):18-20+24.DOI:10.16652/j.issn.1004-373x.2020.10.005.
[6]石梦航,黄松.基于DDS的BJT放大器特性测试系统的设计[J].软件,2020,41(02):6-11.
[7]陈孟臻,陈莹.基于DDS技术的函数信号发生器设计[J].沿海企业与科技,2018(06):18-21.
[8]卓康. 基于DDS的复杂雷达信号发生器设计[D].电子科技大学,2017.
[9]邓红玉. 多通道音频段正弦信号发生技术的研究[D].哈尔滨理工大学,2017.
[10]黎燕兵,万生鹏,胡元华,曾少航.基于FPGA的多用途信号发生器的设计[J].现代电子技术,2016,39(13):72-76.DOI:10.16652/j.issn.1004-373x.2016.13.018.
[11]李鹏. GHz高频信号发生器的研制[D].陕西师范大学,2016.
[12]彭海军.基于DDS的信号相位同步设计技术[J].国外电子测量技术,2016,35(04):95-98.DOI:10.19652/j.cnki.femt.2016.04.022.
[13]谢标. 基于FPGA的任意波信号发生器的硬件设计与实现[D].北京工业大学,2015.
[14]吴笑天. 基于DDS技术的超声波电机驱动控制研究[D].东南大学,2015.
[15]宿玲玲. 基于FPGA的任意波信号发生系统的软件设计与实现[D].北京工业大学,2015.
[16]张国光.基于DDS的高精度多路信号发生系统研究[J].电子测量技术,2014,37(04):125-129.DOI:10.19651/j.cnki.emt.2014.04.030.
[17]阮滨,黄全胜.一种分段式高频信号发生模块的设计[J].计量技术,2014(03):43-45.
致谢
经过本次毕业设计,我收获很多,在开始所有工作之前,我在网上查阅了很多相关的信息与资料,再加上自己的思考,通过这些已有的设计方法我得到了启发,最终形成了自己的想法。本次毕业设计不仅仅是对以前在书本上学习单片机知识的一种测验,也是对以往所学的知识的一种大结合,我需要站在更高的台阶来思考面临的各种问题,这也是对自己综合能力的提高。通过此设计,我感受颇深,我深深感觉纸上得来终觉浅,绝知此事要躬行的道理,我感受到我以前的学习有很大的欠缺,自己需要学习改善的地方太多太多。以前总觉得自己无所不能,其实是半瓶子水哗啦响,眼高手低可以说是对我以前最恰当的形容。通过这次设计我明白学无止境的道理,我会在以后的学习生活中保持着一种谦虚的态度面临问题,继续不断地提高自己的知识以及综合素质。
首先我必须要感谢我的指导老师对我的帮助和大力支持,没有老师的指导,我将很难完成这次毕业设计,老师不仅在书本知识方面让我有了更深的理解,而且在思考逻辑方面也有了质的提高,让我明白设计思路和逻辑的重要性,帮助我克服这一路上的种种困难,让我获益匪浅。
然后,我要感谢所有的授课老师,是他们的细心教导,使我学习到了专业的知识,并且始终践行着“授人以鱼不如授人以渔”的原则,他们不仅教会我专业知识,还教会了我许多做人的道理,使我受益匪浅。
最后,我还要感谢我的同学们,离开家来到陌生的城市,是你们让我感受到如家搬的温暖,在本次设计中,也给我提供了许多思路与意见。
这次做论文的经历也会使我终身受益,我感受到做论文是真真正正要用心去做的一件事,是真正自己学习与研究的过程,在老师和同学的帮助下,我终于完成了毕业设计。
附录一 系统原理图
附录二 程序代码