基于FPGA的直接数字.docx
- 文档编号:11736877
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:42
- 大小:1.18MB
基于FPGA的直接数字.docx
《基于FPGA的直接数字.docx》由会员分享,可在线阅读,更多相关《基于FPGA的直接数字.docx(42页珍藏版)》请在冰豆网上搜索。
基于FPGA的直接数字
本科毕业论文(设计)
题目:
基于FPGA的直接数字
频率合成器设计
学院:
自动化工程学院
专业:
电子信息科学与技术
班级:
2004级2班
姓名:
##########
指导教师:
###########
2008年6月2日
基于FPGA的直接数字频率合成器设计
TheDesignofDirectDigitalFrequencySynthesizerBasedonFPGA
摘要
设计由可编程逻辑阵列FPGA(FieldProgrammableGateArray)器件实现直接数字频率的合成器。
直接数字频率合成器(DirectDigitalSynthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。
由于FPGA的自身特点,能够很容易在FPGA内部生成多个基本模块,从而开发出功能更强大的芯片。
本文在对现有DDS技术的学习基础上,在FPGA器件上实现了基于DDS技术的信号源,并通过键盘控制其波形输出所需的控制字。
方案利用QuartusⅡ开发工具在ALTERA公司的ACEX1K系列器件上进行了实现。
关键词信号源可编程逻辑阵列直接数字频率合成器(DDS)控制字
Abstract
TheDesignisbasedonFPGA(FieldProgrammableGateArray)devicetoachievedirectdigitalfrequencySynthesis.DirectDigitalSynthesizerfromtheconceptofphasesynthesisnecessarywaveform.AstheFPGAitsowncharacteristics,canbeeasilygeneratedinanumberofbasicinternalFPGAmodule,whichdevelopedthemorepowerfulchips.Onalargenumberofinvestigationofexistingresearchliterature,thepapersinvolvestheproposedstructureofthedirectdigitalfrequencysynthesizerFPGAdesign.TheProgrammerusestheQuartusIIdevelopmenttoolfordesigningtheAlteraACEX1Kseriesdevices.
Keywordssignalgeneratorfieldprogrammablegatearray(FPGA)DDScontrolwords
目录
第1章绪论2
1.1频率合成技术简介2
1.2课题研究意义3
1.3设计任务4
1.4设计原理及思路4
1.4.1DDS工作过程5
1.4.2原理框图5
第2章DDS系统电路的原理及设计6
2.1系统框图6
2.2具体实现原理分析和说明6
2.2.1核心模块----相位累加器6
2.2.2基于FPGA的ROM查找表12
2.2.3模数转换15
2.2.4低通滤波输出电路16
2.3软件验证及仿真17
2.4其他功能的设计18
2.4.1调频、调幅及调相18
2.4.2其余波形的产生18
第3章器件选择及具体硬件电路19
3.1芯片的选择与使用19
3.2设计硬件连接电路图20
第4章实验及开发系统21
4.1实验开发系统的选择21
4.2演示程序及软件仿真23
4.3实验过程与结果分析25
总结28
谢辞29
参考文献30
第1章绪论
1.1频率合成技术简介
频率合成(FrequeneySynthesis)是指以一个或数个参考频率为基准,在某一频段内,综合产生并输出多个工作频率点的过程。
基于这个原理制成的频率源称为频率合成器(FrequeneySynthesizer)。
频率合成器被人们喻为众多电子系统的“心脏”,在空间通信、雷达测量、遥测遥控、射电天文、无线电定位、卫星导航和数字通信等先进的电子系统中都需要有一个频率高度稳定的频率合成器。
一个性能优良的频率合成器应同时具备输出相位噪声低、频率捷变速度快、输出频率范围宽和捷变频率点数多等特点。
频率合成器一般可分为直接式、间接式(锁相式)、直接数字式。
直接式频率合成器是最早出现最先使用的一种频率合成器。
它是由一个或多个晶体振荡器经过开关转换、分频、倍频、混频、滤波得到所需要的频率。
虽然提出的时间早,最初的方案也显得十分落后,但由于直接模拟合成具有频率捷变速度快,相位噪声低的主要优点而使之在频率合成领域占有重要的地位。
这种方法的主要优点是频率转换时间短,理论上可产生任意小的频率间隔。
主要缺点有频率范围有限、频率间隔不能太多、采用的大量倍频器、分频器和混频器等,增大了输出信号的噪声以及设备庞大,造价较高等。
而且直接模拟频率合成器容易产生过多的杂散分量。
随着集成技术和数字技术的发展,直接频率合成器的发展受到了限制。
间接式(锁相式)频率合成器有模拟和数字两种,分别为模拟间接式频率合器和数字间接式频率合成器。
模拟间接式频率合成具有多种技术途径,如注入锁相振荡源,它是将一个外来基准信号源注入到被锁振荡器时,被锁振荡器所产生振荡的相位和外来基准信号的相位之差保持恒定,称为注入锁相。
注入锁相振荡源,实质上是用频率稳定度高的小功率晶振倍频参考源去稳定高频大功率振荡器的频率。
注入锁相的方案在很大程度上受到直接频率合成方案的影响,噪声抑制性能差及不能可靠入锁是其缺点。
模拟间接式频率合成还有模拟环路锁相源,取样锁相振荡源等。
锁频环频率合成器提供了另一种间接频率合成方法。
与PLL不同,FLL频率稳定度取决于鉴频器中的无源色散元件如谐振子或延迟线的相位稳定度。
同模拟PLL类似,FLL的频率切换也是靠VCO的粗调电压使频率落入相位的捕捉带内来实现。
数字锁相频率合成器是以数字锁相环为基础构成的锁相频率合成器。
应用数字鉴相器和可编程数字分频器是数字锁相频率合成器有别于模拟锁相频率合成器的主要特征。
利用可编程分频器,使被合成的频率都有合适的分频比,可得到频率间隔相等的频率。
除了鉴相是在参考频率及VCO的分谐波频率下完成外,这一锁相环的工作原理与模拟环路锁相振荡源的工作原理类似。
用数字指令改变分频比以完成频率切换。
具有鉴频功能的数字鉴相器输出与频率有关的误差电压经放大、滤波,使VCO的频率达到锁定。
有些情况下,为了缩短频率切换时间,需要外加辅助扩捕电路。
由于使用了数字器件,数字锁相频率合成器的带内相位噪声受鉴频/鉴相器、数字分频器、参考源、环路放大器等多项累积噪声的限制,所以数字锁相频率合成器的相噪性能比模拟频率合成器的要差,一般被认为应用于对相噪要求不很高的场合。
事实上,只要合理优化设计合成器方案,有效控制数字器件引入的噪声,数字锁相频率合成器的相位噪声完全可以做得很低。
总的来说,锁相频率合成法基于锁相环路的同步原理,是从一个高准确度、高稳定度的参考晶体振荡器综合出大量离散频率的一种技术。
它由基准频率产生器提供一个高稳定度的参考频率,锁相环路利用其良好的窄带跟踪特性,使频率准确的锁定在参考频率或其N次谐波频率上。
当锁相环路(PLL)达到稳定状态后,若输入信号为一固定频率的正弦波,则压控振荡器的输出信号频率与输入信号频率相等,它们之间的相位差为一常值。
这种状态为环路的锁定状态。
这种方法的优点是结构简单,输出频率纯度高,易于得到大量的离散频率,虽然锁相环频率合成技术发展非常快,应用也很广泛,但其频率转换速度不快,分辨率低,电路和微机控制复杂。
直接数字频率合成技术是一种新的频率合成方法,上世纪七十年代初由美国学者J.Tierncy,C.M.Rader和B.Gold提出,是频率合成技术的一次革命。
直接数字频率合成技术是全数字技术从相位概念出发直接合成所需波形的频率合成方法。
近30年间,随着集成电路技术和器件水平的提高,直接数字频率合成技术DDS(DirectDigitalFrequencySynthesizer)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的佼佼者[1]。
直接数字频率合成器的基本优点是在微处理器的控制下,能够准确而快捷地调节输出信号的频率、相位和幅度。
由于应用全数字的大规模集成技术,除了具有体积小、价格低、频率分辨率高、快速换频,易于智能控制等突出特点此外,DDS还具有频率和相位分辨率高、频率切换速度快、易于智能控制等突出特点。
这些特点使新出现的DDS技术已经成为频率合成技术的理想的解决方案之一。
1.2课题研究意义
直接数字频率合成技术是近年来发展起来的一种新的频率合成技术,他是将先进的数字处理理论与方法引入信号合成领域的一项新的技术,标志着合成技术进入第三代(第一代是直接频率合成技术,第二代是锁相环频率合成技术,第三代是直接数字频率合成技术)。
其特点是计算机参与频率合成,把一系列数字量形式的信号通过数模器转换成模拟量形式的信号,在时域中进行频率合成。
直接数字式频率合成的优点是:
(1)转换频率的时间短(可达ns级),直接数字频率合成是一个开环系统,其频率转换时间主要由频率控制字状态改变所需的时间及各电路的延迟时间所决定,转换时间很短。
(2)频率分辨率高,频点数多。
DDS输出频率的分辨率和频点数随着相位累加器位数的增加而成指数增长,分辨率可以达到很高。
(3)相位连续。
DDS在改变频率时只需改变频率控制字(即累加器累加步长),而不需要改变原有的累加值,故改变频率时相位时连续的。
(4)相位噪音小。
DDS相位噪音主要取决于参考源的相位噪音。
(5)频率、相位和幅度均可实现程序控制,输出频率的稳定度与系统的时钟稳定度相同。
高集成度、高速和高可靠性是FPGA最明显的特点,其时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。
更主要的是,由于能与计算机紧密的结合在一起,故可充分发挥软件的作用。
随着大规模集成电路和微型计算机技术的迅速发展,新的高速器件不断出现,DDS的应用前景是十分广泛的。
在现代通信领域,直接数字频率合成器的应用越来越广泛,在数字化的调制解调模块中,DDS取代了VCO(模拟的压控振荡器)而被大量应用。
同时,高速集成电路的发展进一步改善了DDS的性能,它与传统技术相结合组成的各种混合设计方案将频率源的性能提升到了一个新的水平,因此,未来的DDS不仅可应用于需要使用信号源的传统领域,而且也必将开拓出许多新的应用领域。
目前市场上性能优良的DDS产品不断推出,主要有Qualcomm、AD、Sciteg和Stanford等公司单片电路。
虽然这些专用DDS芯片的功能也比较多,他们的输出频率高、输出波形好,但控制方式却是固定的,因此不一定是我们所需要的。
而利用可编程逻辑门阵列FPGA(FieldProgrammableLogicGateArray)则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。
就合成信号质量而言,专用DDS芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA也能输出较高质量的信号,虽然达不到专用DDS芯片的水平,但信号精度误差在允许范围之内。
[2]
对于本次设计,采用FPGA设计的DDS电路,充分发挥了FPGA系统可编程的优点,可以通过软件灵活改变相关参数,设计出的DDS功能灵活,而且尽可能的留下扩展的空间,因为只要改变FPGA中存储数据,就可以产生所需波形。
采用FPGA来实现,能让我们熟悉可编程器件的选择,而且熟悉硬件描述编程语言VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)和相关的软件开发环境。
1.3设计任务
要求设计基于FPGA的直接数字频率合成系统。
设计目标为:
可以实现稳定的正弦波输出,输出最高频率256KHz,且频率可调,控制字由键盘输入。
1.4设计原理及思路
DDS主要由按键输入部分、输入及控制、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)组成。
输入控制电路负责采集频率字,相位累加器由N位全加器和N位累加寄存器级联而成,对代表频率的2进制码进行累加运算,是典型的反馈电路,产生累加结果。
幅度/相位转换电路实质上是一个波形寄存器,以供查表使用。
读出的数据送入D/A转换器和低通滤波器。
1.4.1DDS工作过程
首先由键盘输入所需频率的频率控制字,经过FPGA控制转换后,送至数码管显示,同时控制字信号送至下一级的相位累加器。
相位累加器是整个DDS的核心,它由N位加法器和N位相位寄存器级联构成,类似一个简单的加法器,完成相位累加的功能。
每来一个时钟脉冲,加法器就将输入的N位频率字与相位寄存器输出的累加相位数据相加,然后将相加后的结果送至相位寄存器的输入端,相位寄存器就在下一个时钟到来后产生的新相位数据反馈到相位累加器的输入端,以使加法器在时钟的作用下继续将相位数据与输入的频率字相加。
当相位累加器累加满量时,就会产生一次溢出,完成一个周期性的动作,这个周期就是合成信号的一个周期,累加器的溢出频率就是DDS的合成信号频率。
同步寄存器的使用是为了当输入的频率字改变时不会干扰相位累加器的正常工作。
正弦ROM查找表的作用是完成相位—幅度的查表转换。
将相位累加器输出的相位数据作为取样地址,来寻找正弦ROM表进行相位到幅度的变换,输出不同的幅度编码。
再经D/A转换器得到相应的阶梯波,最后经过低通滤波器对阶梯波进行平滑处理,衰减和滤除不需要的取样分量,得到由输入频率字决定的连续变化的输出正弦波。
系统时钟由一个高稳定度的晶体振荡器产生,用来同步整个合成器的各组成部分。
模拟部分包括D/A转换器和低通滤波器,D/A转换器作用是将合成的数字信号转换为模拟信号,D/A转换器输出的模拟锯齿信号再经过低通滤波产生平滑的正弦信号。
1.4.2原理框图
图1.1所示是一个DDS电路的基本工作原理框图。
图1.1DDS工作原理框图
第2章DDS系统电路的原理及设计
2.1系统框图
按照要求,整体设计方案如下:
以FPGA芯片ACEX1K为核心,处理由按键输入的频率控制字,送入数码管显示,同时将控制字信号送入累加器,ROM查找表将存在ROM中的波形数据相应输出给D/A转换器DAC0832完成数模转换,继而经过低通滤波器进行滤波,从而得到纯净的正弦波。
系统总体框图如图2.1所示。
图2.1DDS总体设计框图
2.2具体实现原理分析和说明
2.2.1核心模块----相位累加器
这一模块是由FPGA接受由键盘输入的频率控制字,送至相位累加器,完成相位累加的功能。
相位累加器是实现DDS的核心,它由一个8位字长(可自定义)的二进制加法器和一个固定时钟脉冲取样的8位(可自定义)相位寄存器组成。
DDS的基本原理是利用采样定理,通过查表法产生波形,对于正弦信号发生器,其输出的波形可以用下式来描述:
Sout=Asinωt=Asin(2πfoutt)
上式的表述对于时间
是连续变化的,式中Sout是指输出信号波形,fout指输出信号对应的频率。
对上式进行离散化处理,以便能用数字逻辑实现。
用基准时钟clk进行抽样,令正弦信号的相位:
θ=2πfoutt
在一个clk周期Tclk,相位的变化量为:
Δθ=2πfout·Tclk=2πfout/fclk
式中,fclk为clk的频率,为了对信号进行数字量化,把信号切割成2N份,由此每个clk周期的相位增量用量化值来表述,则
BΔθ≈Δθ·2N/2π
且BΔθ为整数,与
的表达式联立,可得
BΔθ/2N=fout/fclk;BΔθ=2N·fout/fclk
由上式可知,相位增量量化值BΔθ与输出频率fout为线性关系。
当系统时钟
的频率fclk为2N时,BΔθ就等于fout。
显然,信号发生器的输出可描述为:
Sout=Asin(θk-1+Δθ)=Asin[2π·(Bθk-1+BΔθ)]=Afsin(Bθk-1+BΔθ)
其中θk-1指前一个clk周期的相位值,同样得出
Bθk-1≈2N·θk-1/2π
由上面的推导,可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于累加的相位增量量化值BΔθ决定了信号的输出频率fout,并呈现简单的线性关系。
因此,通过调节输入时钟频率和位宽就可以合成出任意频率的信号。
直接数字频率合成器DDS就是根据上述原理而设计的数字控制频率合成器。
[4]
由于受到FPGA芯片资源限制,所能达到的频率不是很高,范围也不是很广。
根据设计目标,本设计中的系统时钟采用12MHz晶振经过16分频得到750KHz的频率信号,当正弦信号采样周期为Tclk=1/fclk时,每个采样周期相应的相位增量为根据Nyquist准则,DDS允许输出频率最高为fo=fclk/2。
在实际情况中受低通滤波器的限制,一般fomax=40%×fclk=300KHz,满足系统要求的最高输出频率256KHz的要求。
频率分辨率可用频率输入值步进一个最小间隔对应的频率输出变化量来衡量:
fout=fclk/2N=750KHz/1024=750Hz,DDS的频率输入字BΔθ的计算:
BΔθ=2N·fout/fclk,注意BΔθ要取整,有时会有误差。
基于上面的讨论,在QuartusII开发环境中(图2.2)实现相位累加器模块。
图2.2QuartusII开始向导界面
QuartusII软件是Altera公司新一代PLD开发软件,适合大规模FPGA的开发,支持Altera最新的FPGA和CPLD,其向导界面如图2.2所示,QuartusII软件用来进行所有新的设计。
MAX+PLUS II软件适用于已经做过的设计,对于新设计不推荐使用。
QuartusII软件目前包括一个MAX+PLUSII用户界面设置,用户能够轻松的从MAX+PLUSII软件转换到QuartusII。
QuartusII是本设计所应用的核心工具,提供从设计输入到器件编程的全部功能,用来完成DDS的核心部分的设计与仿真,支持Altera最新的FPGA和CPLD和几乎所有老的器件系列[5]。
QuartusII可以产生并识别EDIF网表文件、VHDL网表文件和VerilogHDL网表文件,为其他EDA工具提供了方便的接口;可以在QuartusII集成环境中自动运行其他EDA工具。
利用QuartusII软件的开发流程可概括为以下几步,如图2.3所示:
①设计输入
设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。
HDL设计方式是现今设计大规模数字集成电路的良好形式,除IEEE标准中VHDL与VerilogHDL两种形式外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL。
通常,FPGA厂商软件与第三方软件设有接口,可以把第三方设计文件导入进行处理。
如Quartus与Foundation都可以把EDIF网表作为输入网表而直接进行布局布线,布局布线后,可再将生成的相应文件交给第三方进行后续处理。
②设计综合
综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。
也就是是说,被综合的文件是HDL文件(或相应文件等),综合的依据是逻辑设计的描述和各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的功能和约束条件。
对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。
因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。
③仿真验证
从广义上讲,设计验证包括功能与时序仿真和电路验证。
仿真是指使用设计软件包对
图2.3QuartusII软件设计开发流程图
已实现的设计进行完整测试,模拟实际物理环境下的工作情况。
前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。
④设计实现
实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。
在实现过程中可以进行选项设置。
因其支持增量设计,可以使其重复多次布线,且每次布线利用上一次布线信息以使布线更优或达到设计目标。
在实现过程中应设置默认配置的下载形式,以使后续位流下载正常。
⑤时序分析
在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延时进行时序分析;而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时进行静态时序分析。
从某种程序来讲,静态时序分析可以说是整个FPGA设计中最重要的步骤,它允许设计者详尽地分析所有关键路径并得出一个有次序的报告,而且报告中含有其它调试信息,比如每个网络节点的扇出或容性负载等。
静态时序分析器可以用来检查设计的逻辑和时序,以便计算各性能,识别可靠的踪迹,检测建立和保持时间的配合,时序分析器不要求用户产生输入激励或测试矢量。
⑥下载验证
下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置。
FPGA设计有两种配置形式:
直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。
[6]
将位流文件下载到FPGA器件内部后进行实际器件的物理测试即为电路验证,当得到正确的验证结果后就证明了设计的正确性。
电路验证对FPGA投片生产具有较大意义。
基本DDS结构的VHDL描述如下:
--DDSC:
DDS主模块
libraryIEEE;
useIEEE.STD_LOGIC_1164.all;
useIEEE.STD_LOGIC_UNSIGNED.all;
useieee.std_logic_arith.all;
entityddscis--DDS主模块
generic(freq_width:
integer:
=8;--输入频率字位宽
adder_width:
integer:
=8;--累加器位宽
romad_width:
integer:
=8;--正弦ROM表地址位宽
rom_d_width:
integer:
=8);--正弦ROM表数据位宽
port(clk:
instd_logic;--DDS合成时钟
freqin:
instd_logic_vector(freq_width-1downto0);
--频率字输入
ddsout:
outstd_logic_vector(rom_d_width-1downto0));
--DDS输出
endentityddsc;
architecturebehaveofddscis
signalacc:
std_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 直接 数字