毕业设计论文基于FPGA的DDS应用设计定稿.docx

上传人:b****7 文档编号:10603377 上传时间:2023-02-21 格式:DOCX 页数:34 大小:1.52MB
下载 相关 举报
毕业设计论文基于FPGA的DDS应用设计定稿.docx_第1页
第1页 / 共34页
毕业设计论文基于FPGA的DDS应用设计定稿.docx_第2页
第2页 / 共34页
毕业设计论文基于FPGA的DDS应用设计定稿.docx_第3页
第3页 / 共34页
毕业设计论文基于FPGA的DDS应用设计定稿.docx_第4页
第4页 / 共34页
毕业设计论文基于FPGA的DDS应用设计定稿.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

毕业设计论文基于FPGA的DDS应用设计定稿.docx

《毕业设计论文基于FPGA的DDS应用设计定稿.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于FPGA的DDS应用设计定稿.docx(34页珍藏版)》请在冰豆网上搜索。

毕业设计论文基于FPGA的DDS应用设计定稿.docx

毕业设计论文基于FPGA的DDS应用设计定稿

摘要

本文以FPGA为平台,介绍了DDS的基本原理,DDS的FPGA实现方案。

在传统DDS的基础上提出改进措施,使得DDS具有更高的输出分辨率和波形存储器利用率。

在信号发生器的设计中,传统的用分立元件或通用数字电路元件设计电子线路的方法设计周期长,花费大,可移植性差。

本设计是利用EDA技术设计的电路,该信号发生器输出信号的频率范围为20Hz~20KHz,幅度的峰-峰值为0.3V~5V两路信号之间可实现0°~359°的相位差。

本文侧重叙述了用FPGA来完成直接数字频率合成器(DDS)的设计,DDS由相位累加器和正弦ROM查找表两个功能块组成,其中ROM查找表由兆功能模块LPM_ROM来实现。

而通过设定不同的累加器初值(K1)和初始相位值(K2),可以调节两路相同频率正弦信号之间的相位差,从而产生两路数字式的频率、相位和幅值可调的正弦波信号,最后通过QUARTUSII下载。

 

关键词:

FPGADDS信号发生器ROM

 

Abstract

ThispaperdescribesthebasicprincipleofDDS,proposesthesolutionofDDSbyFPGA.ImprovementsaregivenbasedonthetranditionalDDSwhichallowDDShavinghigheroutputresolutionandhigherefficiencyofmemoryutilizationratio.

Inthedesigningofthesignalgenerator,thetraditionalmethod,whichdesignselectroniccircuitsusingdiscretecomponentsorgeneraldigitalcircuitscomponents,takesalongtimewithhighcost,what’smore,thetransplantingabilityofitisunsatisfactory.Inthisdesign,thecircuitisdesignedbymeansofEDA.Itsoutputfrequencyrangeis20Hzto20KHzwithanoutputamplituderangeof0.3Vto5V(P-P),andthephasedifferencebetweentwooutputsofthetwosinesignalscanbemodulatedfrom0°to359°.

ThethesisemphasizingdiscussesthedesigningofDDSbasingonFPGA.DDSismadeupofthephraseaccumulatorandsineROMlooking-uptable,whichisrealizedbyfunctionalEABchip.Andthroughsettingdifferentinitialaccumulatorvalue(K1)andinitialphrasevalue(K2),thedifferenceofphrasebetweenthetwosinesignalscanbechanged.Asaresult,twoserialsofsinesignalswithchangeabledigitalfrequency,phraseandmagnitudeareproduced.Atlast,wecanshowthetotalcourseandresultwithQUARTUSII.

 

Keywords:

 FPGADDSSignalGenerator ROM

 

绪论

1.课题背景

在一些电子设备的电路板故障检测仪中,往往需要频率、幅度都能由计算机自动调节的信号源。

采用诸如MAX038信号发生器芯片外加电阻及切换开关等器件虽然也能调节频率和幅度,但这种调节是离散的,且电路复杂,使用不方便[1]。

而采用直接数字合成芯片DDS及外加D/A转换芯片构成的可控信号源,可产生正弦波、调频波、调幅波及方波等,并且其信号的频率和幅度可由微机来精确控制,调节非常方便。

另外随着21世纪的到来,人类正在跨入信息时代。

现代通信系统的发展方向是功能更强,体积更小,速度更快,功耗更低。

而大规模可编程器件CPLD/FPGA在集成度、功能和速度上的优势正好满足通信系统的这些要求。

所以今天无论是民用的移动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图形处理仪器、遥控遥测设备、加密通信机中,都已广泛地使用大规模可编程器件[2]。

由于数字技术在处理和传输信息方面的各种优点,数字技术和数字集成电路的使用已经成为构成现代电子系统的重要标志。

电子系统的集成化,不仅可使系统的体积小、重量轻且功耗低,更重要的是可使系统的可靠性大大提高。

因此自集成电路问世以来,集成规模便以10倍/6年的速度增长。

从20世纪90年代初以来,电子系统日趋数字化、复杂化和大规模集成化。

为满足个人电脑、无绳电话和高速数据传输设备的发展需求,电子厂商们越加迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸。

为达到此目标,必须采用少量的RC器件使面积尽可能小。

2.课题研究的目的和意义

正弦信号发生器作为电子技术领域中最基本的电子仪器,广泛应用于航空航天测控、通信系统、电子对抗、电子测量、科研等各个领域中。

随着电子信息技术的发展,对其性能的要求也越来越高,如要求频率稳定性高、转换速度快,具有调幅、调频、调相等功能,另外还经常需要两路正弦信号不仅具有相同的频率,同时要有确定的相位差。

 随着数字信号处理和集成电路技术的发展,直接数字频率合成(DDS)的应用也越来越广泛。

DDS具有相位和频率分辨率高、稳定度好、频率转换时间短、输出相位连续、可以实现多种数字与模拟调制的优点,而可编程门阵列(FPGA)具有集成度高、通用性好、设计灵活、编程方便、可以实现芯片的动态重构等特点,因此可以快速地完成复杂的数字系统。

由于模拟调相方法有生产性差、调试不方便、调制度控制不精确等缺点,因此采用数字方法实现各种模拟调制也越来越普遍。

现在许多DDS芯片都直接提供了实现多种数字调制的功能,实现起来比较简单,而要实现模拟线性调制具有一定的难度。

因此本设计介绍了一种由单片机控制,并采用FPGA实现DDS功能,产生频率和相位可调的正弦波信号的方法。

单片机是实现各种控制策略和算法的载体。

波形发生器也可运用单片机技术,通过巧妙的软件设计和简易的硬件电路,产生数字式的正弦波相位、频率和幅值可调的信号。

信号的频率、相位可通过键盘输入并显示。

与现有各类型波形发生器比较而言,产生的数字信号干扰小,输出稳定,可靠性高,特别是操作简单方便,成本低。

3.课题的主要研究工作

信号发生器一般是指能自动产生具有一定频率和幅度的正弦波、三角波(锯齿波)、方波(矩形波)、阶梯波等电压波形的电路或仪器。

本设计主要研究由单片机控制,用现场可编程逻辑器件FPGA实现DDS功能,产生两路频率、相位可调的正弦波信号,及其各功能模块由硬件描述语言VHDL来实现和仿真的方法。

 

第一章DSS的原理及应用方案

1.1系统实现的原理

本设计采用直接数字频率合成技术设计双通道正弦信号发生器,可以输出两路频率相同、相位差可调的正弦信号。

该发生器具有频率稳定度高及调频、调相迅速的优点。

由于本系统主要由单片机控制DDS实现,故在此着重介绍DDS的原理及其FPGA实现[9]。

1.2DDS的基本原理及性能特点

直接数字频率合成(DDS)技术是频率合成领域的一项新技术。

DDS的设计思想基于数值计算信号波形的抽样值来实现频率合成。

DDS的工作原理是基于相位和幅度的对应关系,通过改变频率控制字来改变相位累加器的累加速度,然后在固定时钟控制下采样,取样得到的相位值通过相位幅度转换得到与相位值对应的幅度序列,幅度序列通过数模转换得到模拟行式量化的正弦波输出

图1-1DDS工作原理

其中相位累加器字长为N,DDS控制时钟频率为fc,频率控制字为K,DDS直接从“相位”的概念出发进行频率合成,相位累加器与寄存器级联构成。

每一个时钟脉冲fc,加法器频率控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。

累加寄存器将加法器在上一个时钟脉冲作用后产生的新的相位数据反馈到加法器的输入端。

已使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。

这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。

图1-2相位累加器原理

由此可见,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出地数据就是合成信号的相位,相位累加溢出的频率就是DDS输出地信号频率。

DDS的核心就是相位累加器,利用他来产生信号递增的相位信息,整个DDS系统在同一的参考时钟下工作,每个时钟周期相位累加器加法运算一次。

加法运算的逼近越大,相应合成的相位值变换越大,输出信号变化越快,输出信号频率就越高。

对于幅值归一化的正弦信号的瞬时幅值完全有瞬时相位来决定,因为W=dø(t)/dt所以相位变化越快,信号的频率越高。

ROM表完成将累加器相位信息转换为幅值信息的功能。

再有D/A完成数字信号抽样信号到模拟信号的转换,D/A输出地台阶信号再经过滤波器平滑一得到精确地连续正弦波信号波形。

相位累加器利用Nbit二进制加法器的模溢出特性来模拟理想正弦波的2π相位周期。

相位累加器输出和ROM输出可分别理解为理想正弦相位信号和时域波形的时钟抽样。

用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器的波形抽样值经查找表查出,完成相位到幅值转换。

波形存储器的输出送到D/A转换器,经D/A转换器将数字量形式转换成所要求合成频率的模拟量形式信号,低通滤波器用于滤波不需要的取样分量,以便输出频谱纯净的正弦波信号。

图1-3各阶段波形输出

DDS的优点:

(1)输出频率相对带宽较宽

(2)频率转换时间短(3)频率分辨率极高(4)相位变化连续:

改变DDS输出频率,实际上改变的每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。

(5)可产生宽带正交信号及其他多种调制信号、可编程和全数字化、功耗低、体积小、重量轻、可靠性高、控制灵活方便等方面,并具有极高的性价比。

 DDS的局限性:

(1)输出频带范围有限:

由于受DDS内部DAC和波形存储器(ROM)的工作速度限制,使得DDS输出的最高频率有限。

目前市场上采用CMOS、TTL、ECL工艺制作的DDS芯片,工作频率一般在几十MHZ至400MHZ左右。

(2)输出杂散大:

由于DDS采用全数字结构,不可避免地引入了杂散。

其来源主要有三个:

相位累加器相位舍位误差造成的杂散;幅度量化误差由存储器有限字长引起造成的杂散和DAC非理想特性造成的杂散[7]。

DDS问世之初,构成DDS的元器件的速度限制和数字化引起的噪声这两个主要缺点阻碍了DDS的发展与实际应用。

随着近几年超高速数字电路的发展以及对DDS的深入研究,DDS的最高工作频率以及噪声性能已接近并达到锁相频率合成器相当的水平。

近年来随着频率合成技术的发展,DDS已广泛应用于通讯、导航、雷达、遥控遥测、电子测量以及现代化的仪器仪表工业等领域。

移相原理:

所谓移相是指两路同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为相位的移动。

两路信号的相位不同,便存在相位差,简称相差。

若我们将一个信号周期看作是360°,则相差的范围就在0°~360°之间。

例如在图1-4中,以A信号为参考,B信号相对于A信号作滞后移相φ°,则称A超前Bφ°,或称B滞后Aφ°。

图1-4移相示意图

若输出信号A和B的相位差可调,须保证两路信号同步,故应满足以下条件:

(1)输入到两个频率合成器芯片的参考时钟之间的相位偏移要足够小。

这个相移会导致输出信号之间产生与之成比例的相移。

因此在布线时必须精心设计,使从FPGA输出参考时钟的引脚到两个频率合成器芯片的参考时钟输入引脚的引线距离相等,以保证系统时钟同步。

另外,参考时钟上升/下降沿的抖动应尽可能小,并且时间应尽可能短,因为不同频率合成器芯片输入电路的触发电压不同,因此参考时钟的上升/下降沿时间太长会增加输出信号的相位误差。

(2)频率控制字送到频率合成器的数据缓冲区后,还必须通过一个更新时钟才能将数据缓冲区中的数据送到相位累加器,成为有效数据后进行输出。

频率合成器有两种更新时钟产生方式,一种由FPGA内部自动产生,另一种由外部提供。

要使两路输出信号同步,必须使用外部I/O更新时钟,同时必须使参考时钟信号(REFCLK)与外部I/O更新时钟(UPDATECLK)上升沿之间满足图1-5所示的时序关系。

图1-5参考时钟与更新时钟之间的时序关系

1.3DDS的实现方案

DDS系统主要由FPGA核心电路、D/A转换电路、低通滤波电路组成。

系统具体实现框图如图1-5所示。

图1-6DDS的FPGA实现框图

系统分别以AlteraCycloneII系列FPGAEP1C3T100和VerilogHDL语言为硬件及软件平台,在此基础上构建DDS核以及相关模块。

FPGA核心电路产生的阶梯数字信号通过D/A转换电路转换为对应的模拟信号。

综合考虑,采用DAC0832为D/A转换芯片。

该芯片为8位串行输入D/A转换器,选择其参考电压为5V,输出电压控制位选择为1倍输出。

由于转换后的数字信号是阶梯形的模拟信号,在D/A转化后利用低通滤波对信号进行平滑处理。

(1)参考时钟频率的选取

使用幅度控制字和频率控制字设定任意波形幅度和频率的原理:

时钟频率决定输出波形样点的速率,最高采样速率越高,产生输出信号的频带越宽。

将数字信号还原为模拟信号,根据采样定理。

理论上采样频率只要大于采样信号带宽的两倍即可。

但考虑实际信号不可能是理想的,一次要进行多点采样。

(2)频率设定的原理:

f0-------输出频率信号

fc-------时钟频率,可取值80M,10M,20M,5M.625K等

N----累加器位数

K-----频率控制字。

其大小0≦K≦2

(3)相位累加器N:

可见相位累加器长N决定了信号的频率分辨率。

理论上N越大,频率的分辨率高,而且N的大小与寄存器的个数成正比,考虑到FPGA的容量,设计选取N=24

(4)波形存储器:

 

由于DDS的最小相位分辨率为可见。

M值的大小决定波形表的容量,也决定了相位分辨力,即波形的时间分辨力。

波形表容量越大,一个周期内波形的采样点越多,产生的波形失真越小,输出的信号质量就越好。

但存储器容量越大,功耗越大,所以需综合考虑。

设计的修改和扩充,还可以在不同FPGA器件之间实现移植。

(5)相位累加器部分

在用FPGA设计DDS电路的时候,相位累加器是决定DDS电路性能的一个关键部分。

小的累加器可以利用FLEX器件的进位链得到快速、高效的电路结构。

然而由于进位链必须位于临近的LAB(逻辑阵列块)和LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。

另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。

但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。

综合考虑后,相位累加器采用流水线技术来实现,这样能保证较高的资源利用率,又能提高系统的性能和速度。

设计中整个系统只加入了一级流水线来提高速度。

为了进一步提高速度,在设计相位累加器模块和加法器模块时并没有采用FPGA单元库中16~32位加法器,尽管它们可以很容易地实现高达32位的相位累加器,但当工作频率较高时,它们较大的延时不能满足速度要求,故不可取。

因此,具体实现时分别采用了4个和8个4位累加器,以流水线的方式实现16位累加器和32位加法器。

采用流水线技术可以大大提高系统的工作速度。

(6)相位/幅度转换电路

相位/幅度转换电路是DDS电路中的另一个关键部分。

该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。

  在FPGA(针对Altera公司的器件)中,ROM一般由EAB实现,且ROM表的尺寸随地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提下,如何有效利用FPGA的有限资源,成为相位/幅度转换电路中最关键的一点。

在设计时可充分利用信号周期内的对称性和算术关系来减少EAB的开销。

相位/幅度转换电路中的主要问题在于ROM的大小。

由于本设计只需要输出正弦波,故考虑了以下的优化方式:

正弦波信号对于x=π直线成奇对称,基于此可以将ROM表减至原来的1/2,再利用左半周期内,波形对于点(π/2,0)成偶对称,进一步将ROM表减至最初的1/4,因此通过一个正弦码表的前1/4周期就可以变换得到的z正弦的整个周期码表,这样就节省了将近3/4的资源散[10]。

小结:

(1)DDS系统的输出频率

只与频率控制字

、系统时钟频率

、相位累加器位数

有关。

在系统时钟频率

和相位累加器位数固定时,通过改变频率控制字

的值,就可以方便地改变输出信号的频率。

(2)DDS系统的频率分辨率只与系统的系统时钟频率

和相位累加器位数

有关。

想要提高系统的分辨率,可以增加相位累加器位数或者是降低系统时钟频率。

(3)DDS理论上最大输出频率不会超过系统时钟频率

的二分之一,但在实际应用中,由于DDS系统中的低通滤波器非理想特性,由通带到阻带之间存在着一个过渡带,工程中DDS最高输出频率只取到

左右。

 

第二章硬件开发的原理

2.1FPGA概述

FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分[3]。

2.2.1FPGA的基本特点

FPGA的基本特点有:

(1)采用FPGA设计SAIC电路,用户不需要投片生产,就能得到合成的芯片,

(2)FPGA可做其他制或半定制ASIC电路的中试样片。

(3)FPGA内部有丰富的触发器和I/O引脚。

(4)FPGA是ASIC电路中设计周期最短开发费用最低,风险最小器件之一,(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS,TTL电平兼容。

ALTERA公司FPGA器件CYLONE系列的组成主要包括:

(1)逻辑数组,有多个逻辑数组块排列而成,用于实现大部分逻辑功能;

(2)在芯片四周分布着可编程的输入输出单元,提供封装以教育内部可编程之间的连接接口;(3)丰富的多层互联结构的可编程联机;(4)偏上的随机存取块状RAM;(5)锁相环(PLL),用于时钟的锁定与同步,能够实现时钟的的倍频与分频;(6)高速的硬件乘法器,有助于实现高性能的DSP功能。

FPGA由存放在片内RAM中的程序来设置工作状态,因此,工作室需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的的编程方式。

加电时,FPGA芯片将EPROM中的数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA芯片将恢复成白片,内部逻辑关系消失,因此FPGA可以反复使用。

用FPGA可以非常方便的实现DDS系统数字电路环节,切可现场变成进行电路的修改,在DDS中FPGA主要完成:

(1)保存频率字;

(2)保存相位字;(3)构成相位累加器,产生波形RAM的地址;(4)形成波形RAM。

2.2.2FPGA配置方式

FPGA的配置与编程都是通过软件设计与仿真验证的功能写入实际的FPGA中完成的。

所以,PFGA需要通过配置才能实现所需要的功能。

Cyclone器件的配置数据存储在SRAM单元中,由于SRAM是易失性的存储器,因此Cyclone器件上电后,外部电路需要将配置数据重新下载到SRAM器件的单元中。

在期间配置完成后,内部的寄存器以及I/O管脚必须先进性初始化,然后才会按照用户设计功能正常工作。

Cyclone器件的配置方式有三种主穿行(AS)方式,被动串行方式(PS)方式和JTAG方式[8]。

本系统使用AS方式和JTAG方式。

图2-1AS配置

主串行方式AS只能够与Altera公司提供的制动主动配置芯片(EPCS系列)配置使用,而且只有在STRATIXⅡ系列和Cyclone系列的器件中支持。

AS方式在FPGA主动方式下,由目标FPGA来主动输出控制和同步信号(包括配置时钟)给Altera专用的配置芯片(EPSCS1和EPCS4等)在芯片收到命令后就把配置数据发给FPGA,完成配置过程。

AS配置方式比较简单,只需要DATA,DCLK,NCS。

ASDI四条线与船型芯片连接即可。

边界扫描方式(JointTestActionGroup,JTAG)是1990年被IEEE批准为

IEEEll49.1.1990测试访问端口和边界扫描结构标准,主要用于芯片内部测试。

现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。

JTAG方式是所有配置方式中优先级最高的一种,JTAG配置方式支持菊花链方式,可以级联多片FPGA,功能比较强大。

图2-2JTAG配置

JTAG引脚的定义为:

TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。

2.2.3FPGA和CPLD的区别

FPGA基于SRAM的架构,集成度高,以LE(包括查找表、触发器及其他)为基本单元,有内嵌Memory、DSP等,支持IO标准丰富。

具有易挥发性,需要有上电加载过程。

在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用,如AlteraStratix系列。

CPLD基于EEPROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元。

具有非挥发特性,可以重复写入。

在粘合逻辑、地址译码、简单控制、FPGA加载等设计中有广泛应用,如AlteraMAX3000A系列。

详细比较:

尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点

①CPLD更适合完成各种算法和组合逻辑,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1