




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 绪论1.1 引言 任意波形发生器己成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(DDS)是二十世纪七十年代初提出的一种个数字的频率合成技术,其查表合成波形的方法可以满足产生任意波形的要求。由于现场可编程门阵列(FPGA)具有高集成度、高速度、可实现大容量存储器功能的特性,能有效地实现DDS技术,极大的提高信号发生器的性能,降低生产成木。1.2 背景与意义随着科技的不断发展,电子技术获得了飞速的发展,有力的推动了生产力的发展和社会信息化程度的提高,电子行业也经历着日新月异的变化。信号发生器是实验室的常用仪器之一,设计信号发生器具有实际应用的意义。波形发生器即通常所说的信号发生器是一种常用的信号源,它具有信源的所有特点。信号源有很多种,包括正弦波信号源、函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等。波形发生器广泛应用于通信、雷达、测控、电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器十分有必要,而且意义重大。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。这种信号发生器虽然具有输出信号频率范围宽,结构简单等优点,但输出波形单一,不能产生任意波形,且频率稳定度和准确度较差,频率准确度低。 因此传统的信号发生器己经越来越不能满足现代电子测量的需要,正逐步退出历史舞台。而基于频率合成技术制成的信号发生器,由于可以获得很高的频率稳定度和精确度,因此发展非常迅速,尤其是最近随着现代电子技术的不断发展,其应用更是有了质的飞跃。1.3 课题研究现状和应用 信号发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、振动激励、通讯和仪器仪表领域。在70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。 在70年代后,微处理器的出现,可以利用处理器、户了D和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。 90年代末,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP77OS的信号模拟装置系统,它由HP877OA任意波形数字化和HP1776A波形发生软件组成。HP877OA实际上也只能产生8中波形,而且价格昂贵。不久以后,Analogic公司推出了型号为Data一2020的多波形合成器,Lecroy公司生产的型号为9100的任意波形发生器等。 到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过GHz的DDS芯片,同时也推动了函数波形发生器的发展,2005年Agilent能够产生高达50OMHz的频率,采样的频率可达 1.25GHz。由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面: 1.过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic,Visual C等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。 2.与VXI资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器更为方便。 3.随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.4 波形发生器的几种实现方式 任意波形发生器得实现方案主要有程序控制输出、DMA输出、可变时钟计数器寻址和直接数字频率合成等多种方式。1.4.1程序控制输出方式 计算机根据波形的函数表达式,计算出一系列波形数据瞬时值,并定时地逐个传送给D/A转换器,合成出所需要的波形。这种方式具有电路简单、实现方便等特点。但数据输出定时不准确,会影响信号的频率和相位;波形数据输出依靠指令的执行来完成,当需要同时输出多个信号时,相邻信号通道的输出存在时间差;受计算机运行速度的限制,输出信号的频率较低。1.4.2 DMA输出方式 DMA(direct memo access)方式输出不依赖于程序的执行,由DMA控制器申请总线控制权,通过地址总线给出存储器的地址信号,同时选通存储器和D/A转换器,在两者之间建立直接的数据通道,使存储器相应单元中的波形数据传送给D/A转换器转换后输出信号。DMA方式输出信号,可以大大提高信号的数据输出速率。但也存在一些问题,如波形输出期间,微处理器因为失去了总线控制权,无法进行其他操作;在一个DMA操作中,只能在一个D/A转换器和存储器之间传送数据,无法实现多通道的信号输出。1.4.3可变时钟计数器寻址方式采用可变时钟计数器寻址波形存储器表,该方法是一种传统型任意波形发生器。原理框图如图1-1所示。 图1-1可变时钟计时器寻址波形发生器 计数器实际上是一个地址发生器,计数器的触发时钟脉冲由一个频率可以控制的频率发生器产生,通过改变频率发生器的频率设置值,实现调整计数器产生的地址变化速率,从而改变输出的任意波形的频率。计数器产生的地址码提供读出存储器中波形数据所需要的地址信号,波形数据依次读出后送至高速D/A转换器,将之转变为模拟量,经低通滤波器后输出所需的波形。可见传统的任意波形发生器采用可变时钟和计数器寻址波形存储器表,此方法的优点是产生的地址连续,输出波形质量高。但其取样时频率较高,对硬件的要求也较高,而且常需多级分频或采用高性能的锁相环,其中分频式的任意波形发生器频率分辨率低,锁相式的任意波形发生器频率切换速度慢。1.4.4直接数字频率合成方式 DDS(direct digital synthesizer)是在一组存储器单元中按照信号波形数据点的输出次序存储了将要输出波形的数据,在控制电路的协调控制下,以一定的速率,周而复始地将波形数据依次发送给D/A转换器转换成相应的模拟信号。由于用硬件电路取代了计算机的控制,信号输出稳定度高。如需更新输出信号,不必改动任何线路和元器件,只需改写存储器中的波形数据即可。更主要的是,可以将微处理器从信号输出的负担中解脱出来。如图1-2为其工作框图。K相位累加器波形ROMD/A转换低通滤波 信号输出时钟 图1-2 直接频率合成器框图1.5 本文研究的内容采用FPGA的方法设计信号发生器可以产生频率比较高的信号,例如频率为几M的正弦波。通常正弦波产生的方法是采用MCU+DDS的方法,但是由于DDS的造价比较高,所以在指标要求不高的情况下,可以使用FPGA来实现DDS频率合成的原理来产生较高频率的正弦波,任意波形的信号也是如此。课题基于FPGA的信号发生器的设计主要研究内容为DDS基数及其FPGA的实现。其目的在于让设计者能掌握DDS的原理及其设计思路,具体的了解EDA技术流程,熟悉硬件描述语言设计功能电路,并最终检验设计的设计能力。随着我国的经济日益增长,社会对电子产品的需求量也就越来越大,目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。FPGA(Field Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。FPGA/CPLD(Complex Programmable Logic Device)所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低可电子系统的开发成本,且可以毫不夸张地讲,FPGA/CPLD能完成任何数字器件的功能,从简单的74电路到高性能的CPU。它的影响毫不亚于20世纪70年代单片机的发明和使用。现在随着电子技术的发展,产品的技术含量越来越高,使得芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用集成电路(ASIC)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。仅靠原理图输入方式已不能满足要求,采用硬件描述语言VHDL的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。设计工作从行为、功能级开始,并向着设计的高层次发展。这样就出现了第三代EDA系统,其特点是高层次设计的自动化。 第三代EDA系统中除了引入硬件描述语言,还引入了行为综合工具和逻辑综合工具,采用较高的抽象层次进行设计,并按层次式方法进行管理,可大大提高处理复杂设计的能力,缩短设计周期,综合优化工具的采用使芯片的品质如面积、速度和功耗等获得了优化,因而第三代EDA系统迅速得到了推广应用。目前,最通用的硬件描述语言有VHDL和VerilogHDL两种,现在大多设计者都使用93年版标准的VHDL,并且通过了IEEE认定,成为世界范围内通用的数字系统设计标准。VHDL是一种新兴的程序设计语言,使用VHDL进行设计其性能总是比常规使用CPU或者MCU的程序设计语言在性能上要高好几个数量级。这就是说,在传统上使用软件语言的地方,VHDL语言作为一种新的实现方式会应用得越来越广泛。本课题设计是采用美国Altera公司的EPF10K50ETI144-2器件,使用的是Altera公司的EDA软件平台MaxplusII可编程逻辑器件开发软件。2 DDS的原理及性能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是一种全数字的频率合成方法,其基本结构主要由相位累加器、波形ROM、D/A转换器和低通滤波器四个部分构成,如图2-1所示。相位累加器一波形ROM一D/A转换器一低通滤波器 图2-1 DDS结构原理图图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系统在统一的参考时钟下工作,每个时钟周期相位累加器作加法运算一次。加法运算的步进越大,相应合成的相位值变化越快,输出信号的频率也就越高。对于幅值归一化的正弦波信号的瞬时幅值完全由瞬时相位来决定,因为所以相位变化越快,信号的频率越高。ROM表完成将累加器相位信息转换为幅值信息的功能。再由D/A完成数字抽样信号到连续时域信号的转换,D/A输出的台阶信号再经低通滤波器平滑可以得到精确的连续正弦信号波形。相位累加器利用Nbit二进制加法器的模溢出特性来模拟理想正弦波的相位周期。相位累加器输出和ROM输出可分别理解为理想正弦波相位信号和时域波形的时钟抽样。用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可以把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。假设,相位累加器字长为N,DDS控制时钟频率为fC,时钟周期为Tc=1/fc,频率控制字为K。系统工作时,累加器的单个时钟周期的增量值为相应角频率 因DDS输出信号是对正弦波的抽样合成的,所以应满足Niqust定理要求,DDS输出频率步进间隔为。当DDS相位累加器采用32位字长,时钟频率为30MHz时,它的输出频率间隔可达到。可见,DDS基于累加器相位控制方式给它带来了微步进的优势。DDS频率合成器具有以下优点:(1) 频率分辨率高,输出频点多,可达个频点(假设DDS相位累加器的字长是N);(2) 频率切换速度快,可达us量级;(3) 频率切换时相位连续;(4) 可以输出宽带正交信号;(5) 输出相位噪声低,对参考频率源的相位噪声有改善作用;(6) 可以产生任意波形;(7) 全数字化实现,偏于集成,体积小,重量轻。但DDS也有比较明显的缺点:(l)输出信号的杂散比较大;(2) 输出信号的带宽受到限制。(3) DDS输出杂散比较大,这是由于信号合成过程中的相位截断误差、D/A转换器的截断误差和D/A转换器的非线性造成的。 当然随着技术的发展,这些问题正在逐步得到解决。如通过增长波形ROM的长度也减小相位截断误差;通过增加波形ROM的字长和D/A转换器的精度以减小D/A量化误差等。在比较新的DDS芯片中普遍都采用了12bit的D/A转换器。当然一味靠增加波形ROM的深度和字长的方法来减小杂散对性能的提高总是有限的。已有研究在对DDS输出的频谱做了大量的分析后,总结出了误差的领域分布规律建立了误差模型,在分析DDS频谱特性的基础上又提出了一些降低杂散功率的方法;可以通过采样的方法降低带内误差功率,可何编程任务且具有扩展的函数库。和C语言一样,G语言定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能的完善性和应用的灵活性上不比任何高级语言差。G语言还拥有丰富的扩展函数,为用户提供了极大的方便。这些扩展函数主要是关于数据采集、GPIB和串行仪器控制,以及数据分析、数据显示和数据存储。同时,G语言还包括常用的程序调试工具,如设置断点、单步调试、数据探针和动态显示执行程序流程等功能。G语言和传统语言最大的区别在于编程方式,一般的高级语言采用文本编程,而G语言采用图形化的编程方式。3 基于FPGA的DDS模块的实现3.1 FPGA简介数字集成电路从产生到现在,经过了早期的电子管、晶体管、小中规模集成电路,到大规模、超大规模集成电路(VLSIC)以及许多既有特定功能的专用集成电路的发展过程。但是,随着为电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(Application Special Integrated Circuit, ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在 实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(Field Programmable Logic Device, FPLD),其中应用最广泛的当属CPLD和FPGA。CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programmable Gate Array)的简称。两者的功能基本相同,只是实现原理略有不同,但有时可以忽略这两者的区别。不同厂家对可编程逻辑器件的叫法也不尽相同。Altera公司把自己的可编程逻辑器件产品中的MAX系列(乘积项技术,EEPROM技术)、FLEX系列(查找表技术,SRAM工艺)都叫做CPLD;而把也是SRAM工艺、基于查找表技术、要外挂配置用的FLEX系列的EPROM叫做FPGA。早期的可编程逻辑器件都属于低密度PLD(Programmable Logic Device),结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。1985年Xilinx公司首先推出了现场可编程门阵列FPGA,这是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程模块组成,逻辑模块之间可以灵活地相互连接,具有密度高、编程速度快,设计灵活和可再配置设计能力等许多优点。 图3-1 FPGA设计流程图 随着可编程逻辑器件 FPGA 的迅速发展,基于 FPGA 控制的DDS信号发生器使得电路设计更加简单 ,而且通过预留的端口可轻松进行二次开发。 FPGA一般由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。每个单元简介如下:(1)可编程输入/输出单元(I/O单元)。目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电气标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等;(2)基本可编程逻辑单元。FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带 同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。(3)嵌入式块RAM。目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结构。(4)丰富的布线资源。布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:A全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;B长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线;C短线资源:用来完成基本逻辑单元间的逻辑互连与布线;D其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。(5)底层嵌入功能单元。由厂商及芯片型号决定。(6)内嵌专用硬核。与“底层嵌入单元”有区别,这里指的硬核主要是那些通用性相对较弱的芯片,不是所有FPGA芯片都包含硬核。3.2 VHDL简介VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)诞生于1982 年。1987年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句 外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大 , 设计方式多样。VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。(2) VHDL 语言具有强大的硬件描述能力。VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3)VHDL语言具有很强的移植能力。VHDL语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4)VHDL语言的设计描述与器件无关。采用VHDL语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用。VHDL 语言采用基于库(library)的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中,就可以在以后的设计中进行复用。由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。3.3 Quartus简介Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VerilonHDL、VHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与 Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera QuartusII作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。 本次设计的软件部分主要运用Altera公司的Quartus软件平台,其开发流程基本分成2个步骤:1.设计输入Quartus软件的设计文件可以来自Quartus5.1设计输入工具或各种工业标准的EDA设计输入工具Quartus强大的集成功能允许信息在各种应用程序间自由交流,设计者可在一个工程内直接从某个设计文件转换到其他任何设计文件,而不必理会设计文件是图形格式、文本格式,还是波形格式。Quartus具有如下的多种设计输入方法:原理图输入与符号编辑、硬件描述语言、波形设计输入、平面图编辑以及层次设计输入。如此众多的设计方法帮助设计者轻松地完成设计输入。2.项目处理Quartus处理一个设计时,软件编译器读取设计文件信息,产生用于器件编程、仿真、定时分析的输出文件。消息处理器可以自动定位编译过程中发现的错误,编译器还可以优化设计文件。项目处理包括以下基本步骤:(1)消息处理器自动定位错误;(2)逻辑综合与试配;(3)定时驱动编译;(4)设计规则检查;(5)多器件划分。3.4 基于FPGA的DDS信号发生器的系统组成该信号发生器系统主要由输入部分、FPGA部分、D/A转换部分、频率和波形转换部分组成。如图3-2所示。分频器FPGA部分系 统 控 制 器时钟控制字复位波形频率正弦波三角波方波 锯齿波波形DA转换与幅度调节滤波输出图3-2 FPGA信号发生器系统组成3.4 设计原理及要求在本设计中,利用FPGA,采用EDA(Electronic Design Automation)中自顶向下(top-to-down)的设计方法,选用基于相位累加器的直接数字合成的DDS技术来完成数字信号发生器各功能模块的设计。DDS这种结构主要由相位累加器、相位调制器、波形 ROM 查找表、D/A构成。FPGA设计的DDS系统主要由相位累加器及相位/幅度转换电路组成。根据设计的具体要求,还设计了一个系统控制电路,这一电路可灵活设计,以突出FPGA的优点所在。另外采用VHDL硬件描述语言实现整个DDS电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同FPGA器件之间实现移植。它的工作原理是:将要产生的波形数据存入波形存储器,然后在参考时钟的作用下 ,对输入的频率数据进行累加,并且将累加器的输出一部分作为读取波形存储器的地址,将读出的波形数据经D/A转换为相应的模拟电压信号。本研究的重点就是用VHDL来实现DDS的功能,能够达到高精度的输出,同时标准波形数据生成存放在ROM中,可以简化运算过程,提高运算速度,加快反应时间。本设计主要通过VHDL语言实现频率控制、波形控制、波形数据的提取、波形的产生工作。其中,波形数据运用VHDL语言编写。控制部分主要采用产生高低电平的拨码开关控制。程序下载到FPGA上实现,经过D/A输出波形。3.4.1 相位累加器设计在用FPGA设计DDS电路的时候,相位累加器是决定DDS电路性能的一个关键部分。小的累加器可以利用FLEX器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的LAB(逻辑阵列块)和LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。作为是DDS核心的相位累加器,有一个N位字长的二进制加法器和一个有时钟取样的位寄存器组成,作用是最频率控制字进行线性累加。3.4.2 相位/幅度转换电路 相位/幅度转换电路是DDS电路中的另一个关键部分。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。 在FPGA(针对Altera公司的器件)中,ROM一般由EAB实现,且ROM表的尺寸随地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提下,如何有效利用FPGA的有限资源,成为相位/幅度转换电路中最关键的一点。在设计时可充分利用信号周期内的对称性和算术关系来减少EAB的开销。相位/幅度转换电路中的主要问题在于ROM的大小。本设计中正弦波,考虑了以下的优化方式:正弦波信号对于x=直线成奇对称,基于此可以将ROM表减至原来的1/2,再利用左半周期内,波形对于点(/2,0)成偶对称,进一步将ROM表减至最初的1/4,因此通过一个正弦码表的前1/4周期就可以变换得到的正弦的整个周期码表,这样就节省了将近3/4的资源。4 模块生成及仿真4.1 DDS顶层设计 该电路由32位加法器,32位寄存器,10位加法器,10位寄存器和波形ROM组成。 图4-1 DDS顶层模块 本设计中的相位累加器模块的仿真图如图4-2所示。相位累加器在每一个时钟脉冲输入时,把频率控制字加一次,相位累加器输出的数据就是合成信号的相位。 图4-2 相位累加器仿真 设计中整个DDS正弦信号发生系统仿真结果如图4-3所示。用相位累加器的数据作为波形存储器的相位取样地址,这样就可把存储在ROM内的波形取样值经查找表查出,完成相位到幅值的转换。 图4-3 DDS正弦信号输出ROM表仿真图4.2 波形数据产生模块4.2.1 正弦波数据产生模块正弦波产生方法是由主控制模块提供波型频率,按照主控制模块的频率依次从64个已写好的正弦数据中取值,然后这些数据直按送入D/A就能得到所需正弦波信号。因为64个数据已经固定,所发正弦波不好调幅。产生框图如图:CLK为主控模块提供的频率信号,RST为复位键,DATA为产生的波型数据信号。具体框图如图4-4所示。 图4-4 正弦波数据产生结构框图 正弦波信号仿真:因为幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字正弦波数据。仿真如图4-5所示。图4-5 正弦波信号仿真4.2.2 方波数据产生模块产生框图如图4-5所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4-5 方波数据产生结构框图方波信号仿真:因为幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入RST为复位键,低电平复位,其他的输入为调节键,CNT为数字方波数据。仿真如图4-6所示。图4-6 方波信号仿真4.2.3 三角波数据产生模块产生框图如图4-7所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4-7 三角波数据产生结构框图三角波信号仿真:因为幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字三角波数据。仿真如图4-8所示。图4-8 三角波信号仿真4.2.4 锯齿波数据产生模块产生框图如图4-9所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4-9 锯齿波数据产生结构框图锯齿波信号仿真:由于锯齿波信号与三角波信号仿真前面的数据相同,所以下面仿真截图为仿真后面的数据。由于幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字锯齿波数据。仿真如图4-10所示。图4-10 锯齿波信号仿真5 硬件电路设计5.1 FPGA部分本设计使用的FPGA芯片为EPF10K50ETI144-2芯片芯片,其典型逻辑门数(包括逻辑门和RAM)为50000门,最大可用系统门数为116000门,逻辑单元(Logic elements)为2880个,逻辑阵列模块(Logic array blocks)为360个,嵌入式阵列模块(Embedded array blocks)为10个,RAM总容量为20480字节,用户可用的I/O引脚最多为310个。芯片的工作电压为+5V。通常情况下在硬件调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对FPGA进行配置。配置芯片在每次系统上电以后自动将配置文件加载到FPGA中形成电路。5.2 显示单元电路液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的162液晶模块来介绍它的编程方法。5.2.1 162液晶模块引脚介绍162采用标准的14脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚162液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。5.5.2 162液晶模块指令162液晶模块内部的控制器共有11条控制指令,如下所示,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置;指令2:光标复位,光标返回到地址00H;指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效;指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁;指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标;指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符;指令7:字符发生器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保密军工考试题及答案
- 陆丰辅警考试真题及答案
- 南阳市中储粮2025秋招财务资产岗高频笔试题库含答案
- 襄阳市中石化2025秋招面试半结构化模拟题及答案油气储运与管道岗
- 国家能源阿坝自治州2025秋招机械工程类面试追问及参考回答
- 国家能源青海地区2025秋招面试专业追问及参考机械工程岗位
- 武汉市中石油2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 通辽市中石油2025秋招面试半结构化模拟题及答案财务与审计岗
- 2025年乡村工程考试题及答案
- 大唐电力资阳市2025秋招性格测评常考题型与答题技巧
- 民族团结一家亲知识竞赛试题及答案
- 运动跑步专业知识培训课件
- 禁塑知识培训课件
- 下腔静脉滤器置入常见并发症及处理
- 2023版《中国慢性肾脏病患者高血压管理指南》解读课件
- 2025年秋人教版八年级英语上册 Unit 7 When Tomorrow Comes(学习、上课)
- 肿瘤专科护士进修学习汇报
- 初中生心理健康与青春期教育
- 商用厨房设计核心要素
- 2025年叉车司机(中级)考试试卷:操作技能与安全知识
- 行政处罚法培训课件下载
评论
0/150
提交评论