基于FPGA的任意波形发生器的研究与设计详细说明文档
非常详细的资料,介绍了FPGA的DDS技术,文档内有verilog的源代码,可以直接使用,非常适合初学者,快点下载吧。ABSTRACTWith the rapid development of science and technology, electronic measurementtechnique has been widely used in each field such as electronics, machinery, medical,measurement and space. The electronic measurement technology needs to use variousforms of high quality source. So arbitrary waveform generator has very importantpractical significance. The development of arbitrary waveform generator, which basedon Direct Digital Synthesis is discussed in this paper. The generator can produce notonly the conventional waveform such as sine wave, square, triangle wave andsawtooth wave, but the arbitrary waveform, thus this can meet the need of the studyThe work of this paper is as follows:( 1) The domestic and overseas status about the arbitrary waveform generator arediscussed. Clarify the various ways of this synthesis technology of frequency andtechnical comparison, and direct digital frequency synthesis technology is selected toresearch(2)Introduce the hardware design in this system structure and the realization offunction, and a detailed description is given about system components. The singlechip microcomputer is chosen as control module, we use FPga as the coretechnology to realize DDs. The periphery of the circuit design and interfacetechnology is analyzed(3) This paper analyses the working principle, characteristics and technical indexesof the DDS. The design is based on EP1C3T144C8 FPGA chips. Realize DDSfunction through the use of phase accumulator and waveform RoM, and apply enablemodule and the determinant keyboard to present the flexible output of variouswaveform(4) The system test data is given. The reason caused by stray and noise influencingthe spectral purity is analyzedKEY WORDS: Electronic measurement; arbitrary waveform generator; DDS; SCM; FPGA华南师范大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确的方式标明。本人完全意识到此声明的法律结果由本人承担。论文作者签名:日期:29年6月5日学位论文使用授权声明本人完全了解华南师范大学有关收集、保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属华南师范大学。学校有权保留并向国家主管部门或其指定机构送交论文的电子版和纸质版,允许学位论文被检索、查阅和借阅。学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印、数字化或其他复制手段保存、汇编学位论文。(保密的论文在解密后遵守此规定)保密论文注释:本学位论文属于保密范围,在年后解密适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书论文作者签名:导师签名+1期:10年6月5日日期:22)年b月S日第一章绪论本章主要介绍任意波形发生器的研究意义,以及发展的概况与趋势,并介绍本设计所需要做的软硬件工作,提出设计需要实现的目标。11任意波形发生器的研究意义任意波形发生器( Arbitrary Waveform Generator,AWG)实际上是一种多波型的信号发生器,它不仅能产生正弦波、方波、三角波、斜波和指数波等常规波形,也可以表现出载波调制的多样化,如:产生调频、调幅、调相和脉冲调制等。更可以通过计算机软件实现波形的编辑,从而生成用户所需要的各种任意波形,来满足各种实验研究的需要随着科学技术的飞速发展,电子测量技术被广泛应用在电子、机械、医疗、测控及航天等各个领域。许多电子系统,甚至电子器件只有在一定的电信号作用下,其性能才能显露出来。另一方面,一些电器设备在研究和生产过程中也少不了信号源,它们借助信号源通过测量来鉴定其性能的优劣。所以许多现代电子设备和系统的功能如何,都直接的取决于信号源质量的高低,如何产生高稳定度、高准确度的信号是任意波形发生器研制的关键。因此,信号发生器的表现就至关重要。我国的电子测量技术起步较晚,虽然在一些领域也取得了许多突破性进展,但是与世界先进水平相比,仍然存在着很大的差距。因此提高国内电子测量仪器的研制水平,加强核心技术的研发,对我国电子测量技术的发展,有着非常重要的意义。12任意波形发生器的发展概况最早的信号发生器主要采用RC构成振荡电路。如1928年美国先后生产出的调幅信号发生器与调频信号发生器。20世纪40年代许多国家已经开始研究脉冲信号发生器。1962年美国 Wavetek公司在RC电路的基础上,又推出了函数发生器产品。在60年代初,起源于通信领域的频率合成技术也引用到信号源上,出现了合成信号发生器。自80年代以来人们又将微机技术引入信号源,出现了任意波形发生器。早期的信号发生器主要采用模拟电子技术,电路结构复杂,工艺不够成熟,因此存在着如:漂移较大,输岀波形的幅度稳定性差,模拟器件构成的电路尺寸大、价格贵、功耗大等缺点。80年代以后,现代电子、计算机和信号处理等技术的发展,极大的促进了数字化技术在电子测量仪器的应用。高集成化微处理器的出现,增大了更复杂波形产生与波形稳定的操控性。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,从而得到各种所需波形。任意波形发生器的实现方案主要有程序控制输出、DMA输出、可变时钟计数器寻址和直接数字频率合成等多种方式2。目前任意波形发生器的研制主要基于DDS(直接数字频率合成)技术,与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在通信、测量与电子仪器领域,是实现设备全数字化的一个关键技术。近20年发展迅速,因此许多国家都在进行DDS专用芯片的研制。其中AD公司较为突出,如常见的AD9852、AD9858等产品,现在又推出了性能更强大的AD9952、AD9958、AD9912。其中AD9912包含可提供谐波杂散抑制的辅助低功耗DDS内核,以及48位频率调谐字和内置比较器,具有1GSPS内部时钟速率和高达400MHz直接输出。基于DDS技术的任意波形发生器的发展也同步进行,目前的任意波形发生器的产品结构形式主要有三种:独立仪器结构形式、PC总线插卡式和VⅪI模块式。近几年国际任意波形发生器技术主要发展,除了输出波形频率的提高和更方便的波形输入外,便是与ⅴX资源的结合。在测量和产生复杂的任意波形时,VXI系统资源在这些应用中具有较为明显的优势,尤其对自动测试系统(ATE特别有用。任意波形发生器在商业研发生产中,以 Agilent公司和 Tektronix公司最具有代表性,其任意波形发生器产品已经形成相当的市场占有率,并以优异的产品技术,引领着该领域的发展。如: Agilent公司的N6030A任意波形发生器,它拥有15位的垂直分辨率,125GS/s的采样频率,500MH的输出频率。 Tektronixκ公司更是于2008年推出了性能与速度更为优异的产品:AWG700。采样频率高达24GS/s,也可以做到96GHz有效RF频率输出。不仅如此,该产品还提供了高达10位的垂直分辨率:10位(无标记输出)或8位(带有两个标记输出);高达64M(64:80000点的记录长度,提供了更长的数据流;低至100f分辨率的边沿定时位移控制;16000步序列功能,创建无穷大波形循环、跳转和条件分支。能够生成高速串行信号、多电平信号、为存储设备测试生成信号、宽带RF信号。我国从90年代才开始研制任意波形发生器,比较有代表性的产品有北京普源精电科技有限公司生产的DG3121A,它拥有14位的垂直分辨率、300MSa/的采样率和120MHz的最高频率输出。它是业界第一个具备了数字逻辑输出功能的任意波形发生器。指标在国产的函数/任意波形发生器中处于优势地位,在同类产品中,具有最完备的通信接口,具备RS232,USB,GPIB,LAN。但比起同类产品 Agilent公司的33250A在脉冲频率和频率稳定度等方面还有很大差距。不过普源还是在技术长有不少的创新,比如研制出了业界首台混合信号任意波形发生器。北京凯弘仪器生产的基于DDS的函数发生器就很有特色,由于内置了衰减器,能够实现最小01mVpp的输出和00ldB的分辨率。总体而言,国产任意波形发生器自研制以来取得了巨大的进步,但是在最高采样率,最大输出频率、频率稳定度和准确度等指标上和世界先进水平还存在着较大的差距1.3发展趋势由于电子测量技术及其他部门对各类信号发生器的广泛需求及电子技术的迅速发展,促使信号发生器种类日益增多,性能日益提高,尤其随着70年代微处理器的出现,更促使信号发生器向着自动化、智能化方向发展。现在,许多信号发生器除了带有微处理器,因而具备了自校、自检、自动故障诊断和自动波形形成和修正等功能外,还带有IEE488或RS232总线,可以和控制计算机及其他测量仪器一起方便地构成自动测试系统。今后,任意波形发生器在较高的取样率,分辨率,记录长度和线性等方面功能会更强,任意波形发生器在射频和无线测试领域将会获得部分市场。当前信号发生器总的趋势是向着宽频率覆盖、高频率精度、多功能、多用途、自动化和智能方向发展14本文的主要工作硬件设计●电源模块电路的设计:各部件工作电压不同,有5V、3.3V、1.5V三种情况,因此须设计出满足各部件正常工作的电源模块。●单片机系统与接口电路设计单片机作为控制模块,实现与上位机信息传递与通信等各种功能,须设计出单片机的控制模块与相关接口电路●D/A转换与滤波电路的设计D/A转换器与滤波是整个电路的后续处理,D/A转换器实现波形的模拟输出、滤波器则选择合适的滤波器完成对信号的修整。●基于FPGA的DDS模块电路的设计FPGA实现DDS功能是整个设计的关键部分,根据相关原理,设计适合的逻辑图。●整机PCB板设计用 PROTEL DXP2004绘制电路板。软件使用●用Kei1C51对单片机传递信息在 Keil c51环境下,编写程序,完成计算机与单片机的通讯,Kei1提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μ vision)将这些部份组合在起,为单片机的使用提供良好的平台。●在 QuartusⅡ下对FGA进行设计在该环境下,实现FPGA的DDS电路设计实现目标波形要求:常规波形(正弦波、方波,三角波等)、任意波形存储深度:1—1024个点幅度分辨率:8位输出频率范围:1Hz1MHz(固定波形)设计目标:不仅可以生成方波、三角波、正弦波等标准波形,而且还要可以生成用户所需要的任意波形,同时输出波形的频率和幅度均可编程控制。4第二章任意波形发生器的理论分析本章首先介绍了频率合成技术的相关情况,并对三种不同形式的频率合成技术进行分析。同时系统的阐述了DDS的基本组成结构、工作原理、工作特点与技术指标,为DDS的构建打下理论基础。21频率合成技术简介频率合成是指从一个高稳定的参考频率,经过各种技术处理,生成一系列稳定的频率输出。频率合成的概念就是由一个或几个参考频率通过一些转换,产生个或多个频率信号的过程。频率合成技术一般分为直接式(DS)、间接式(PLL)和直接数字式(DDS)三种基本形式。早期的频率合成采用直接式的方式,是由一个或多个晶体震荡器经分频、倍频、混频对一个或几个基准频率进行加、减、乘、除运算产生所需要的频率信号,并通过滤波器产出,这是最早的频率合成信号源的方法。目前该方法仍在使用,主要是因为它频率转换速度、相位噪声低,比较容易实现4。但是该方式涉及的合成器体积过于庞大,而且成本较高,结构复杂、产生任意波形的可控性较低间接合成式是基于锁相环的原理,即PLL。它与前者相比,输出频率的稳定度和准确度都有明显的提高,频谱纯度等性能也有较大改善。主要是因为信号源的振荡频率被固定在频率计数器的时基上,也就是说以稳定度高的振荡器为基准。因此,锁相环的输出频率就与基准频率一致,振荡器输出信号和参考信号之间的相位差为固定的常数,而且锁相环的突出优点是能够抑制叠加到输入信号上的噪声。这是直接式频率合成方法所不能达到的。PLL还有体积小、性价比较高等一系列优点。但是PLL技术也有明显的缺点,采取闭环控制,系统的输出频率改变后,重新达到稳定的时间也就比较长,一般为毫秒级,很难满足高频率分辨率与快速转换率同时具备的要求,因此也有明显瑕疵。直接数字频率合成技术从原理上实现了突破。前两种方法都是通过对基准频率进行运算得出,而DDS技术则是从相位的概念进行频率合成。它按一定的相位间隔,将待产生的波形幅度的二进制数据存储于高速存储器作为查找表,用参考频率源(一般为晶体振荡器)作为时钟,用频率控制字决定每次从查找表中取出波形数据的相位间隔,以产生不同的输出频率,对取出的波形数据通过高速D/A转换器来合成出存储在存储器内的波形。直接数字频率合成技术的主要优点是输出相位连续、相对带宽较大、频率分辨率很高、可编程、准确度和稳定度都比较高。DDS技术是利用查表法来产生波形,而通过修改存储在ROM里的数据,就可以产生任意波形。所以它不仅能产生正弦、余弦、方波、三角波和锯齿波等常见波形,而且还可以根据需要利用各种编辑手段,产生传统函数发生器所不能产生的真正意义上的任意波形。DDSDirect Digital Synthesis)的概念首先由美国学者 J.Tiemcy, C. M.Rader和B.Gold在1971年提出,但限于当时的技术和工艺水平,DDS技术仅仅限于理论研究,而没有应用到实际中去。近20年来,随着Ⅴ LSI( Very Large Scale Integration),FPGA( Field ProgrammableGates Array)以及DSP( Digital Signal Processing)的发展,这种结构独特的频率合成技术得到了飞速发展。目前该技术已经被广泛用于接收机本振、信号发生器、通信系统、雷达系统等相关领域中。22DDS的基本原理和工作特点22DDS的基本结构DDS( Direct Digital Synthesis技术设计思想是基于数值计算信号波形的抽样值来实现频率合成的。它包括数字器件与模拟器件两部分,主要有相位累加器ROM波形查询表、数模转换器组成。其基本框图如下。相位累加器波形RoMD/A转换器低通滤波器控制字K输出时钟图21DDS结构框图(1)相位累加器是DDS的核心部分。一般是由数字全加器和数字寄存器组成实现相位累加。如下图所示。N频率挖制字K加法器备存器时钟频率c图22相位累加器结构框图般DDS的累加器都釆用二进制,线性数字信号通过相位累加器实现逐级的累加。假设累加器字长为N,频率控制字为K,控制时钟频率为f,系统在同
- 2020-12-09下载
- 积分:1
Vivado约束指导手册
Vivado约束指导手册输入端口到输出端口路径在从输入端口直接到输出端口的路径上,数据:不需要在器件内部锁存(atch),直接从输入端口到输出端口。他们通常被称为ln-to-out数据路径端口时钟可以是虚拟时钟也可以是设计时钟路径举例图3-1描述了上面所有的路径,在此例图中,设计时钟CLKo可被用作端口时钟,这样既可以约束D|N延时也可以约束DOUT延时FPGA DEVICEBoardDeviceInternal Delay REGAData Path DelayREGB Internal DelayBoardDINi DOUT Device○A4InpOutputDelayBUFGPort ClockCLKOPort clockIn-2-out Data PathFigure 3-1: Path Example时钟路径部分每一个时钟路径由三个部分组成:源时钟路径数据路径目标时钟路径源时钟路径源时钟路径是由源时钟从它的源点(典型的是输入端口)到发送时序单元的时钟引脚之间的路径。对于从输入端口起始的时序路径来说,就不存在源时钟路径数据路径对内部电路,数据路径是发送时序单元和捕捉时序单元之间的路径发送时序单元的有效时钟管脚称为路径起始点捕捉时序单元的数据输入管脚称为路径结束点对于输入端口路径,数据路径起始于输入端口。输入端口是路径的起始点对于输出端口路径,数据路径结朿语输岀端口。输岀端口是路径的结束点。目标时钟路径目标时钟路径是由目标时钟从其源点(典型的是输入端口)到捕捉时序单元的时钟管脚之间的路径。对于结束于输出端口的时序路径,就没有目标时钟路径图3-2显示了3段典型的时序路径REGAData PathREGBEndpointSource Clock PathStartpointDestination Clock PathFigure 3-2: Typical Timing PathSetup和Hold分析vⅳ ado ide分析时序并且在时序路径终点时候报告时序裕量。时序裕量是指在时序路径终点数据要求时间和抵达时间的差异。如果裕量为正,从时序的角度考虑此路径是有效的。Setup检查为了计算数据所需的 setup时间,时序引擎:1.决定源时钟和目的时钟之间的普通周期。如果没有被发现,为分析考虑多达1000个时钟周期。2.检查覆盖普通周期上的起始点和终点所有上升和下降沿。3.在任何两个有效 active沿之间的最小正差值dela。这个deta被称为 setup分析的时序路径要求Setup路径要求示例假象2个寄存器之间的一条路径,这些寄存器由其相应时钟上升沿触发。这条路径有效的时钟沿只有上升沿。时钟定义如下:.clko周期6nsck1周期4nsCommon periodclko launch edgesSetup(1)Setup(2)clk1 capture edgesOns 2ns 4nss 8n5 10ns 12nsFigure 3-3: Setup Path Requirement Example图33显示有2个单独的源和目的时钟沿有资格受到 setup分析: setup(1和 setup(2):源时钟发送沿时间:0ns+1*T(ck0)=6ns目的时钟抓取沿时间:0ns+2*(ck1)=8nsSetup Path Requirement=抓取沿时间-发送沿时间=2ns在计算路径要求时候,需要考虑2个重要的点:1.时钟沿是理想的,那就是说,时钟树插入延迟不在考虑之内2.默认时钟在0时间点是 phase-aligned,除非他们的波形定义引进了 phase-shit。异步时钟相位关系未知。时序引擎在分析其间路径时候会考虑默认值。关于异步时钟的更多内容看下部分Setup分析数据要求时间Setup分析数据要求时间是指为了让目的单元能安全的采样数据,数据必须在这个时间点之前稳定。这个值基于:目的时钟采样沿时间.目地时钟延时源时钟和目的时钟的不确定性目的单元 setup时间Setup分析的数据抵达时间Setup分析的数据抵达时间,是指由源时钟发送的数据在路径终点的稳定时候所需要的时间。它的值基于:源时钟发送沿时间源时钟延时数据路径延时数据路径延时包括所有从起点到终点的单元(cel)和线(ne延时。在时序报告中, Vivado将 setup时序考虑为数据路径的一部分。相应的,数据到达和要求时间的公式为:Data Required Time (setup)= destination clock capture edge time+destination clock path delayclock uncertaintyData Arrival Time(setup)= source clock launch edge timesource clock path delay+ datapath delaysetup timeSetup裕量是指要求时间和实际抵达时间的差值:Slack (setup)= Data Required Time -Data Arrival Time在输入数据引脚寄存器上 Setup裕量为负值,说明寄存器有可能锁存到未知的值跳转到错误状态Hod检查Hod裕量的计算与 setup裕量计算直接相关。当 setup分析证明了在最悲观的情况下数据可以被安全捕捉,hold分析确保了:同样的数据不可能被前面目地时钟沿错误的抓取下一个源时钟沿发送的数据不能被用来分析 setup的目的数据沿抓取因此,为了找到hold分析的时序路径,时序引擎考虑了所有为 setup分析的源和目的时钟沿结合的可能。对每一种可能的组合,时序引擎:检查发送沿和减去一个目的时钟周期的抓取沿之间的差值.检查了加上一个源时钟周期的发送沿和抓取沿之间的差值.只保留时间差值最大的发送沿和抓取沿hold路径要求示例采用page33中 setup路径要求示例中的时钟。对于 setup分析那仅有2个可能的时钟沿组合:Setup Path Requirement (S1)=1*T(clk1)-0*T(clk0)= 4nsSetup Path Requirement (S2)=2*T(clk1)-1*T(clk0)=2ns那么相应的hod要求如下:For setup s1:Hold path Requirement (Hla)-(1*T(clk1)-1*T(clk1))-0*T(clko)=onsHold Path Requirement (Hlb)=1*T(clkl)-(0*T(clk0)+I*T(clko))=-2nsFor setup $2:Hold Path Requirement (H2a)=(2*T(clk1)-1*T(clk1))-1*T(clko)2nsHold path Requirement(H2b)=2*T(clk1)-(1*T(clk0)+1*T(clk0))=-4ns从上面可以看出最大的要求时间是Ons,这正好与源时钟和目的时钟第一次上升沿相吻合。Hold路径要求示例,page36显示了 setup检查沿和他们相关的hold检查。cIko launch edgesHla S1 H1b/H2a522bclk1 capture edgesOns 2ns 4ns 6ns 8ns 10ns 12nsFigure 3-4: Hold Path Requirement Example此例中,最终的hod要求时间不是来源于最紧的 setup要求。这是因为所有可能的 setup沿都会被考虑在内,是为了找到最又挑战性的hod要求。正如在 setup分析中,数据要求时间和数据抵达时间是基于以下条件计算的:源时钟发送沿时间.目的时钟抓取沿时间源和目的时钟延时时钟不确定性数据延时.目的寄存器hod时间Data Required Time (hold)= destination clock capture edge timedestination clock path delayclock uncertaintyData Arrival Time (hold)= source clock launch edge timesource clock path delaydatapath delayhold timeHod裕量是要求时间和抵达时间的差值Slack (hold)= Data Arrival Time Data Required Time正的时序裕量意味着即使在最悲观的情况下数据也不会被错误的时钟沿抓取。而负的hold裕量说明抓取的数据错误,而且寄存器可能进入不稳定状态。矫正( recovery和移除( removal分析矫正和移除时序检查与 setup和hold检查相似,区别就是它们应用于异步数据管脚例如set或者clear o对于异步复位的寄存器.矫正时间是异步 reset信号为了锁定新数据已经切换到它的无效状态之后,到下一个有效时钟沿之间的最小时间。移除时间是在异步复位信号安全切换到其无效状态之前,到第一个有效时钟沿之后的最小时间。下面的等式描述了这两种分析的sack是如何计算的Recovery check下面的等式描述了下面如何计算:Data Required Time (recovery ) =destination clock edge start time+ destination clock path delayclock uncertaintyData Arrival Time (recovery )= source clock edge start timesource clock path delaydatapath delayrecovery timeSlack (recovery)= Data Required Time Data Arrival TimeRemoval checkData Required Time (removal)= destination clock edge start timedestination clock path delayclock uncertaintyData Arrival Time (removal)= source clock edge start timesource clock path delay+ datapath delayremoval timeSlack (removal)= Data Arrival Time -Data Required Time正如 setup和hold检査,一个负的 recovery裕量和 remova裕量说明寄存器可能进入亚稳态,并且将未知的电子层带入设计中。定义时钟时钟数字设计中,时钟提供了从寄存器到寄存器之间可靠的传输数据的时间参考。 Vivado ide时序引擎用时钟特征来:计算时钟路径要求以裕量计算的方式报告设计时序裕量更多信息,参考时序分析这章为了得到最精确的最大的时序路径覆盖,时钟必须合理的定义。可以用下面的特征定义时钟:源时钟是指定义在时钟驱动引脚或者时钟树跟端口的时钟时钟沿可以由周期和波形特性的组合描述周期是ns级的,与描述的波形的时间周期相匹配.时钟波形是在时钟周期里,在数ns内时钟上升沿和下降沿绝对时间的列表列表必须包含偶数个值。第一个值一般与第一个上升沿吻合,除非另外指定,默认的时钟占空比是50%相位是ns。如图4-1所示,ck0周期10ns,占空比50%,相位0ns。Ck1周期8ns,占空比75%,相位2ns。CIkO: period 10, waveform =10 5]CIk1: period =8, waveform=2850%50%ClaOns5ns10ns15ns25%75%clkbOns 2ns8ns 10ns16nsFigure 4-1: Clock Waveforms Example传播【 propagated clock)时钟周期和波形特征体现了时钟的理想特征。当时钟进入FPGA器件并且经过时钟树传播时候,时钟沿会有延时而且会随着噪声和硬件特性而改变。这些特点被称为时钟网络延时( latency)和时钟不确定{ uncertainty)时钟不确定性包含下面内容:clock jitterphase error任何额外指定的不确定Vivado会默认的将时钟作为传播时钟,这意味着,这是非理想的时钟。这么做是为了提供包含时钟树插入延时和不确定性的裕量的值。特定硬件资源
- 2021-05-06下载
- 积分:1