毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现(2).doc_第1页
毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现(2).doc_第2页
毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现(2).doc_第3页
毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现(2).doc_第4页
毕业设计(论文)-基于FPGA的函数信号发生器的设计与实现(2).doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第ix页 中国石油大学(北京)本科设计 基于fpga的函数信号发生器的设计与实现摘要 波形发生器己成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(dds)是二十世纪七十年代初提出的一种全数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。由于现场可编程门阵列(fpga)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现dds技术,极大的提高函数发生器的性能,降低生产成本。 本文首先介绍了函数波形发生器的研究背景和dds的理论。然后详尽地叙述了用fpga完成dds模块的设计过程,接着分析了整个设计中应处理的问题,根据设计原理就功能上进行了划分,将整个仪器功能划分为控制模块、外围硬件、fpga器件三个部分来实现。最后就这三个部分分别详细地进行了阐述。 本文利用altera的设计工具quartush并结合veii1og一hdl语言,采用硬件编程的方法很好地解决了这一问题。论文最后给出了系统的测量结果,并对误差进行了一定分析,结果表明,可输出步进为0.01hz,频率范围0.olhz一20mhz的正弦波、三角波、锯齿波、方波,通过实验结果表明,本设计达到了预定的要求,并证明了采用软硬件结合,利用fpga技术实现波形发生器的方法是可行的。 关键词:函数发生器,直接数字频率合成,现场可编程门阵列the design and realize of dds based on fpgaabstract arbitrary waveform generator(awg) is one of the most popular instruments in modern testing domains,which represents the developing direction of signal sources direct digital frequency synthesis(dds) advance dearly in full digital technology for frequency synthesis,its lut method for synthes waveform .adapts togenerate arbitrary waveform field programable gatearray(fpga)has the feature sof iargeseale integration,high working frequency and ean realize lalge memory,50fpgaeaneffeetivelyrealizedds. the of corporation altera ehosen to do the main digitalprocessing work,which based on its large sale and highs peed. the 53c2440mcu ehosenasa control ehip inthisdesign,how to design the fpga chip and theinter faee between the fpga and the control ehip the problem.with the method ofsoftware and hardware programming,the design used the software quartus11 and languageverilog一 hdl solves suceessfully.inthispaper,the prineiple of dds and basis of eda technology introdueed firstly.the problem is the design are analyzed and the whole fun into three parts:masterehip,fpga deviee and peripheral hardware.the three parts are described indetail independently.the disadvantage and thing sneed toadv anceareal solisted.attheend of the dissertation,or asquare wave with in the frequency range from0.01hz to20mhz .planed and the way to use software and hardware programming method and dds technology to realize functional waveform generatoravailable. keywords:dds;fpga;functional waveform generator目 录第一章 绪论iv1.1背景与意义iv1.2国内外动态v1.2.1波形发生器的发展状况v1.2.2国外波形发生器产品介绍vii1.3函数波形发生器的几种实现方式vii1.3.1程序控制输出方式vii1.3.2 dma输出方式vii1.3.3可变时钟计数器寻址方式viii1.3.4直接数字频率合成方式viii第二章 直接数字频率合成器的原理及性能i2.1频率合成器简介i2.1.1频率合成技术概述i2.1.2频率合成器主要指标ii2.2 dds原理iii第三章 基于fpga的dds模块的实现i3.1现场可编程门阵列(fpga)简介i3.1.1打开quartus ii软件并建立工程ii3.1.2 新建block diagram/schematic file并添加模块电路。iv3.1.3 建立vhdl编程模块vi3.1.4 生成vector waveform filevii3.3波形发生器的fpga实现x3.3.1fpga设计流程xi3.3.2fpga设计模块划分xiii3.3.3时钟模块xiii第4章 模块生成及仿真i4.1 相位累加器模块i4.2 正弦rom查找表iii4.3 地址变换模块vi4.4 寄存器(reg)x第五章 系统性能测试与误差分析i5.1 硬件电路安装及调试i5.2 系统性能测试ii第六章 结论与展望iv参考文献v第一章 绪论1.1背景与意义 波形发生器即通常所说的信号发生器是一种常用的信号源,广泛应用于通信 雷达 测控,电子对抗 以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器 (arbitrarywaveformgenerator,简称awg)十分有必要,而且意义重大。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。这种信号发生器虽然具有输出信号频率范围宽,结构简单等优点,但输出波形单一,不能产生任意波形,且频率稳定度和准确度较差,频率准确度一般在0.5%以下,对于作为精密测量用的信号发生器,其频率稳定度一般要求达到。 因此传统的信号发生器己经越来越不能满足现代电子测量的需要,正逐步退出历史舞台。而基于频率合成技术制成的信号发生器,由于可以获得很高的频率稳定度和精确度,因此发展非常迅速,尤其是最近随着现代电子技术的不断发展,其应用更是有了质的飞跃。 1.2国内外动态 1.2.1波形发生器的发展状况波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、振动激励、通讯和仪器仪表领域。在70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。 在70年代后,微处理器的出现,可以利用处理器、户了d和d/a,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形24。这时期的波形发生器多以软件为主,实质是采用微处理器对dac的程序控制,就可以得到各种简单的波形。 90年代末,出现几种真正高性能、高价格的函数发生器26、但是hp公司推出了型号为hp77os的信号模拟装置系统,它由hp877oa任意波形数字化和hp1776a波形发生软件组成。hp877oa实际上也只能产生8中波形,而且价格昂贵。不久以后,analogic公司推出了型号为data一2020的多波形合成器,leeroy公司生产的型号为9100的任意波形发生器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过ohz的ons芯片38仁39,同时也推动了函数波形发生器的发展,2003年agilent能够产生高达50omhz的频率,采样的频率可达 1.25ghz。由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面: 1.过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如 visualbasic,visualc等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。 2.与vxi资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的vxi模块。由于vxi总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用vxi系统测量产生复杂的波形,vxi的系统资源提供了明显的优越性,但由于开发vxi模块的周期长,而且需要专门的vxi机箱的配套使用,使得波形发生器vxi模块仅限于航空、军事及国防等大型领域。在民用方面,vxl模块远远不如台式仪器更为方便。 3.随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。 1.2.2国外波形发生器产品介绍 早在1978年,由美国wavetek公司和日本东亚电波工业公司公布了最高取样频率为smhz,可以形成256点(存储长度)波形数据,垂直分辨率为sbit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。以下给出了几种波形发生器的性能指标,从中可以看出当今世界上重要电子仪器生产商在波形发生器上的研制水平。1.3函数波形发生器的几种实现方式 任意波形发生器得实现方案主要有程序控制输出、dma输出、可变时钟计数器寻址和直接数字频率合成等多种方式。1.3.1程序控制输出方式 计算机根据波形的函数表达式,计算出一系列波形数据瞬时值,并定时地逐个传送给d/a转换器,合成出所需要的波形。这种方式具有电路简单、实现方便等特点。但数据输出定时不准确,会影响信号的频率和相位;波形数据输出依靠指令的执行来完成,当需要同时输出多个信号时,相邻信号通道的输出存在时间差;受计算机运行速度的限制,输出信号的频率较低。 1.3.2 dma输出方式 dma(direetmemo仃aecess)方式输出不依赖于程序的执行,由dma控制器申请总线控制权,通过地址总线给出存储器的地址信号,同时选通存储器和d/a转换器,在两者之间建立直接的数据通道,使存储器相应单元中的波形数据传送给d/a转换器转换后输出信号。dma方式输出信号,可以大大提高信号的数据输出速率。但也存在一些问题,如波形输出期间,微处理器因为失去了总线控制权,无法进行其他操作;在一个dma操作中,只能在一个d/a转换器和存储器之间传送数据,无法实现多通道的信号输出。1.3.3可变时钟计数器寻址方式 采用可变时钟计数器寻址波形存储器表,该方法是一种传统型任意波形发生器。原理框图如图1一1所示。图1一1可变时钟计数器寻址的任意波形发生图中的计数器实际上是一个地址发生器,计数器的触发时钟脉冲由一个频率可以控制的频率发生器产生,通过改变频率发生器的频率设置值,实现调整计数器产生的地址变化速率,从而改变输出的任意波形的频率。计数器产生的地址码提供读出存储器中波形数据所需要的地址信号,波形数据依次读出后送至高速d/a转换器,将之转变为模拟量,经低通滤波器后输出所需的波形。可见传统的任意波形发生器采用可变时钟和计数器寻址波形存储器表,此方法的优点是产生的地址连续,输出波形质量高。但其取样时频率较高,对硬件的要求也较高,而且常需多级分频或采用高性能的锁相环,其中分频式的任意波形发生器频率分辨率低,锁相式的任意波形发生器频率切换速度慢。 1.3.4直接数字频率合成方式 dos(direetdigitalsynthesizer)9是在一组存储器单元中按照信号波形数据点的输出次序存储了将要输出波形的数据,在控制电路的协调控制下,以一定的速率,周而复始地将波形数据依次发送给d/a转换器转换成相应的模拟信号。由于用硬件电路取代了计算机的控制,信号输出稳定度高。如需更新输出信号,不必改动任何线路和元器件,只需改写存储器中的波形数据即可。更主要的是,可以将微处理器从信号输出的负担中解脱出来。如图1一2为其工作流程图。 第2章 直接数字频率合成器的原理及性能 第1页第二章 直接数字频率合成器的原理及性能2.1频率合成器简介2.1.1频率合成技术概述频率合成器是现代电子系统的重要组成部分,它作为电子系统的“心脏”,在通信、雷达、电子对抗、导航、仪器仪表等许多领域中得到广泛的应用。频率合成理论早在30年代就开始提出,迄今为止已有70年的发展历史。所谓的频率合成就是将一个高精度和高稳定度的标准参考频率,经过混频、倍频与分频等对它进行加、减、乘、除的四则运算,最终产生大量的具有同样精确度和稳定度的频率源。频率合成大致经历了三个主要阶段:直接频率合成;采用锁相技术的间接频率合成;直接数字频率合成。早期的频率合成方法称为直接频率合成。它利用混频器、倍频器、分频器与带通滤波器来完成四则运算。直接频率合成能实现快速频率变换、几乎任意高的频率分辨力、低相位噪声及很高的输出频率。缺点是直接合成由于使用了大量硬设备如混频器、倍频器、分频器、带通滤波器等,因而体积大、造价高。此外寄生输出大这是由于带通滤波器无法将混频器产生的无用频率分量滤尽。而且频率范围越宽,寄生分量也就越多。而这些足以抵消其所有优点。直接频率合成技术的固有缺点在间接频率合成技术中得到了很到的改善。间接频率合成又称锁相频率合成,采用锁相环路(pll)技术对频率进行四则运算,产生所需频率。锁相环路(pll)是一个能够跟踪输入信号相位的闭环自动控住系统。早在1932年debellescize提出的同步检波理论中首次公布发表了对锁相环路的描述。但是由于其复杂的技术原理直到1947年锁相环路才第一次用于电视接收机水平和垂直的同步扫描。它的跟踪性能及低噪声性能得到人们的重视得到迅速发展。它在无线电技术的各个领域得到了很广泛的应用。但是锁相频率合成器也存在一些问题,以致难于满足合成器多方面的性能要求。主要表现在高频率分辨率与快速转换频率之间的矛盾。直接数字频率合成即dds,它是目前最新的产生频率源的频率合成技术。 这种技术是用数字计算机和数模变换器来产生信号。完成直接数字频率合成的办它是目前最新的产生频率源的频率合成技术。这种技术是用数字计算机和数模变换器来产生信号。完成直接数字频率合成的办法,或者是用计算机求解一个数字递推关系式。或者是查阅表格上所存储的波形值。目前用的最多的是查表法。这种合成技术具有相对带宽很宽,频率切换时间短(ns级),分辨率高(uhz),相位变化连续,低相位噪声和低漂移,数字调制功能,可编程及数字化易于集成,易于调整等一系列性能指标远远超过了传统频率合成技术所能达到的水平,为各种电子系统提供了优于模拟信号源性能的高质量的频率源。目前它正朝着系统化,小型化、模块化和工程化的方向发展,性能越来越好,使用越来越方便,是目前应用最广泛的频率合成器之一。 2.1.2频率合成器主要指标 信号源的一个重要指标就是能输出频率准确可调的所需信号。一般传统的信号发生器采用谐振法,即用具有频率选择性的正反馈回路来产生正弦振荡,获得所需频率信号,但难以产生大量的具有同一稳定度和准确度的不同频率。利用频率合成技术制成的信号发生器,通常被称为频率合成器。频率合成器既要产生所需要的频率,又要获得纯净的信号。频率合成器的主要指标如下:1.输出频率范围(fminfmax):指的是输出的最小频率和最大频率之间的变化范围。2.频率稳定度:指的是输出频率在一定时间间隔内和标准频率偏差的数值,它分长期、短期和瞬时稳定度三种。3.频率分辨率:指的是输出频率的最小间隔。4.频率转换时间:指的是输出由一种频率转换成另一频率的时间。5.频谱纯度:频谱纯度以杂散分量和相位噪声来衡量,杂散分量为谐波分量和非谐波分量两种,主要由频率合成过程中的非线性失真产生,相位噪声是衡量输出信号相位抖动大小的参数。6.调制性能:指的是频率合成器是否具有调幅(am)、调频(fm)、调相(pm)等功能。 2.2 dds原理 dds是一种全数字的频率合成方法,其基本结构主要由相位累加器、波形rom、d/a转换器和低通滤波器四个部分构成,如图2一1所示。相位累加器一波形rom一d/a转换器一低通滤波器图2一 1dds结构原理图图2一l中相位累加 器结构如图2一2所示。图2一2相位累加器结构图相位累加器由一个n位的加法器和一个n位的寄存器构成,通过把上一个时钟的累加结果反馈回加法器的输入端而实现累加功能。从而使输出结果每一个时钟周期递增k。这里n为相位累加器的字长,k称为频率控制字。波形rom示意图如图2一3所示。图2一3波形rom示意图 其中相位累加器字长为n,dds控制时钟频率为fc,频率控制字为k。dds直接从“相位”的概念出发进行频率合成。相位累加器由加法器与累加寄存器级联构成。每来一个时钟脉冲fc,加法器将频率控制字k与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是dds输出的信号频率。 dds的核心就是相位累加器,利用它来产生信号递增的相位信息,整个dds系统在统一的参考时钟下工作,每个时钟周期相位累加器作加法运算一次。加法运算的步进越大,相应合成的相位值变化越快,输出信号的频率也就越高。对于幅值归一化的正弦波信号的瞬时幅值完全由瞬时相位来决定,因为。=d叔i)/dt,所以相位变化越快,信号的频率越高。rom表完成将累加器相位信息转换为幅值信息的功能。再由d/a完成数字抽样信号到连续时域信号的转换,d/a输出的台阶信号再经低通滤波器平滑可以得到精确的连续正弦信号波形。相位累加器利用nbit二进制加法器的模溢出特性来模拟理想正弦波的2:相位周期。相位累加器输出和rom输出可分别理解为理想正弦波相位信号和时域波形的时钟抽样。用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可以把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到d/a转换器,d/a转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。假设,相位累加器字长为n,dds控制时钟频率为fc,时钟周期为tc=1/fc,频率控制字为k。系统工作时,累加器的单个时钟周期的增量值为相应角频率 因dds输出信号是对正弦波的抽样合成的,所以应满足niqust定理要求,即,也就是要求,根据频谱性能要求。当dds相位累加器采用32位字长,时钟频率为30mhz时,它的输出频率间隔可达到。可见,dds基于累加器相位控制方式给它带来了微步进的优势。 dds频率合成器具有以下优点:(1)频率分辨率高,输出频点多,可达zn个频点(假设dds相位累加器的字长是n);(2)频率切换速度快,可达us量级;(3)频率切换时相位连续;(4)可以输出宽带正交信号;(5)输出相位噪声低,对参考频率源的相位噪声有改善作用;(6)可以产生任意波形;(7)全数字化实现,偏于集成,体积小,重量轻。 但dds也有比较明显的缺点:(l)输出信号的杂散比较大;(2)输出信号的带宽受到限制。dds输出杂散比较大,这是由于信号合成过程中的相位截断误差、d/a转换器的截断误差和d/a转换器的非线性造成的。当然随着技术的发展,这些问题正在逐步得到解决。如通过增长波形rom的长度也减小相位截断误差;通过增加波形rom的字长和d/a转换器的精度以减小d/a量化误差等。在比较新的dds芯片中普遍都采用了 1zbit的d/a转换器。当然一味靠增加波形rom的深度和字长的方法来减小杂散对性能的提高总是有限的。已有研究在对dds输出的频谱做了大量的分析后,总结出了误差的领域分布规律建立了误差模型,在分析dds频谱特性的基础上又提出了一些降低杂散功率的方法;可以通过采样的方法降低带内误差功率,可何编程任务且具有扩展的函数库。和c语言一样,g语言定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能的完善性和应用的灵活性上不比任何高级语言差。g语言还拥有丰富的扩展函数,为用户提供了极大的方便。这些扩展函数主要是关于数据采集、gpib和串行仪器控制,以及数据分析、数据显示和数据存储。同时,g语言还包括常用的程序调试工具,如设置断点、单步调试、数据探针和动态显示执行程序流程等功能。g语言和传统语言最大的区别在于编程方式,一般的高级语言采用文本编程,而g语言采用图形化的编程方式。xv第3章 基于fpga的dds模块的实现 第页第3章 基于fpga的dds模块的实现3.1现场可编程门阵列(fpga)简介 fpga是英文fieldprogrammablegatearray的缩写,即现场可编程门阵列,它是在队l、gal、epld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。fpga采用了逻辑单元数组 lca(logiccellarray)这样一个新概念,内部包括可配置逻辑模块 clb(configurablelogiebloek)、输出/输入模块iob(inpu灯 outputbloek)和内部联机(interconnect)三个部分。fpga的基本特点主要有:(l)采用fpga设计asic电路,用户不需要投片生产,就能得到合用的芯片。 (2)fpga可做其他全定制或半定制asic电路的中试样片。 (3)fpga内部有丰富的触发器和fo引脚。 (4)fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)fpga采用高速chmos工艺,功耗低,可以与cmos、ttl电平兼容。因此,fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。fpga具有静态可重复编程和动态在系统重构的特性,使得硬件功能可以像软件一样通过编程来修改。在fpga实际应用中,设计的保密和设计的可升级是十分重要的,用单片机来配置fpga可以很好的解决上述问题。用单片机配置fpga器件时,关键在于产生合适的时序。单片机可选用常用的如mcs51系列、mcs96系列、avr系列等均可。cyclone一ll12)系列fpga主要由输入输出单元ioe、掩埋数组eab、逻辑数组lab及内部联机组成。eab是在输入和输出埠加有寄存器的ram块,其容量可灵活变化。所以,eab不仅可以用于内存,还可以事先写入查表值来用它构成如乘法器、纠错逻辑等电路。当用于ram时,eab可配制成多种形式的字宽和容量。altera公司fpga器件cyclone一11系列的组成主要包括:(l)逻辑数组,由多个逻辑数组块 (logicarrayblocks,labs)排列而成,用于实现大部分逻辑功能;(2)在芯片四周分布着可编程的输入输出单元 (input/outputelements,ioes),提供封装引脚与内部逻辑之间的连接接口;(3)丰富的多层互连结构的可编程联机;(4)片上的随机存取块状ram;(5)锁相环(pll),用于时钟的锁定与同步、能够实现时钟的倍频和分频;(6)高速的硬件乘法器,有助于实现高性能的dsp功能。fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的ram进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成以后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。fpga的编程无须专用的fpga编程器,只须用通用的eprom、 prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga,不同的编程数据,可以产生不同的的电路功能。因此,fpga的使用灵活。fpga的编程技术。目前有三种基本的fpga编程技术:sram、反熔丝、flash。其中,sram是迄今为止应用范围最广的架构,主要因为它速度快且具有可重编程能力,而反熔丝fpga只具有一次可编程 (onetimeprogrammabfe,otp)能力。基于flash的fpga是fpga领域比较新的技术,也能提供可重编程功能。基于sram的fpga器件经常带来一些其他的成本,包括:启动proms支持安全和保密应用的备用电池等等。基于flash和反熔丝的fpga没有这些隐含成本,因此可保证较低的总系统成本。3.1.1打开quartus ii软件并建立工程quartus ii 软件是可编程逻辑器件集成开发环境。用于完成波形发生器的分析综合、硬件优化、适配、配置文件编辑下载以及硬件系统测试等。(1) 打开quartus ii 软件。(2) filenew project wizard。出现一系列对话框,其他保持默认值。直到如图2.1 所示将工程取名为“biye”。图2.1 新建工程路径、名称、顶层实体指定对话框(3)在以上步骤上继续点击“next”,直到如图2.2 所示对话选择目标器件为cyclone 系列的ep1c6q240c8。接下来其他对话框都默认值即可。继续点击“next”即可完成新建工程的操作。图2.2 新建工程选择器件对话框3.1.2 新建block diagram/schematic file并添加模块电路。(1)在quartus ii软件里选择filenew打开新建文件夹对话框,如图2.3所示,选择block diagram/schematic file,单击ok,即建立了一个空的顶层模块。图2.3 新建模块文件夹对话框(2)选择filesave as为“block 1.bdf”(3)选中新建的block diagram/schematic file,并双击block diagram/schematic file,然后选择所需的模块,如图2.4图2.4 选择所需的模块放入block diagram/schematic file就这样,按照上述步骤,逐个生成所需模块,放入block diagram/schematic file中。等待最后生成电路。3.1.3 建立vhdl编程模块(1)在quartus ii软件里选择filenew打开新建文件夹对话框,如图2.5所示,选择vhdl file,单击ok,即建立了一个空的vhdl编程模块。图2.5 新建vhdl编程模块文件夹对话框(2)每个vhdl编程模块保存命名为自己所需的名称。3.1.4 生成vector waveform file对要生成vwf的vhdl file选择“file-new”生成vector waveform file。如图2.6图2.6 新建vector waveform file新建vector waveform file成功后,选择“view-utility windows-no1.设计输入quart。sh软件的设计文件可以来自quart。sh设计输入工具或各种工业标准的eda设计输入工具quartush强大的集成功能允许信息在各种应用程序间自由交流,设计者可在一个工程内直接从某个设计文件转换到其他任何设计文件,而不必理会设计文件是图形格式、文本格式,还是波形格式。quartush具有如下的多种设计输入方法:原理图输入与符号编辑、硬件描述语言、波形设计输入、平面图编辑以及层次设计输入。如此众多的设计方法帮助设计者轻松地完成设计输入。2.项目处理quartush处理一个设计时,软件编译器读取设计文件信息,产生用于器件编程、仿真、定时分析的输出文件。消息处理器可以自动定位编译过程中发现的错误,编译器还可以优化设计文件。项目处理包括以下基本步骤:(1)消息处理器自动定位错误;(2)逻辑综合与试配;(3)定时驱动编译;(4)设计规则检查;(5)多器件划分;本设计主要采用verilog_hdl语言描述方法。硬件描述语言 hdl(hardwaredeseriptionlanguage)是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。它可以使数字逻辑电路设计者利用这种语言来描述自己的设计思想,然后利用电子设计自动化(eda)工具进行仿真,自动综合到门级电路,再利用asic或fpga实现其具体功能。在硬件描述语言出现之前,已经有很多成功的软件设计语言,比如 :fortran、pascal和c等,为什么不用这些语言描述硬件?因为这些软件设计语言较合适描述顺序执行的程序,却难以描述硬件的并发行为;软件设计语言中没有时序概念,难以描述信号间的时序关系。硬件描述语言自出现起,发展非常迅速,已经成功应用在数字逻辑设计的各个阶段,包括设计、仿真、验证、综合等,它们对设计自动化起到了极大的推动作用。 veriloghdl语言是硬件描述语言中的一种,它是在 1983年由gat。way designautomation公司的 philmoothy首创。在 1984年一 1985年,moorby设计出第一个关于verilog一xl的仿真器, 1986年,他对 veriloghdl的发展又做出了另一个巨大的贡献,即提出了用于快速门级仿真的xl算法,使仿真速度有了很大提高。随着这种仿真器的流行, veriloghdl语言得到迅速发展。 1989年,cadence公司收购了 oateway公司, veriloghdl语一言成为cadenee公司的私有财产。由于verilog私有性,妨碍了使用者之间的交流与共享,为与vhdl语言竞争,1990年,cadenee公司决定公开 veriloghdl语一言。基于 veriloghdl的优越性,ieee于 1995年制定了 veriloghdl的ieee标准,即veriloghdl1364一1995。采用verilog语言设计的优点有以下几点:(l)作为一种通用的硬件描述语言,verilog易学易用,因为在语法上它与c语一言非常类似,有c语言编程经验的人很容易发现这一点。(2)同一个设计,verilog语一言允许设计者在不同层次上进行抽象。verilog语言中提供开关级、门级、rtl级和行为级支持,一个设计可以先用行为级语法描述它的算法,仿真通过后,再用rtl级描述,得到可综合的代码。(3)verilog语言支持广泛,基本上所有流行的综合器、仿真器都支持verilog。(4)所有的后端生产厂商都提供verilog的库支持,这样在制造芯片时,可以有更多的选择。(5)能够描述层次设计,可使用模块实例结构描述任何层次,模块的规模可以是任意的,语言对此没有任何限制。(6)veriloghdl语言的描述能力可以通过使用编程语言接口(pli)机制进一步扩展。pli允许外部函数访问verilog模块内部信息、允许设计者通过软件程序与仿真器进行交互。(7)verilog语言对仿真提供强大的支持,虽然现在出现了专门的用于验证的语言,但用verilog语一言直接对设计进行测试任然是大部分工程师的首选。大基于verilog的fpga的设计有两种方法:自顶向上(top一down)和自低向上(bottom一up)。图3一l为基于verilog的fpga的设计流程示意图。对于简单的只有逻辑设计的系统,可以不需要虚线所示的步骤;若对于一些很复杂的系统,如视频编解码芯片,则还需在系统设计规范完成后开发行为级模型,并进行仿真,检查是否能满足系统需求。 3.3波形发生器的fpga实现早期的dds系统使用分离的数字器件搭接,随着整个电路系统运行频率的升高,采用分离器件构建的dds电路有其自身无法克服的缺点,主要表现在电磁兼容和系统工作频率上。后来出现的专用dds芯片极大的推动了dds技术的发展,但专用dds芯片价格昂贵,且无法实现任意波形输出,近来,cpld及fpga的发展为实现dds提供了更好的技术手段。fpga的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。而且它的时钟频率已可达到几百兆赫兹,加上它的灵活性和高可靠性,非常适合用于实现波形发生器的数字电路部分。用fpga设计dds电路比采用专用dds芯片更为灵活。因为,只要改变fpga中的rom数据,dds就可以产生任意波形,因而具有相当大的灵活性。相比之下fpga的功能完全取决于设计需求,可以复杂也可以简单,而且fpga芯片还支持在系统现场升级,虽然在精度和速度上略有不足,但也能基本满足绝大多数系统的使用要求。另外,将dds设计嵌入到fpga芯片所构成的系统中,其系统成本并不会增加多少,而购买专用芯片的价格则是前者的很多倍。因此,采用fpga来设计dds系统具有很高的性价比。用fpga可以非常方便的实现dds系统的数字电路环节,且可现场编程进行电路的修改。在dds系统中,fpga的主要完成:(l)保存频率字;(2)保存相位字;(3)构成相位累加器,产生波形ram的地址;(4)形成波形ram。大 3.3.1fpga设计流程图3一 2fpga设计框图fpga的主要功能是:(l)产生与53c2440的接口电路,使其能够接受arm处理器控制信号;(2)保存频率字,并构成相位累加器,产生与主时钟相同频率的ram寻址字;(3)用内部的存储块构成存放多种波形数据的rom,并通过相应的控制线进行选择;(4)构造出两个多波形选择输出的输出通道,其中的一路通道可具备移相功能;(5)用内部的pll倍频外部低频晶振源,并输出与主时钟同频的时钟,驱动片外高速d/a。该系统可实现常规固定波形输出和任意波形输出。其中相位累加器是一个带有累加功能的犯位加法器,它以设定的频率控制字k作为步长来进行加法运算,当其和满时清零,并进行重新运算。相位寄存器是一个8位寄存器,它接受arm处理器发送来的相位控制字数据并进行寄存,当下一个时钟到来时,输入寄存的数据,对输出波形的频率和相位进行控制。波形查找表rom及ram是dds的关键部分,设计时首先需对时域波形进行采样,将采样的波形数据储存到波形查找表rom及ram中,每一位地址对应一个波形点的数值,任意波形数据寄存器接受arm处理器送来的任意波形数据数据。整个系统各模块是在同步时钟信号clk的控制下协调工作的。3.3.2fpga设计模块划分图3一 3fpga设计模块流程图整个设计有一个顶层模块,按照功能要求划分成三个功能模块,其中第二个模块是dds核心模块,比较复杂,又划分成6个模块。如图3一3所示:任意波形发生器的fpga的电路设计主要是用fpga设计dds的核心部分即相位加法器、控制字输入寄存器、流水线累加器,波形查找表、任意波形数据寄存器。3.3.3时钟模块图3一4时钟倍频模块根据耐奎斯特采样定理要得到输出频率为20mhz的信号,其所输入的信号时钟频率必须达50mhz以上。采样频率越高,输出波形的平坦度越好,同时大波形的的采样点数也越多,那么获得的波形质量也就越好。本设计中的dds模块是一高速模块,所以对系统时钟就有很高的要求,不仅需要有较高的频率,而且还要有非常高的稳定性,如果在fpga的时钟端直接加一高频晶振,不仅时钟不稳定,而且功耗大,费用高,在本设计中,直接调用altera公司的pll核,在fpga时钟端只需加一低频晶振,通过fpga内部pll倍频达到系统时钟要求。图3一4为用 megawizardplug一 inmanager生成的pll的实例图,图中输入端,外接系统时钟,两个输出端,一个是内部dds的系统时钟,另一个为数模转换的控制时钟,两个时钟都是都一个pll产生的,所以,输出的时钟相位偏移在允许范围内。间的通信。在通信距离上,如果通信速率低于20kps,rs-232c直接连接的最大物理距离为15m。pc机与单片机可以采用最简单的连接方式:只使用txd、rx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论