基于DDS技术的任意波形发生器.doc_第1页
基于DDS技术的任意波形发生器.doc_第2页
基于DDS技术的任意波形发生器.doc_第3页
基于DDS技术的任意波形发生器.doc_第4页
基于DDS技术的任意波形发生器.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

河南城建学院本科毕业设计(论文) 概述1 概述1.1选题意义任意波形发生器是信号源的一种,它具有信号源所有的特点。我们传统都认为信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在电子实验和测试处理中,并不测量任何参数而是根据使用者的要求仿真各种测试信号,提供给被测电路,以达到测试的需要。信号源有很多种,包括正弦波信号源,函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等。一般来讲任意波形发生器,是一种特殊的信号源,综合具有其它信号源波形生成能力,因而适合各种仿真实验的需要。1).函数功能,仿真基础实验室设计人员的环境函数信号源是使用最广的通用信号源,它能提供正弦波、锯齿波、方波、脉冲串等波形,有的还同时具有调制和扫描能力,众所周知,在我们的基础实验中(如大学电子实验室、科研机构研究实验室、工厂开发实验室等),我们设计了一种电路,需要验证其可靠性与稳定性,就需要给它施加理想中的波形以辨别真伪。总之利用任意波形发生器这方面的基础功能,能仿真基础实验室所必须的信号。2).任意波形,仿真模拟更复杂的信号要求众所周知,在我们实际的电子环境所设计的电路在运行中,由于各种干扰和响应的存在,实际电路往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变、频率突变等(见图1-1,图1-2),这些情况的发生,如在设计之初没有考虑进去,有的将会产生灾难性后果。例如图1中的a处过尖峰脉冲,如果给一个抗冲能力差的电路,将可能会导致整个设备“烧坏”。确认电路对这样一个状况敏感的程度,我们可以避免不必要的损失,该方面的要求在航天、军事、铁路和一些情况比较复杂的重要领域尤其重要。由于任意波形发生器特殊的功能,为了增强任意波形生成能力,它可以依赖计算机通讯输出波形数据。在计算机传输中,可以通过专用的波形编辑软件生成波形,有利于扩充仪器的能力,更进一步仿真模拟实验。同时由于编辑一个任意波形有时需要花费大量的时间和精力,并且每次编辑波形可能有所差异这样有的任意波形发生器,内置一定数量的非易失性存储器,随机存取编辑波形,有利于参考对比;或通过随机接口通讯传输到计算机作更进一步分析与处理。图1-1有尖脉冲的数字信号 图1-2有频率突变的方波综上所述,任意波形发生器是电子工程师信号仿真实验的最佳工具。传统的任意波形发生采用专用芯片,成本高,控制方式不灵活。本设计采用单片机和FPGA器件相结合的方法,充分利用单片机灵活的控制、丰富的外设处理能力和FPGA器件的快速性、外设的替代性,采用DDS技术,实现频率、幅值可调的任意波形的输出,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。1.2仪器功能本设计完成的任意波形发生器具有以下几个功能:l 实现方波、矩形波、梯形波、锯齿波、三角波、正弦波、指数波等任意波形的输出。l 输出波形频率、幅值、相位连续可调,输出波形频率最低可以达到0.0lHz,最大频率l 受器件性能限制。最小分辨率可以达到0.002Hz。1.3设计原理本设计采用DDS技术,该技术是一种用数字控制信号的相位增量技术,具有频率分辨率高、稳定性好、可灵活产生多种信号的优点。基于DDS的AWG是通过改变相位增量值(每个时钟周期的度数)来改变输出频率的。所有相位点的数据都放在查找表中。采用插值描点的方式,将要产生的波形用若干个点代替,然后依次输出,每个点的电平由查找表中的相位点数据经过D/A得到。这个过程相当于采样保持及A/D转换的逆过程,将经过D/A转换器产生的波形经过低通滤波,就得到了所得波形。控制D/A转换器的参考电压,就可以实现幅值可调;控制两个插值点之间的相位,就实现了频率可调。本设计的控制器利用单片机完成,DDS合成芯片利用FPGA实现。单片机通过键盘进行人机交互,获得欲输出信号的波形,幅值,频率。FPGA芯片控制基准电源产生合适电压,作为D/A转换器的参考电压,然后从查找表中获得数据,送到D/A转换器,送出一个点的数值。依次处理完查找表一个周期数据后,再重新开始,输出下一个周期的波形。经过D/A转换的信号再经过低通滤波,滤掉插值频率和高次干扰波,就可以得到需要的任意波形。根据设计要求、实际需要及实验室条件,相应地选择了以下器件及设计工具。在进行系统硬件电路设计时,选用Intel公司的80C196KC单片机作为控制主芯片、Altera公司的EPF10K10作为DDS合成FPGA芯片,选择Protel99sE设计系统电路的原理图及PCB图、Pspice软件进行硬件仿真。在进行了FPGA芯片设计时,选用了Altera公司的MAX+PlusII10.0工具作为芯片设计平台,选择Verilog-HDL硬件描述语言进行设计。在进行系统软件设计时,选用WAVE公司的E6000仿真器配POD-80C196KX仿真器进行硬件仿真,选择该公司的配套软件Wave6000和C语言进行单片机软件设计。52河南城建学院本科毕业设计(论文) DDS(直接数字合成)技术介绍2 DDS(直接数字合成)技术介绍2.1频率合成技术频率合成是指以一个或多个参考频率源为基准,在某一频段内,综合产生并输出多个工作频率点的过程。基于此原理制成的频率源为频率合成器,简称频综。频率合成技术是现代通讯电子系统实现高性能指标的关键技术之一,很多电子设备的功能实现都依赖于所用频率合成器的性能,因此人们常将频率合成器喻为众多电子系统的“心脏”,而频率合成理论也因此在二十世纪得到了飞跃的发展。2.1.1频率合成技术的发展及分类频率合成技术起源于上世纪三十年代,早期的频率合成器由一组晶体组成的晶体振荡器,要输出多少个频率点,就需要多少个晶体实现。频率的切换由人工完成,频率的准确度和稳定度主要由晶体来决定,与电路基本上无关。随后又出现了非相干合成法,虽然非相干合成法也使用晶体,但是它利用少数晶体产生多种频率,与早期的合成法相比,降低了成本,提高了合成频率的稳定性。随着技术的发展,科学家又提出了相干合成法,相干合成法只使用一个频率源,进一步降低了成本,提高合成频率的稳定性,同时避免了非相干合成法复杂、成本高、不经济等诸多缺点。最早的相干合成法是直接频率合成(DirectFrequencysynthesis)。直接频率合成是利用混频、倍频、分频、的方法由参考频率经加、减、乘、除运算直接组合出所要求的频率的频率合成方法。不过,直接合成也可以用多个基准源通过上述方式得到所需的频率。这种方法由于频率捷变速度快,相噪低使之在频率合成领域占有重要地位,但因直接式频率合成器杂散多,体积大,研究复杂,成本及功耗也令人不可接受,故该方案已基本被淘汰。在直接频率合成之后出现了间接频率合成(Indirect Frequency synthesis)。间接频率合成包括模拟间接频率合成。这种方法主要是将相位反馈理论和锁相技术运用于频率合成领域,它的主要代表是锁相环PLL(Phase-Locked Loop)频率合成,被称为第二代频率合成技术。现在最常用的结构是数模混合的锁相环,即数字鉴相器、分频器、模拟环路滤波和压控振荡器的组成方式,因具有相噪低,杂散抑制好,输出频率高,价格便宜等优点至今仍在频率合成领域占有重要地位。目前有许多性能优良的单片PLL频率合成器面市,典型的有Motorola公司的MC145191、Qualcomn公司的Q3236、NationalSe;nieonduetor的LMX2325、LMX2326、LMX2330。这极大地推动了PLL,频率合成方式的应用。随着数字信号处理理论和超大规模集成电路VLSI的发展,在频率合成领域诞生了一种革命性的技术,那就是七十年代出现的直接数字合成DDS,它的出现标志着频率合成技术迈进了第三代。1971年3月,J.Tiemey和CM.Tader等人首先提出了DDS的概念:利用数字方式累加相位,再以相位之和作为地址来查询正弦函数表得到正弦波幅度的离散数字序列,最后经D/A变换得到模拟正弦波输出。DDS由于具有极高的频率分辨率,极快的变频速度,变频相位连续,相噪较低,易于功能扩展和全数字化便于集成等优点,因此在短短的二十多年里得到了飞速的发展和广泛的应用。2.1.2 频率合成技术的技术指标频率合成技术有着诸多技术指标,这些技术指标决定了频率合成技术的特性及优缺点,下面介绍一些基本的频率合成技术的技术指标。频率范围:频率合成后生成频率的波动范围,由最小合成频率f min和最大合成频率f max决定,合成的频率介于两者之间。也常用相对带宽来衡量频率范围。 (式2-1)分辨率:频率合成后两相邻相位点之间的间隔,不同要求的频率合成对分辨率的要求差别很大。切换时间:从发出频率切换的指令开始,到频率切换完成,并进入允许的相位误差范围所需要的时间。它与频率合成的方式密切相关。谐波抑制与杂散抑制:谐波抑制是指载波整数倍频率处单根谱线的功率与载波功率之比,而杂散抑制指与载波频率成非谐波关系的离散谱功率与载波功率之比,它们表征了频率输出谱的纯度。频率源中的谐波和杂散主要由频率源中的非线性元件产生,也有频率源内外干扰的影响,还与频率合成的方式有关。长期频率稳定度:频率源在规定的外界条件下,在一定的时间(年、月、日)内工作频率的相对变化,它与所选用的参考源的长期频率稳定度相同。短期频率稳定度:主要指各种随机噪声造成的瞬时频率或相位起伏,即相位噪声。2.2 DDS(直接数字合成)技术理论DDS(Direct Digital Synthesis)直接数字合成技术是一种用数字控制信号的相位增量技术,具有相位连续、频率分辨率高、频率转换速率快、稳定性好、可灵活产生多种信号的优点。它采用插值取样的方式,将要合成的正弦波形用若干个点代替,然后依次等时间间隔输出,每个取样点的电平由预先存贮好的数据经过D/A得到。这个过程相当于采样保持及A/D转换的逆过程。控制两个取样点之间的时间间隔及相位,就实现了频率连续可调。2.2.1 DDS设计原理和结构图2-1 DDS技术的基本结构图上图为DDS技术的基本结构图,频率控制字FC(Frequence Control)控制合成波形频率。时钟源以频率fc发出脉冲。当一个脉冲到来时,N位相位寄存器PR(Phase Register)以步长FC增加,其结果作为查找表LUT(Look up Table)的寻址地址。LUT内存有一个完整周期波形的数字幅值信息。每个LUT存储单元对应一个周期内的某一个相位点。查找表把输入的地址信息映射成合成波形的幅值信号,输入到数模转换器DAC。经过DAC,就可以得到要合成的波形。实际上,FC是每个时钟期间波形的相位增量,控制FC,就可以控制输出波形的频率。PR每经过/M个时钟周期后回到初始状态,对应的DAC也输出了一个波形。输出的波形的周期为T=( /Fe)T。,频率为f=(FC/) fc。DDS的最小分辨率为fr= fc /。2.2.2 DDS技术的特点由于DDS采用了不同于传统频率合成方法的全数字结构,所以DDS技术具备了直接模拟频率合成和间接频率合成方法所不具备的很多特点:l 频率分辨率极高。分辨率fc /,因为N取值极大(一般为32,48位),使得分辨率极高,一般微Hz级。l 频率捷变很快。频率控制字的传输时间及以低通滤波为主的器件相应时间很短,使得高速DDS系统的频率切换时间可以达到ns级。l 输出相位带宽很宽,DDS输出频率范围可达:040% fc。l 变频相位连续。频率控制字的改变实质是改变相位增长率,而相位本身保持不变,使得系统有良好的相参性。l 易于控制、集成和实现功能扩展。改变查找表中存储的数据,可以实现任意波形输出;由于可以方便地对输出信号地幅度、频率、相位进行控制,故可以实现任意调制功能。可以预计,随着DDS芯片性价比的提高,其生命力将越来越强大。l 杂波抑制差。DDS全数字结构带来了很多优点,但正是由于这种结构以及访问查找表时采用的相位截断、DAC位数有限等决定了DDS的杂波抑制较差。l 输出带宽较窄。受器件速度(特别是DAC)的限制较为严重。这也是DDS的主要缺点之一。河南城建学院本科毕业设计(论文) EDA技术与FPGA /CPLD器件3 EDA技术与FPGA /CPLD器件3.1 EDA技术 EDA(Electronic Design Automatic电子设计自动化)技术研究的对象是电子设计的全过程,有系统级、电路级和物理级各个层次的设计;涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字,从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。在电子设计技术领域,PLD(Programmable Logic Device可编程逻辑器件)的应用,已有了很好的普及,这些器件为数字系统的设计带来极大的灵活性。由于该器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。纵观可编程器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。EDA是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(Computer Aide Design计算机辅助设计)、CAM(Computer Aided Manufacture计算机辅助制造)、CAE(Computer Aided Test计算机辅助测试)、CAE(Computer Aided Education计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片地适配编译,逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下应用相应的PLD器件,就可以得到最后的设计结果。尽管目标是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已经比较成熟,应用的普及程度也已比较高。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。EDA的实现是与PLD技术的迅速发展息息相关的。PLD器件是80年代中后期兴起的新型器件,其特点是具有用户可编程的特性。利用PLD,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,新型的PLD还具有静态可重复编程或在线动态重构的特性,使硬件的功能可以像软件一样通过编程来修改,不仅使设计修改和产品升一级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。3.2 可编程逻辑器件(PLD) PLD(Programmable Logic Device)是近些年才发展起来的一种新型集成电路,它以EEPROM、SRAM或Flash为基础,由用户根据自己的需要采用图形、硬件描述语言、状态图等方式对其进行编程,确定芯片的功能,从而达到了对硬件进行编程的效果。随着可编程器件在规模、密度、性能等方面的飞速发展以及成本的不断降低,越来越多的电子工程师在越来越多的设计中采用了这种新型器件。随着微电子技术的发展,设计师们更愿意自己设计专用集成电路芯片,并尽可能的缩短设计周期,最好是在实验室就能设计合适的ASIC芯片,并且立即投入实际使用之中,在使用中也能比较方便地对设计进行修改。可编程逻辑器件就是为满足这一需求应运而生的。PLD芯片上的电路和金属引线都是由器件生产厂家做好的,但其逻辑功能在出厂时并没有确定,可由用户根据需要借助于PLD开发工具通过对其“编程”的办法来确定。因此,设计师们不通过器件生产厂家就能自己设计出符合要求的各种ASIC芯片。PLD器件兼有标准逻辑器件速度快、微处理器灵活性好和ASIC集成度高的优点,且大都可以重复编程,为设计和开发带来了极大的方便。最早出现的可编程逻辑器件是1970年出现的PROM,它由全译码的与阵列和可编程的或阵列组成,其阵列规模大、速度低,主要用途是作为存储器。20年代70年代中期出现了PLA(Programmable Logic Array可编程逻辑阵列)器件,它由可编程的与阵列和固定的或阵列组成。由于其编程复杂,开发起来有一定难度,因而没有得到广泛的应用。20世纪70年代末,美国MMI公司推出了PAL (Programmable-Array Logic可编程阵列逻辑)器件,它由可编程的与阵列和固定的或阵列组成,采用熔丝编程方式,双极性工艺制造,器件的工作速度很快。由于它的输出结构种类很多,设计很灵活,因而成为第一个得到普遍应用的可编程逻辑器件。20世纪80年代初,Lattice公司发明了GAL(Generic Array Logic通用阵列逻辑),采用输出逻辑宏单元(OLMC)的形式和EECMOS工艺结构,具有可擦除、可重复编程、数据可长期保存和可重新组合结构等优点。GAL比PAL使用更加灵活,它可以取代大部分SSI、MSI和PAL器件,因而在20世纪80年代得到广泛应用,直到现在,人们在设计单片机电路时还经常用它来分配来地址。20世纪80年代中期,Altera推出了一种新型的可编程逻辑器件EPLD(Erasable Programmable Logic Device),它采用CMOS和UVEPROM工艺制作,集成度比PAL和GAL高得多,设计也更加灵活,但内部互联能力比较差。1985年Xilinx公司推出了FPGA(Field Programmable Gate Array现场可编程门阵列)器件,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,内部由许多独立的可编程逻辑模块组成,逻辑块之间可以灵活地相互连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等许多优点。20世纪80年代末,Lattice公司提出了ISP公司提出了ISP (In System Programmable在系统可编程)技术。此后相继出现了一系列具备在系统编程能力的CPLD(Complex Programmable Logic Device复杂可编程逻辑器件)。CPLD是在EPLD的基础上发展起来的,采用EECMOS工艺,增加了内部互连线,改进了内部结构体系,比EPLD性能更好.设计更加灵活。20世纪90年代以后,高密度PLD在生产工艺、器件的编程和测试技术等方面都有了飞速发展。例如CPLD的集成度一般可达到数千甚至是上万门。Altera公司推出的EPM9560,其单密度达到了12000个可用门,包含多达50个宏单元,216个用户I/O引脚,并能提供15ns的脚至脚延时,16位计数的最高频率为118MHz。目前PLD的集成度已达到百万门,最高工作速度达到几百兆Hz,在系统可编程技术、边界扫描技术的出现也使器件在编程技术和测试技术及系统可重构技术方面有了很快的发展。目前众多知名半导体器件公司,如Altera、Xilinx、Lattice等,均可提供不同类型的CPLD、FPGA产品。新的PLD产品不断面世,其性能不断完善,产品日益丰富。3.2.1PLD的特点PLD的特点是在进行系统设计时体现出来的,使用PLD设计数字系统会带来许多好处,归结起来主要有以下几点:(l)集成度高PLD器件集成度高,一片PLD可替代几片、几十片乃至上百片中小规模的数字集成电路芯片。用PLD器件实现数字系统时所用的芯片数量少,占用印刷电路板面积小。(2)可靠性高PLD采用硬件的方式实现逻辑功能,相对于软件方式结构更加简单,因此可靠性更高,同时PLD不会出现单片机中程序跑飞的现象。又使用PLD器件减少了实现系统所需要的芯片数目,在印刷电路板上的引线及焊点数也随之减少,所以系统的可靠性得到了提高。(3)工作速度快PLD器件的工作速度快,工作可以达到几百兆Hz,这是单片机以及DSPs都无法达到的。使用PLD后实现系统的电路级数又减少,因而整个系统的工作速度会得到提高。(4)提高系统的灵活性在系统的研制阶段,由于设计错误或任务的变更而修改设计的事经常发生。使用不可编程器件时,修改设计就要更换或增减器件,这是一件相当麻烦的事,有时还不得不重新制作印刷电路板。使用PLD器件后情况大不一样,由于PLD器件引脚比较灵活,又有可擦除可编程的能力,因此对原设计进行修改时,只需要修改原设计文件再对PLD芯片重新编程即可,而不需要修改电路布局,对于具有ISP能力的PLD,甚至不需要拔下芯片,直接对芯片进行在系统编程即可,这就大大地提高了系统的灵活性。(5)缩短设计周期PLD器件集成度高,使用时印刷电路板电路布局布线简单;性能灵活,使用它修改设计方便开发工具比较先进,自动化程度高。因此,使用PLD可大大缩短系统的设计周期,加快产品投放市场的速度,提高产品的竞争能力。(6)增加系统的保密性能现在的控制器件如单片机等保密性能差,实际上没有单片机能够绝对做到不被解密。PLD以保证不被他人解密,防止被他人非法仿制。(7)降低成本使用PLD器件实现数字设计时,如果仅从器件本身的价格考虑,有时还看不出它的优势,但影响系统成本的因素是多方面的,综合考虑,使用PLD的成本优越性是很明显的。首先,使用PLD器件修改设计方便,设计周期缩短,使系统的研制开发费用降低;其次,使用PLD器件使印刷线路板面积和需要的插件减少,从而使系统的制造费用降低;再次,使用PLD器件能使系统的可靠性提高,维护工作量减少,进而使系统的维修服务费用降低。总之,使用PLD进行系统设计能节约成本。3.2.2 PLD的分类根据结构特点可将PLD划分为简单PLD、CPLD和FPGA三类。简单PLD主要指早期的可编程逻辑器件,包括可编程只读存储器(PROM)、可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)和通用阵列逻辑(GAL)。它是由与门阵列、或门阵列组成,能够以积之和的形式实现布尔逻辑函数,因为任意一个组合逻辑都可以用与或表达式来描述,所以简单PLD能够完成大量的组合逻辑功能,并且具有较高的速度和较好的性能。CPLD由GAL发展而来,可以看作是对原始可编程器件的扩充。它通常由大量可编程逻辑宏单元围绕一个位于中心的、延时固定的可编程互联矩阵组成。其中可编程逻辑宏单元结构较为复杂,具有复杂的I/O单元互联结构,可根据用户需要生成特定的电路结构,完成一定功能。众多的可编程逻辑宏单元被分成若干逻辑块,每个逻辑块类似于一个简单PLD。可编程互联矩阵根据用户需要实现I/O单元与逻辑块以及逻辑块与逻辑块之间的连线,构成信号传输的通道。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,而可编程逻辑单元又是类似PAL阵列,因此从输入到输出的布线延时容易计算得到。可预测延时的特点使CPLD便于实现对时序要求严格的电路设计。FPGA通常包含3类可编程资源:可编程模块、可编程I/O块、可编程内连线。可编程逻辑块排列成阵列,可编程内连线围绕着逻辑块。FPGA通过对内连线的编程,将逻辑块有效的组合起来,从而实现用户要求的特定功能。3.3 FPGA/CPLD设计技术随着微电子技术与工艺的飞速发展,可编程逻辑器件的发展取得了长足的进步。从早期的只能存储少量数据,完成简单逻辑功能的PROM、EPROM、EEPROM,到今天已经发展成可以完成超大规模的CPLD和FPGA。随着工艺技术的发展与市场需要,超大规模、高速、低功耗的新型FPGA/CPLD不断推陈出新。新一代的FPGA甚至集成了CPU(中央处理器)或DSP(数字处理器)内核,在一片FPGA上进行软硬件协同设计,为实现SOPC(System on Programmable chip片上可编程系统)提供了强大的硬件支持。FPGA/CPLD已经成为PLD器件的主流。3.3.1基本原理及特点简化的FPGA/CPLD的结构由4部分组成:输入输出模块、二维逻辑阵列模块、连线资源和内嵌存储器模块。输入/输出模块是芯片与外界的接口,完成不同电气特性下的输入输出功能要求;二维逻辑阵列模块是可编程逻辑的主体,可以根据设计灵活地改变连接与配置,完成不同的逻辑功能;连线资源连接所有的二维阵列模块和输入输出模块,连线长度和工艺决定着信号在连线上的驱动能力和传输速度;内嵌存储器结构可以在芯片内部存储数据。FPGA和CPLD的内部机构稍有不同,FPGA的二维逻辑阵列模块是基于查找表(Look Up Table)结构的,如Xilinx的Spartan、Virtex等系列和Altera的Flex、Acex、Apex系列等。而CPLD的二维逻辑阵列模块是基于乘积项(Product-Term)结构的,如Xilinx的XC9500系列(Flash工艺),Altera的MAX7000(EEPROM工艺)和Lattice的部分产品(EEPROM工艺)。通常,FPGA中寄存器资源比较丰富,适合做同步的时序电路较多的设计;CPLD中组合逻辑资源比较丰富,适合做组合逻辑电路较多的设计。一般FPGA较CPLD规模大、集成资源丰富、速度快。因此,FPGA多用于数字信号处理,而CPLD多用于逻辑控制。但是对用户而言,FPGA和CPLD的设计方法是类似的,使用EDA软件的设计过程也没有太大的差别。设计时,只需根据所选器件型号充分发挥器件的特性就可以了。FPGA/CPLD作为新一代的PLD器件,由于其基本原理的特殊性,除了具有一般PLD的特点以外,还具有一些白己的特点:l 规模越来越大。随着VLSI工艺的不断提高,单一芯片内部可以容纳上一百万个晶体管,芯片的规模也越来越大。单片逻辑已逾百万,如XilinxVertex-II xc2v8000己经达到了800万门的规模。芯片的规模越大所实现的功能也就越强。l FPGA/CPLD开发工具智能化功能强大。现在,FPGA/CPLD开发工具种类繁多、智能化高、功能强大。应用各种工具可以完成从输入、综合、实现到配置芯片等一系列的功能。还有很多工具可以完成对设计的仿真、优化、约束、在线调试等功能。这些工具易学易用,可以使设计人员更能集中精力实现电路设计,快速将产品推向市场。l 新型FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可以为作为片上可编程系统的硬件平台。3.3.2设计方法1.新兴的EDA硬件电路设计方法20世纪80年代初,在硬件电路设计中开始采用CAD(Computer Aided Design计算机辅助设计)技术,开始仅仅是利用计算机软件来实现印刷电路板的布线,以后慢慢地才实现了插件板规模地电子电路的设计和仿真。在我国所使用的工具中,最有代表性的设计工具是Tango和早期的ORCAD,它们的出现,使得电子电路设计和印刷板布线工艺实现了自动化,但还只能算自下而上的设计方法。随着大规模ASIC的开发和研制,为了提高开发的效率和增加己有开发成果的可继承性,以及缩短开发时间,各种新兴的EDA工具开始出现,特别是HDL的出现,使得传统的硬件电路设计方法发生了巨大的变革,新兴的EDA设计方法采用了自上而下(Top Down)的设计方法。所谓自上而下的设计方法,就是从系统总体要求出发,自上而下地逐步将设计内容细化,最后完成系统硬件的整体设计。各公司的EDA工具基本上都支持两种标准的HDL,分别是VHDL和Verilog-HDL。利用HDL语言对系统硬件电路的自上而下设计一般分为三个层次。如图3-1所示:图3-1自上而下设计系统硬件地过程第一层次为行为描述,它是对整个系统的数学模型的描述。一般来说,对系统进行行为描述的目的是试图在系统设计的初始阶段,通过对系统行为描述的仿真来发现系统设计中存在的问题。在行为描述阶段,并不真正考虑其实际的操作和算法用什么方法来实现,考虑更多的是系统的结构及其工作过程是否能达到系统设计规格书的要求,其设计与器件工艺无关。第二层是寄存器传输描述RTL(又称数据流描述)。用第一层次行为描述的系统结构程序是很难直接映射到具体逻辑元件结构的,要想得到硬件的具体实现,必须将行为方式描述的HDL程序,针对某一特定的逻辑综合工具,采用RTL方式描述,然后导出系统的逻辑表达式,再用仿真工具对RTL方式描述的程序进行仿真。如果仿真通过,就可以利用逻辑综合工具进行综合了。第三层是逻辑综合。利用逻辑综合工具,可将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表),也可将综合结果以逻辑原理图方式输出,也就是说逻辑综合结果相当于在人工设计硬件电路时,根据系统要求画出了系统的逻辑电原理图。此后再对逻辑综合结果在门电路级上进行仿真,并检查时序关系,如果一切正常,那么系统的硬件设计基本结束,如果在某一层上仿真发现问题,就应返回上一层,寻找和修改相应的错误,然后再向下继续未完的工作。由逻辑综合工具产生门级网络表后,在最终完成硬件设计时,还可以有两种选择:一种是由自动布线程序将网络表转换成相应的ASIC芯片的制造工艺,定制ASIC芯片;第二种是将网络表转换成相应的PLD编程码点,利用PLD完成硬件电路的设计。EDA自上而下的设计方法具有以下主要特点:l)电路设计更趋合理硬件设计人员在设计硬件电路时使用PLD器件,就可自行设计所需的专用模块,而无需受通用元器件的限制,从而使电路设计更趋合理,其体积和功耗也可大为缩小。2)用系统早期仿真自上而下的设计过程中,每级都进行仿真,从而可以在系统设计早期发现设计存在的问题,这样就可以大大缩短系统的设计周期,降低费用。3)降低了硬件电路设计难度在使用传统的硬件电路设计方法时,往往要求设计人员设计电路前应写出该电路的逻辑表达式和真值表(或时序电路的状态表),然后进行化简等,这一工作是相当困难和繁杂的,特别是在设计复杂系统时,工作量大也易出错,如采用HDL语言,就可免除编写逻辑表达式和真值表的过程,使设计难度大幅度下降,从而也缩短了设计周期。4)主要设计文件是用HDL语言编程的源程序在传统的硬件电路设计中,最后形成的主要文件是电路原理图,而采用HDL语言设计系统硬件电路时,主要的设计文件是用HDL语言编写的程序。如果需要,也可以将HDL语言编写源程序转换成电路原理图形式输出。用HDL语言的源程序作为归档文件有很多好处:一是资料量小,便于保存;二是可继承性好,当设计其他硬件电路时,可以使用文件中的某些库、进程和过程程序:三是阅读方便,阅读程序很容易看出某一硬件电路的工作原理和逻辑关系,而阅读电路原理图,推知其工作原理需要较多的硬件知识和经验,而且看起来也不那么一目了然。3.3.3设计流程一个完整的FPGA/CPLD设计流程包括电路设计与输入、功能仿真、综合后仿真、实现、布线后仿真和下板调试等主要步骤,如图3-2所示。其中电路设计与输入是根据工程师的设计方法将所设计的功能描述给EDA软件。常用的输入方法有硬件描述语言(HDL)和原理图设计输入方法。原理图设计输入法在早期应用比较广泛,它根据设计要求,选用器件、绘制原理图、完成输入过程。这种方法的优点是直观、便于理解、元件库资源丰富。但是在大型设计中,这种方法的可维护性较差,不利于模块建设与重用。更主要的缺点是:当所选用芯片升级换代后,所有的原理图都要作相应的改动。目前进行大型工程设计时,更常用的设计方法是HDL设计输入法。其中影响最为广泛的HDL语言是VHDL和Verilog-HDL。它们的共同特点是利于自上而下的设计。利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构的变化而变化,更利于向定制的ASIC移植。波形输入和状态图输入方法是两种常用的辅助设计输入方法。使用波形输入法时,只要绘制出激励波形和输出波形,EDA软件就能自动地根据相应关系进行设计。而使用状态图输入法时,设计者只需画出状态转意图,EDA软件就能生成相应的HDL代码或者原理图,使用十分方便。电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路是否符合设计要求。功能仿真有时也被称为前仿真。常用的仿真工具有Model Tech公司的MedelSim,Synopsys公司的VCS,Cadence公司的NC-verilog和NC-VHDL,Aldec公司的Active HDL等。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。图3-2完整的FPGA设计流程综合优化(synthesize)是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化成所生成的逻辑连接,输出edf和edn等文件,供FPGA/CPLD厂家的布局布线器进行实现。常用的专业综合优化工具有Synplicity公司的syplify/synplify Pro、Amplify,Synopsys公司的FPGA CompilerII,Exemplar Logic公司出品的LenonardSpectrum等,另外,FPGA/CPLD厂商的集成开发环境也带有一些综合工具。综合完成后需要检查综合结果是否与原设计一致,需要做综合后仿真。在仿真时,把综合生成的延时文件反标到综合仿真模型中,可估计门延时带来的影响。综合后仿真与布线后的实际情况还有一定的差距,并不十分准确。这种仿真的主要目的是在于检查综合器的综合结果是否与设计输入一致。综合结果的本质一些由与、或、非门,触发器,RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大差距。此时应该使用FPGA/CPLD厂商提供的工具软件,根据所选芯片的型号,将综合输出的逻辑网表适配到具体FPGA/CPLD器件上,这个过程就叫做实现。一般实现分为翻译(Translate)、映射(Map)、布局布线(plaee&Route)等三个步骤。因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的工具软件。布局布线之后该做时序仿真,时序仿真中应该将布局布线的时延文件反标到设计中,即仿真既包含门延时,又包含线延时信息。与前面各种仿真相比,这种后仿真包含的延时信息最为全面、准确,能较好地反映芯片的实际工作情况。设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片进行测试。如果仿真步骤出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。3.4硬件描述语言(HDL)介绍HDL(Hardware Description Language硬件描述语言)是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用EDA工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。目前,这种高层次(high-level-design)的方法已被广泛采用。据统计,目前在美国硅谷约有90%以上的ASIC和FPGA采用硬件描述语言进行设计。硬件描述语言HDL的发展至今已有20多年的历史,并成功地应用于设计的各个阶段:建模、仿真、验证和综合等。到20世纪80年代,已出现了上百种硬件描述语言,对设计自动化曾起到了极大的促进和推动作用。但是,这些语言一般各自面向特定的设计领域和层次,而且众多的语言使用户无所适从。因此,急需一种面向设计的多领域、多层次并得到普遍认同的标准硬件描述语言。20世纪80年代后期,VHDL和Verilog-HDL语言适应了这种趋势的要求,先后成为IEEE标准。3.4.1 VHDL语言早在1980年,因为美国军事工业需要描述电子系统的方法,美国国防部开始进行VHDL的开发。1987年,由IEEE(Institute of Electrical,and Electronics Engineers)将VHDL制定为标准。参考手册为IEEEVHDL语言参考手册标准草案1076/B版,于1987年批准,称为IEEE1076-1987。应当注意,起初VHDL只是作为系统规范的一个标准,而不是为设计而制定的。第二个版本是在1993年制定的,称为VHDL-93,增加了一些新的命令和属性。虽然有“VHDL是一个4亿美元的错误”这样的说法,但VHDL毕竟是1995年以前唯一制订为标准的硬件描述语言,这是不争的事实和优势;但同时它确实比较麻烦,而且其综合库至今也没有标准化,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,VHDL是较为合适的。3.4.2Verilog-HDL语言语言Verilog-HDL是在1983年,由GDA(Gateway Design Automation)公司的Phil Moor by首创的。Phil Moor by后来成为Verilog-XL的主要设计者和Cadence公司的第一合伙人。在1984-1985年,PhilMoorby设计出了第一个名为Verilog-XL的仿真器;1986年,他对Verilog-HDL的发展又做出了另一个巨大的贡献:提出了用于快速门级仿真的XL算法。Verilog可用于从开关级到算法级的多个抽象设计层次的数字设计的建模。该语言提供了一整套功能强大的基元集,包括逻辑门和用户定义的基元;并提供了丰富的结构,这些结构不仅用于硬件的并发行为的建模,而且用于硬件的时序特性和结构的建模。也可以通过编程语言接口(PLI)对该语言进行扩展Verilog语言从诞生起就与生产实际紧密结合在一起,具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点,并获得许多工具的支持,深受用户的喜爱。据报道,全世界近90%的半导体公司都使用Verilog作为硬件描述语言。Verilog实际上是IC行业的标准,特别是在1995年12月被IEEE接纳为正式标准后,它成为了一种很有竞争力的硬件描述语言。河南城建学院本科毕业设计(论文) 系统硬件电路实现4 系统硬件电路实现4.1系统硬件结构图硬件设计中,所遵循的原则是:尽量使电路简单和模块化,并充分利用软件智能化功能。因为硬件多了,不但增加体积和成本,而且也使系统的可靠性和性价比下降。本设计遵循这一原则,在实现硬件电路功能的前提下,尽量简化硬件电路设计。并将设计清晰地分成多个模块。图4-1系统硬件结构图整个系统设计分为控制电路和数据处理电路两大部分,控制电路以Intel公司的80C196KC单片机为核心,加上一些外围电路组成,主要完成人机对话、数据接口、显示信息以及控制数据处理电路工作等功能。数据处理电路以Altera公司的FPGA芯片为核心,结合D/A转换器以及低通滤波器,实现DDS数据处理,完成任意波形的输出。整个系统的工作过程是:首先单片机通过串口通信或键盘输入得到命令,然后将要生成波形的参数数据送入FPGA芯片,最后控制启动FPGA芯片工作。FPGA芯片完成DDS数据处理功能。将波形幅值数据送入第一个D/A转换器,其输出作为第二个D/A转换器的参考电压,以达到控制输出波形幅值的目的。将波形数据送入第二个D/A转换器,以实现任意波形的输出。4.2控制电路设计在图4-1中,我们可以看到控制电路的核心是单片机,整个仪器的控制、通信、启动DDS处理芯片等任务都是通过单片机来管理和协调的,因此单片机及外围电路的设计非常重要。4.2.1单片机选型自单片机问世以来,至今已有上百种型号的单片机产品。它们在开发工具的支持下,用途已渗入各行各业,成为电脑技术中一支发展最快、应用最广的主力军。按单片机内部寄存器的数据宽度来划分,目前常用的单片机有四位、八位、十六位和三十二位四种。其中过去几年用得最多的是八位机,目前十六位机是主要发展方向,四位机只用于少数场合,三十二位机目前在国内用得较少。若按单片机的系列来划分,最令电子工作者感兴趣的单片机是下面几大系列:1.80xx系列 它是INTEL公司最早推出且产量最大的系列产品。其他公司(如PHILIPS和SIEMENS等)目前也可提供这类产品;2.ST62系列 它是SGS-THOMSON公司的单片机系列产品;3.PIC系列 PIC是外部接口控制器(Peripheral Interface Controller)的简称,它是Arizona Microchip Technology公司的单片机产品。Parallax公司著名的Basic Stamp单片机就是PIC的源产品;4.68HC11系列 它是Motorola公司最受欢迎的单片机系列产品;5.TMS320Cxx系列 它是TI公司的数字信号处理微处理器(DSP)系列产品。面对种类繁多,性能、价格差别较大的单片机市场,在选择机型时,应着重考虑以下几点:首先要有性能良好的开发工具,因为单片机自身无开发和编程能力,必须借助开发工具来实现,具有某一型号的开发工具是选择机型的首要条件;其次,所选择的单片机最容易实现产品(或应用系统)的技术指标;再者,该单片机市场货源充足,并能及时得到技术支持。本文在设计时选用了Intel公司的80C196KC单片机,是出于以下几方面的考虑:l 80C196KC是CHMOS高性能16位单片机中的一个新分支,是当今世界上具有最高性能的单片微型计算机之一,它的CPU在结构上的最大特点是:没有采用习惯的累加器结构,改用寄存器-寄存器结构,CPU的操作直接面向256字节的寄存器空间,消除了一般结构中存在的累加器瓶颈效应,提高了操作速度和数据的吞吐能力。16位CPU支持位、字节和字操作,

温馨提示

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

评论

0/150

提交评论