DDS信号源的设计与实现实验指导书.docx
《DDS信号源的设计与实现实验指导书.docx》由会员分享,可在线阅读,更多相关《DDS信号源的设计与实现实验指导书.docx(17页珍藏版)》请在冰豆网上搜索。
![DDS信号源的设计与实现实验指导书.docx](https://file1.bdocx.com/fileroot1/2022-12/15/1012da86-1a1e-4f97-9ea0-e3f7a1f3c81d/1012da86-1a1e-4f97-9ea0-e3f7a1f3c81d1.gif)
DDS信号源的设计与实现实验指导书
DDS信号源的设计与实现
实验指导书
电子工程学院窦衡
《DDS信号源的设计与实现》是针对全校本科生开出的综合性、设计性的实验项目。
要求学生先期掌握数字电路的基础知识,以及初步的EDA技术知识。
通过本实验项目,可使学生利用VHDL硬件描述语言对比较复杂的、综合性的实际电路系统进行设计、描述,利用EDA开发工具完成系统的综合、仿真验证,并用硬件平台完成系统的硬件实现。
着重培养学生的实际动手设计、实现电路系统的能力。
一、DDS引言
频率合成技术是将一个(或多个)基准频率变换成另一个(或多个)合乎质量要求的所需频率的技术。
在通信、雷达、导航、电子侦察、干扰与抗干扰等众多领域都有应用。
随着各种频率合成器和频率合成方案的出现,频率合成技术得到了不断的发展。
1971年3月美国学者J.Tierncy,C.M.Rader和B.Gold首次提出了直接数字频率合成(DDS__DirectDigitalSynthesis)技术。
这是一种从相位概念出发直接合成所需要的波形的新的全数字频率合成技术。
同传统的频率合成技术相比,DDS技术具有极高的频率分辨率、极快的变频速度,变频相位连续、相位噪声低,易于功能扩展和全数字化便于集成,容易实现对输出信号的多种调制等优点,满足了现代电子系统的许多要求,因此得到了迅速的发展。
目前市面上的DDS芯片,价格昂贵、功能固定单一,应用受到限制。
本综合实验项目采用基于FPGA的EDA技术设计实现DDS芯片,并可以根据实际需要对其功能进行灵活地修改,配置。
二、DDS工作原理
一个纯净的单频信号可表示为:
(2-1)
只要它的幅度U和初始相位
不变,它的频谱就是位于
的一条谱线。
为了分析简化起见,可令U=1,
=0,这将不会影响对频率的研究。
即:
(2-2)
如果对(2-2)的信号进行采样,采样周期为
(即采样频率为
),则可得到离散的波形序列:
(2-3)
相应的离散相位序列为:
(2-4)
式中:
(2-5)
是连续两次采样之间的相位增量。
根据采样定理:
(2-6)
只要从(2-3)出来的离散序列即可唯一的恢复出(2-2)的模拟信号。
从(2-2)可知,是相位函数的斜率决定了信号的频率;从(2-5)可知,决定相位函数斜率的是两次采样之间的相位增量
。
因此,只要控制这个相位增量,就可以控制合成信号的频率。
现将整个周期的相位2
分成M份,每一份为
,若每次的相位增量选择为
的K倍,即可得到信号的频率:
(2-7)
相应的模拟信号为:
(2-8)
式中K和M都是正整数,根据采样定理的要求,K的最大值应小于M的1/2。
综上所述,在采样频率一定的情况下,可以通过控制两次采样之间的相位增量(不得大于π)来控制所得离散序列的频率,经保持、滤波之后可唯一的恢复出此频率的模拟信号。
DDS工作原理框图如图2.1所示:
图2.1DDS原理框图
其实质是以基准频率源(系统时钟)对相位进行等间隔的采样。
由图2.1见,DDS由相位累加器和波形存储器(即,ROM查询表)构成的数控振荡器(NCO_NumericallyControlledOscillators)、数模转换器(DAC)以及低通滤波器(LPF)三部分组成。
在每一个时钟周期,N位相位累加器与其反馈值进行累加,其结果的高L位作为查询表的地址,然后从ROM中读出相应的幅度值送到DAC。
再由DAC将其转换成为阶梯模拟波形,最后由具有内插作用的LPF将其平滑为连续的正弦波形作为输出。
因此,通过改变频率控制字K就可以改变输出频率
。
在这里
,
。
由上面的分析可得DDS的输出频率:
(2-9)
由上式可知,DDS的最小输出频率为:
(2-10)
DDS的频率分辨率为:
(2-11)
DDS频率输入字的计算:
FW(N-1:
0)=2Nf0/fc(2-12)
三、DDS基本结构组成
一个基本的DDS系统由数控振荡器(NCO)、数模转换器(DAC)和低通滤波器(LPF)三部分构成,如图3.1所示:
图3.1DDS的基本结构
数控振荡器(NCO)产生频率可控制的数字正弦载波,通过数模转换器(DAC)得到模拟正弦波,最后经过低通滤波器(LPF)除去各种干扰信号。
本实验项目中的设计主要针对数控振荡器(NCO)部分,DAC部分直接采用实验系统箱提供的数/模转换电路。
四、DDS的设计
在DDS的设计中其最基本的构件是相位累加器和波形存贮器。
通常也可在波形存贮器前面加一个相位调制器,使其具有相位调制的功能,为了防止频率控制字、相位控制字改变时干扰相位累加器和相位调制器的正常工作,分别在这两个模块前面加入了两组寄存器,从而灵活且稳定地控制频率字和相位字的输入。
如图4.1所示:
图4.1DDS的构成图
图中相位累加器(phasea)是整个DDS的核心,在这里完成相位累加功能,其输入是相位增量,又可称为频率控制字
,由于
与输出频率
是简单的线性关系:
(4-1)
事实上当基准时钟
是
时,
就等于
。
相位调制器(phasemod)接收相位累加器的相位输出,在这里加一个相位偏移值,主要用于实现信号的相位调制,如PSK(相移键控)等,在不使用时可以去掉该部分,或加一个固定的相位控制字。
波形存储器(即,正弦ROM查找表)(sinlup)把存储在相位累加器中的抽样值转换成正弦波幅度的数字量函数,可理解为相位到幅度的转换。
它的输入是相位调制器输出的高M位(而并非全部N位)值,将其作为正弦ROM查找表的地址值;查询表把输入的地址相位信息映射成正弦波幅度信号;输出送往DAC,转化为模拟信号。
五、DDS的VHDL描述
DDS的整个芯片引脚图,如图5.1所示:
图5.1DDS芯片引脚图
它是整个设计的顶层模块,共有8组输入端口和5组输出端口:
sysclc是基准时钟信号,resetn是复位信号,fwwrn,pwwrn分别是频率和相位输入控制字,freq1,freq2是两个频率输入字信号,phaseword是相位调制信号,askword是幅度调制信号,sin,cos表示经相位累加器后的输出正弦信号的位置符号,msin,mcos是经相位调制器后的输出正弦信号的位置符号,askout是最后输出的正弦波幅度信号。
DDS信号源的底层模块要求采用VHDL硬件描述语言进行设计描述。
其顶层设计可采用VHDL语言描述,也可采用电路原理图方式进行描述。
DDS电原理图可参见附录一。
六、DDS的仿真
采用MAX+plus
来实现DDS的编译和仿真。
MAX+plus
是一种常用的EDA工具软件。
它支持原理图、VHDL和Verilog语言文本文件,以及波形与EDIF的格式的文件作为设计输入,并支持这些文件的任意混合设计;具有门级仿真器,可进行功能仿真和时序仿真,能够产生精确的仿真结果。
在MAX+plus
中完成了源文件的编辑,系统的编译、综合、适配之后,下一步就是进行功能仿真和时序仿真。
功能仿真只验证系统设计的功能关系,与实际信号的延时无关。
时序仿真是接近真实器件运行的仿真,仿真过程中已将器件特性考虑进去了,因而仿真精度相当高。
七、DDS的硬件实现
DDS硬件实现是建立在电子EDA实验开发系统的基础上得以完成的。
7.1器件选择
首先,选取Altera公司的FPGA器件——ACEX_1K系列中的ACEX_1K50,作为DDS的下载芯片。
该芯片含有5万个典型门,共144个引脚,用户可用引脚数为102个。
相应的配置芯片是EPC2LC20。
ACEX_1K50器件的外观视图:
图7-1ACEX_1K50引脚图
ACEX_1K50器件的内部资源视图:
图7-1ACEX_1K50内部逻辑单元图
其次,数模转换器DAC选用了AD558JN。
低成本AD558是一个完全电压输出8位数—模转换器。
在一个单片上包括输出放大器,全微处理器接口和精密参考电压,另有高精度8位数据总线到模拟系统的接口,不要外部元件或作任何修整。
其特点为:
1、完全8位DAC;2、电压输出——2校准范围;3、内部精密的段—间隙参考电压;4、单电源工作(+5V—+15V);5、全微处理接口;6、快速——电压稳定到±1/2CSB为1μs;7、低功耗(75mW);8、不需用户调整;9、保证整个温度范围内的单调性;10、全部误差由
到
指定;11、小型(16引脚双列式直插封装);12、单片由激光—大晶片—微调芯片混合而成;13、低成本。
AD558的功能框图如图7.3所示:
AD558JN相关参数指标:
封装:
塑料
温度:
0~+
0℃
相对精度最大误差(
到
):
±1/2LSB
满量程最大误差(
到
):
±2.5LSB
封装式样:
N16A
图7.3AD558功能框图
7.2器件配置实现
将DDS编译生成的下载文件通过MAX+plus
开发系统下载到EDA实验开发系统ACEX_1K50芯片的配置芯片EPC2LC20中,在每次加电时,该配置芯片中的配置数据将对ACEX_1K50芯片进行配置,从而实现前述NCO的设计功能。
其输出与AD558JN连接,最后把输出的模拟信号送到示波器进行测试。
配置原理图如图7.4所示:
图7.4ACEX_1K50芯片的配置原理图
八、测试结果
DDS输出的正弦波测试:
九、实验报告
1、给出DDS信号源的实现原理、设计框图;
2、各个模块的VHDL设计描述;
3、仿真结果、测试结果及分析;
4、总结实验的主要步骤及实验的收获。
十、实验内容的扩展
1、怎样实现DDS信号源输出信号幅度的控制。
2、怎样用该DDS信号源实现FSK、PSK等调制信号。
用DDS实现的FSK参考结果如下:
附录一、DDS电路原理图
附录二、EDA实验箱介绍
一、概述
本系统主要有CPLD/FPGA主芯片(或称适配器)和外围丰富的输入输出外设构成。
CPLD/FPGA主芯片的所有用户可用I/O口均没有同任一外设固定接死,而是仅仅以插口的形式存在,这为用户用此开发系统设计复杂多样的实验提供了很大的灵活性。
所以外设的接口逻辑很友好,外设的驱动已在系统内部为用户设计好,用户可以对所有外设接口用简单的TTL逻辑电平进行操作。
二、接口逻辑定义
1、CPLD/FPGA主芯片(适配器)
环绕适配器的二排圆插孔是将芯片所有的可用端口直接引出,插孔旁的数字符号就是芯片所有被外连的管脚号(即PinNumber)。
用户可依据适配器划分后的结果,直接用连线将对应管脚号的插孔同所选外设的接口插孔相连。
Altera公司的ACEX_1K50适配器说明
引出接线端口
标号
位置
对应ACEX_1K50的引脚号
电特性
备注
8~33
适配器左侧
Pin8~Pin33
20个I/O
可编程输入/输出
36~72
适配器下侧
Pin36~Pin72
26个I/O
可编程输入/输出
73~102
适配器右侧
Pin73~Pin102
22个I/O
可编程输入/输出
109~140
适配器上侧
Pin109~Pin140
24个I/O
可编程输入/输出
其中,Pin55、Pin125是全局时钟输入端(GCLK1、GCLK2),Pin54、Pin56、Pin124、Pin126是专用输入端。
2、时钟源
六路单独时钟,按频率范围高低排列为:
CLK0>CLK1>CLK2=CLK4>CLK3=CLK5
其中CLK0,CLK1直接对20M晶振进行分频;CLK2、CLK3、CLK4、CLK5经过两级分频,第一级为JPCK跳线排,第二级在相应的同标号的跳线排上。
具体分频情况可见下表所示:
输出信号名称
调节对象
频率可调范围
JPCK
跳线排
JPCK
0
F=20M
1
F=20M/2^4
2
F=20M/2^5
3
F=20M/2^6
4
F=20M/2^7
5
F=20M/2^8
CLK
跳线排
0
CLK0
F=20M~20M/2^8
1
CLK1
F=20M/2^8~20M/2^14
2
CLK2
F=JPCK~JPCK/2^8
3
CLK3
F=JPCK~JPCK/2^8
4
CLK4
F=JPCK/2^8~JPCK/2^14
5
CLK5
F=JPCK/2^8~JPCK/2^14
3、普通输入输出器件接口(主要为开关、LED灯)
1)静态逻辑高、低电平的提供
位于实验箱主板中间偏上的“Low”、“High”提供“0”、“1”逻辑电平。
2)开关
位于实验箱主板中间偏下位置,它设有逻辑开关(不按为“1”,按下为“0”)和拨号开关(拨上为“1”、拨下为“0”)。
3)LED灯
位于主电路板中间偏上位置有呈交通灯形式的12个LED灯RED1~4、GRN1~4、YEL1~4,输入高电平亮。
4、扫描类接口外设
为了节省I/O口,包括8位七段数码管、键盘、16×16LED点阵在内的外设均采用动态扫描驱动技术(外设位于实验箱主板右侧)。
1)8位七段数码管
共阴级数码管,字形输入端为a,b,c,d,e,f,g,Dp。
它们对应标准数码管的七个段位和一个小数点,高电平有效。
[SEL2,SEL1,SEL0]译码后确定哪一位数码管被点亮;同时显示只需要产生[SEL2~0]信号的时钟足够快(>100Hz)。
2)16×16LED点阵
[L0~L15]对应点阵的行输入,高电平有效。
[SEL3,SEL2,SEL1,SEL0]译码后为点阵列选通,决定哪一列被点亮,
同时显示,只要产生此循环地址信号的时钟足够快(>100Hz)。
5、模拟器件及接口
1)AD558数/模转换(8位,0~5V电压输出)。
2)LM358单电源二运放。
三、硬件安装及设置
本实验开发系统已配备好了相关的主芯片适配器、编程电缆、连接导线及相关软件。
本实验中使用的实验箱已自带开关电源,用户只需要接入220V电源即可。
本实验装置无需用户添加其它设备,仅需与计算机连接便可进行所有实验。
硬件安装及使用中需注意的几个步骤如下:
1、打开实验箱,检查并核实设备及附件是否完好齐全。
2、检查下载编程电缆标识:
不同公司的编程电缆是不同的,如Altera公司的编程电缆上标有Altera字样。
Lattice公司的电缆有两种:
一种是数字器件编程电缆,标有Lattice字样,另一种是模拟芯片编程电缆,其上标有PAC字样。
Xilinx公司的编程电缆上标有Xilinx字样。
3、安装下载编程电缆:
确保欲安装的下载电缆与当前实验箱上适配器芯片一致,然后将其25针的接插头接到计算机的并行口上,另一端连接到实验箱的JTAG编程座上,并确保电缆两端接触良好。
注意:
本实验箱上有两个编程接口,一个是数字编程接口,标有DIGITAL字样,另一个是模拟芯片编程接口,标有ANALOG字样。
4、开启实验箱电源,电源指示灯亮。
本电源为5V开关电源,有短路及自恢复等功能。
如电源指示灯不亮,请检查是否已接入220V电源或有其它原因所致。
5、编程硬件设置:
启动MAXPLUSII开发系统,打开MAX+PLUSII编程器,即选Programmer,选Options\HardwareSetup,按如下对话框设置编程硬件。
6、注意:
实验时严禁带电插拔,以防损坏电路芯片。
Max+PlusII
简易用户使
用入门指南