基于fpga的数字式相位测量仪的设计与制作_第1页
基于fpga的数字式相位测量仪的设计与制作_第2页
基于fpga的数字式相位测量仪的设计与制作_第3页
基于fpga的数字式相位测量仪的设计与制作_第4页
基于fpga的数字式相位测量仪的设计与制作_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA的数字式相位测量仪的设计与制作摘要本设计给出了基于FPGA核心的数字式相位测量的基本原理与实现方案,实现的是对两列信号的相位差的精确测量并数字显示测量结果。该系统利用可编程逻辑器件为主系统芯片,用VHDL对其进行设计开发,系统由相位测量仪、数字式移相信号发生器和移相网络三个模块构成,整个装置具有原理简单,测量精度高,测量结果显示直观的特点。本次设计在EDA软件开发平台MAXPLUS上利用硬件描述语言VHDL进行设计编程。关键词FPGA/CPLD、VHDL、测相仪FPGABASEDDIGITALPHASEMEASURINGINSTRUMENTDESIGNANDPRODUCTIONABSTRACTTHEDESIGNISBASEDONTHEFPGACOREOFTHEDIGITALPHASEMEASUREMENTANDREALIZATIONOFTHEBASICPRINCIPLESOFTHEPROGRAMME,THEREALIZATIONOFTHETWOSIGNALSINTHEPHASEOFPRECISIONMEASUREMENTANDSTATISTICSSHOWTHATTHEMEASUREMENTRESULTSTHESYSTEMOFPROGRAMMABLELOGICDEVICESBASEDSYSTEMCHIPS,WITHTHEIRVHDLDESIGNANDDEVELOPMENT,THESYSTEMBYTHEPHASEMEASURINGINSTRUMENT,THEDIGITALSHIFTBELIEVETHATTHEPHASESHIFTING,GENERATORANDANETWORKOFTHREEMODULES,THEDEVICEHASASIMPLETHEORY,MEASUREMENTHIGHPRECISIONMEASUREMENTRESULTSSHOWTHATTHEVISUALCHARACTERISTICSTHEDESIGNOFTHEEDASOFTWAREDEVELOPMENTPLATFORMMAXPLUSONTHEUSEOFHARDWAREDESCRIPTIONLANGUAGEVHDLDESIGNPROGRAMMINGKEYWORDSFPGA/CPLD;VHDL;MEASUREMENTOFTHEINSTRUMENT第1章绪论11EDA技术概述111引言20世纪末,电子技术获得飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力推动社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代电子技术的核心是EDA技术,其依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。另一方面来看,在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩。EDA技术已不是某一学科的分支或某种新的技能技术,它应该是一门综合性学科。它融合多学科与一体,又渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术和硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。112EDA技术发展趋势EDA技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70年代为物理级设计(CAD),80年代为电路级设计(CAE),90年代进入到系统级设计(EDA)。物理级设计主要指IC版图设计,一般由半导体厂家完成。电路级设计电子工程师接受系统设计任务后,首先确定设计方案,并选择能实现该方案的合适元器件,然后根据具体的元器件设计电路原理图。接着进行第一次仿真,其中包括数字电路的逻辑模拟、故障分析,模拟电路的交直流分析、瞬态分析。在进行系统仿真时,必须要有元件模型库的支持,计算机上模拟的检人输出波形代替了实际电路调试中的信号源和示波器。这一次仿真主要是检验设计方案在功能方面的正确性。仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。系统级设计进人90年代以来,电子信息类产品的开发明显呈现两个特点一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计忙人、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。高层次设计是一种“概念驱动式”设计,设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,一且这些概念构思以高层次描述的形式输人计算机,EDA系统就能以规则驱动的方式自动完成整个设计。这样,新的概念就能迅速有效地成为产品,大大缩短了,产品的研制周期。不仅如此,高层次设计只是定义系统的行为特性,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。利用EDA技术进行电子系统设计的最后目标,是完成专用集成电路ASIC的设计和实现,ASIC作为最终的物理平台,集中容纳了用户通过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件实体。随着市场需求的增长,集成工艺水平的可行性以及计算机自动设计技术的不断提高,单片系统,或称系统集成芯片成为IC设计的发展方向。这一发展趋势表现在如下几个方面1超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺,如013M、90NM已经走向成熟,在一个芯片上完成系统级的集成已成为可能。2由于工艺线宽的不断缩小,在半导体材料上的许多寄生效应已不能简单被忽略。这就对EDA工具提出更高的要求。可编程逻辑器件开始进入传统的ASIC市场。3电子系统的成本、减少系统的体积、设计速度也成为一个产品能否成功的关键因素,促使EDA工具和IP核应用更为广泛。4高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。5计算机硬件平台性能大幅度提高,为复杂SOC设计提供了物理基础。此外,随着系统开发对EDA技术的目标器件各种性能要求的提高,ASIC和FPGA将更大程度相互融合。现在,传统ASIC和FPGA之间的界限正变的模糊。系统级芯片不仅集成RAM和微处理器,也集成FPGA。这个EDA和IC设计工业都朝这个方向发展,这并非是FPGA与ASIC制造商竞争的产物,对于用户来说,意味着有了更多的选择。12硬件描述语言VHDL121VHDL语言的产生及特点VHDL的英文全名是VHSIC(VERYHIGHSPEEDINTEGRATEDCIRUITHARDWREDESCRIPTIONLANGUAGE),于1983年由美国国防部(DOD)发起创建,由IEEE(THEINSTITUEOFELECTRICALANDELECTRONICSENGINEERS)进一步发展,并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。VHDL最显著特点是1与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,决定了它成为系统设计领域最佳的硬件描述语言。2对于VHDL完成的一个确定设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转化为门级网表。这种设计突破了传统门级设计中的瓶颈,极大的减少了电路设计的时间和错误发生率,降低了开发成本,缩短了设计周期。3VHDL对设计的描述具有相对的独立性,设计者可以不懂硬件的结构,也不必关心最终的目标器件是什么而进行独立的设计。正因为VHDL的硬件描述与具体的工艺和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围。4由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的前提下,只需改变类属参数或函数,就能改变设计的规模和结构。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。用VHDL进行电子系统设计的一个很大的优势是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。122基于VHDL的设计方法图11给出了自顶向下的设计流程的框图说明,它包括以下设计阶段图11自顶向下的设计流程与其他的硬件描述语言相比,VHDL具有较强的行为仿真级与综合级的建模功能,这种能远离具体硬件,基于行为描述方式的硬件描述语言恰好满足典型的自顶向下的设计方法,因而能顺应EDA技术发展的趋势,解决现代电子设计应用中出现的各类问题。13可编程逻辑器件可编程逻辑器件PLD是20世纪70年代发展起来的一种新的集成器件。PLD是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合计算机软件技术可以快速、方便的构建数字系统。131可编程逻辑器件的原理结构框图不论是简单的还是复杂的数字电路系统都是由基本门来构成的,如与门、或门、非门、传输门等。由基本门构成的两类数字电路,一类是组合电路,在逻辑上输出总是当前输入状态的函数;另一类是时序电路,其输出是当前系统状态与当前输入状态的函数,它含有存储元件。人们发现任何组合逻辑电路都可以用与门或门二级电路实现。同样任何时序电路都可组合电路加上存储元件构成。由此,人们提出了一种可编程电路结构,即乘积项逻辑可编程结构。其原理结构图如图12所示图12基于PLD器件的原理结构图132可编程器件的分类可编程逻辑器件种类很多,较常见的分类是按照集成度来区分的PLD器件,具体区分时,一般以GAL22V10作为比较,集成度大于GAL22V10称为复杂PLD,反之归类为简单PLD。如下图13图13PLD按集成度分类14基于FPGA的EDA开发流程及MAXPLUS系统141基于FPGA的EDA开发流程1设计输入将电路系统以一定的表达方式输入计算机,是在EDA软件平台上对FPGA/CPLD开发的最初步骤,使用EDA工具的设计输入可分为两种类型。图形输入图形输入通常包括原理图输入、状态图输入和波形图输入等方法。图形输入中常用的是原理图输入方法。其缺点主要是由于图形设计方式并没有得到标准化,不同的EDA软件中的图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此图形的文件兼容性较差,难以交换和管理;随着电路设计规模的扩大,原理图输入描述方式必然引起一系列难以克服的困难,如电路功能原理的易读性下降,错误排查困难,整体调整和结构升级困难。硬件描述语言文本输入这种方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL的源程序进行编辑输入。可以说,应用HDL的文本输入方法克服了上述原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地HDL综合综合过程将把软件设计的HDL描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是文件描述与硬件实现的一座桥梁。当输入的HDL文件在EDA工具中检测无误后,首先面临的是逻辑综合,因此要求HDL源文件中的语句都是可综合的。整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。适配适配器也称结构综合器,它的功能是将由综合器产生的网支文件配制于指定的目标器件中,使之产生最终的下载文件。逻辑综合通过后必须利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配制、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配产生的仿真文件作确的时序仿真,同时产生可用于编程的文件。时序仿真和功能仿真时序仿真。就是接近真实期间运行特性的仿真,仿真文件中包含了器件硬件特性参数,因而,仿真精度高。但时序仿真文件必须来自针对具体器件的综合器与适配器功能仿真。是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及任何具体器件的硬件特性。不经历综合与适配阶段,在项目设计编辑编译后即可进入门级仿真器件进行模拟测试。编程下载把适配后生成的下载或者配置文件,通过编程器或编程电缆向FPGA或CPLD下载,以便进行硬件调试和验证。硬件调试最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。142MAXPLUS系统MAXPLUS是ALTERA公司提供的FPGA/CPLD开发集成环境,MAXPLUS界面友好,使用便捷,被誉为业界最易用易学的EDA软件。MAXPLUS软件提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。使用MAXPLUS,设计者无需精通器件内部的复杂结构,而只需要用自己熟悉的设计输入工具建立设计,MAXPLUS会自动把这些设计转换成最终结构所需的格式。由于有关结构的详细知识已装入开发工具,设计者不需手工优化自己的设计,因此设计速度非常快。第2章课题要求与系统设计方案21课题要求利用可编程逻辑器件为主系统芯片,用VHDL对其进行设计开发,设计并制作一个低频相位测量系统。该系统包括相位测量仪、数字式移相信号发生器和移相网络三部分。主要设计内容为CPLD开发技术与VHDL设计编程概述;用VHDL完成测量相位和数字式移相信号发生器的程序设计,并完成测量芯片的ASIC制作;外围A/D、D/A转换及处理的硬件设计与制作;联机统调,完成所有硬件调试,做成实际系统。22总体方案设计相位测量仪设计方法很多,总体上有数字和模拟两种设计方法。方案一模拟测量方法用过零比较器将输入和输出的正弦波整形为方波,送鉴相器鉴相,鉴相电路由异或门和低通滤波器组成,异或门的输出为脉冲方波,其占空比与两个信号的相位的相位差成正比,经过低通滤波器,即可将占空比转换成直流电压,再经A/D后,由CPU读取相位差值。该方案的硬件较复杂,实现有困难。方案二纯单片机方式即有单片机为主体,辅助放大整形单元,单片机利用整形之后的两个方波信号的边沿作为CPU的两个中断源,并测量两次中断之间的时间间隔,这种方法硬件电路少,但要求CPU的具有较高的时钟频率。用通常的单片机难以完全满足本题的精度要求。方案三以FPGA/CPLD为主的方式即用FPGA完成鉴相、计数、数据处理、显示等功能数据。这种方法系统结构紧凑,可以完成复杂的测量与控制,操作方便,可以在很高的频率下工作,完全满足本题的要求。综上所述,我选择方案三,同时将所以的模块设计均用VHDL文本设计方式,使得本设计具有交互性好,功能调整与修改方便的优点。23系统设计本设计要求设计相位测量仪,数字式移相信号发生器,移相网络三部分。231相位测量仪相位测量仪主要由放大整形和数字化测量两大部分构成,其框图21如下图21相位测量仪框图其中,放大整形电路的主要任务是将两路同频率信号进行放大整形为方波信号,送入测量仪去测量它们的之间的相位差,测量部分通过相位比较获得一个与A、B两列信号相位差成正比的矩形脉冲并送入计数器计数,其计数值大小便反映了相位差,将其处理后以数字量的形式准确地显示出来。232移相网络模拟移相,由R,C组成移相网络进行移相,运用运放隔离后用电位器合成,只需合理选取R、C参数,使其满足,便可通过电位器RC1调节实现中时移相和幅值的变化要求,可以得到90到90任意相位角度。233数字式移相信号发生器本模块的基本原理框图如图22。图22数字式移相信号发生器框图其基本思想是将要产生的正弦信号的一个周期的数字样本存储在波形数据检索表中,然后通过了一个地址发生器对检索表中的波形数据周而复始地寻址读出,在经D/A变换和滤波后获得正弦波形,信号发生器的相位产生只需要改变地址计数器的计数初值便可实现,由于从存储器中所读出的波形样本数是固定的,只要一个周期中的样本数越大(我们选取360个点)输出波形的质量较高,其相位噪声较低且不随输出频率的变化而变化,另外,用VHDL可以很方便地设计一个可变模计数器,使得输出ABFPGA频率可以通过键盘任意预值和改变,本方案是一种性能优异的可移相式信号发生器。本设计的硬件电路主要包括FPGA主芯片两片,分别完成数字化相位测量和数字式移相信号发生器两个主要功能单元,其设计方法均采用VHDL编程,我们采用的是ALTERA公司的ACEXIK系列芯片,其特点是将查找表(LVT)和EAB相结合,提供了效率最高而价格低廉的结构,我们所选用的EP1K50芯片的最大器件门数达到了199000门(其中门型可用门为5000个),拥有249个最大I/O引脚和10个EAB块,具体设计见软件设计部分。24系统设计总图图23系统设计总图如图23所示,整个系统是由芯片系统和外围电路两部份构成,其中芯片我们选用144个引脚30万门电路的EPF10K30ETC1441主要设计芯片和AT89C51单片机芯片。外围电路主要由外部电源、时钟产生电路、键盘按钮等。第3章硬件电路设计31移相网络由R,C组成移相网络进行移相原理图如下图31。图31移相网络原理图311电路工作原理的理论分析设移相输入电压为UISC点为RC高通滤波电路的输出公式1D点为RC低通滤波电路的输出公式2SISUD由此可知E点电位为公式3B输出电位为ABRRCCCDR1R2R3R4R5R6R7R8ERCD1SISUSISDSCSDSEUDSKKU1121RK564321RK公式4A输出电位为公式5B输出相对于A输出的相移为公式6因为K1的变化范围为01,则的变化范围为090,要使值在到145范围内变化,则只能使,也就是要求。45245RC1只要电路元器件的参数选择满足条件时,通过调节电位器RW就可以使得输出A与B之间的相位差在到范围内变化,以满足题目要求。312电路元件参数选择RC参数的选择要求,则当输入信号频率为100HZ时RC13105920/1取C001UF,R160K当输入信号频率为1KHZ时电容C取值不变,R16K当输入信号频率为10KHZ时电容C取值不变,R16K电位器选择取0到50K的可调电位器。R4,R5的选择当时,C点电位相对移相输入电压的衰减最大,所以选R1同相放大器的放大倍数为2,则R4R5,选R4R510K运算放大器选择这里选择LM741芯片。输出电位器选择2K多圈电位器。32放大整形单元该单元作为相位测量仪的输入通道,其主要功能是提高仪器的输入电阻和降低共模干扰,并提供边沿稳定的矩形脉冲,为测量仪器进行数字化测量做准备。为了简化设计,输入级,放大级、整形级全部采用模拟集成电路来实现,共采用了三个高速模拟芯片LH0033(缓冲器)、MAX4016(双运放)、MAX902(双电压比SISBUDKU12SISVK3873R211ARCTNARCTNDWK较器)来实现,其中LH0033要求用10V供电,其他器件用5V供电。该单元电路图如图32。图32放大整形单元电路图为了使相位仪的输入阻抗大于100K,我们现在选用了具有FET输入的宽带集成缓冲器LH0033做输入级,该器件的输入电阻高达1010,输出电阻只有10,增益近似等于1,带宽可达100MHZ,用它来做输入级是非常理想的。放大级的设计主要考虑增益和带宽的指标,因为后面的整形级才用了电压比较器,所以放大级的增益应根据频率计指标提出的最小输入信号幅度(03V)和电压比较器所要求的输入电压的最小摆率来决定,当加到电压比较器输入端的信号频率为01HZ时,只要其幅度大于08V,它的过零压摆率就能满足大于05V/S的要求。整形级选用输出为TTL电平的高速集成双电压比较器MAX902来构成,它比TTL电路有触发灵敏度高,因而可降低放大级增益的优点,此外,还可把触发电平调节电路直接设置在电压比较器的输入端,实现起来比较方便。10010010082470100M470500RF2500RF15000RF3400D1D201UF01UF01UF01UF01UF01UF01UF01UF01UF68UF68UF68UF68UF68UF68UF68UF68UF68UF01UF5V5V5V10V5V10V5V5VA1A2A3A4LH0033MAX4016MAX4016MAX902RP12005V16791012445678123145238TTLA15107G34A2DK17AAAB第4章软件设计41相位测量系统将两列相隔一定相位差的同频率正弦波信号过零比较为方波CP1、CP2,示意图如下图41。图41相位测量示意图对两方波信号CP1、CP2信号进行异或,得到矩形波CP3,用高频方波脉冲对CP1的一个周期进行计数,设计数值为Y,对CP3的高电平时间进行计数,计数数值为X,故相位差为整个相位差测量模块可分为四个小模块,分别是计数模块、数据溢出处理模块、运算模块、数据选择模块。411计数模块此模块的处理的信号为CP1和CP2异或后的信号CP3,和CP1经过分一次频后的信号CP4,分别对CP3和CP4信号的高电平为闸门时间进行计数,并将计数值输出。根据课题要求,相位计数为(03599)分辨率为01,相位差计算公式的计算公式为使相位差的分辨力达到01,则A至少要满足递增为一时对应的相位差递增为01。而A的变化范围为(0B),因此当B满足CP1CP2CP3222WTWTWTVVV343434000036YX036B3600时A的变化范围大于(03600),满足课题要求。为了更加精确的测量出相位差,本设计取X的位数为14位,在满足课题要求频率范围(20HZ20KHZ)内X的变化范围为40968191;Y的位数为15位,故满足课题要求频率范围(2020KHZ)内Y的变化范围为(819216383)。在整个周期相同的一闸门时间T内的计数值为N,会产生1个脉冲的误差,故误差为要使测量绝对误差2即MF630为基准脉冲,应大于36MHZ,本设计采用的基准脉冲频率为40MHZ。0F计数设计顶层图如下图42,VHDL语言描述(JISHU2)见附录11。图42计数模块顶层设计图412数据溢出处理模块由于乘除法占用的资源很多,可能在一片芯片内部都不能实现,通过移位模块将要进行乘除法运算的数据X、Y同时除以2NN为移位的位数,而对相位差计算。移位不影响相位差测量。移位设计顶层图如下图43,VHDL语言描述(YIWEI)见附录12。图43移位模块顶层设计图1210NKHZE00362BAN413运算模块这一模块实现相位差转化的计算表达式036BA在处理过程中,因为VHDL语言在处理除法运算过程中不能对浮点进行处理,为了避免误差,只能先用乘法,再用除法,具体参照VHDL语言描述。乘法设计顶层图如下图44,VHDL语言描述(TYCHENFA)附录13。图44乘法顶层设计图除法设计顶层图如下图45,VHDL语言描述(KCHUFA)附录14。图45除法顶层设计图414数据选择模块运算出来的结果为相位差范围为(0180),判断CP1与CP2之间的超前和滞后的关系,使相位差的范围为(03599)范围内,具体处理过程如下先判断CP1,CP2的滞后超前,以CP1为准,CP2为滞后,则输出为3600,CP2为滞后,则输出为再显示,加上小数点,便可在显示管上显示相位差大小,输出12位二进制经译码形成BCD码。数据选择模块设计顶层如图46,VHDL语言描述(XUSHU1)附录15。图46数据选择模块顶层设计图12位二进制经译码形成BCD码电路图如下图47。图47译码电路图封装元件如下图48。图48转换电路封装元件整个相位测量模块顶层设计如图49。图49数字移相信号发生器顶层模块各小模块功能如下所示JISHUZ实现计数模块功能,用基本脉冲同时对CP1的一个周期和CP1、CP2异或后的脉冲信号高电平时间计数,YIWEI实现移位模块功能,将计数值X,Y同时除二移位。TYCHENFA实现乘法运算。KCHUFA实现除法运算。XUSHI对CP1、CP2进行超前还是|滞后判断,并数据选择输出。SCAN_8_DOT实现动态扫描译码显示,VHDL语言描述附录16。122BCD将12位二进制数转换为BCD码,实现译码功能。各输入信号的流程图如图410。图410输入信号的流程图封装元件如下图411。图411位测量封装元仿真波形如下412。图412顶层模块仿真波形XYXYCP1XORCP2CLKCP2XX36003600X/YCP2CP13600360X/YFLAG42数字移相信号发生器该数字式移相信号发生器由键盘控制模块、显示控制模块、可变模分频器模块、地址生成器模块、波形数据存储模块等五个模块。421键盘控制模块该模块有键盘扫描、数据流控制等部分。键盘扫描键盘扫描原理图如图413所示,由分频器电路、键盘扫描计数器电路、键盘COLUMN和ROW按键检测电路、按键抖动消除电路、键盘编码电路等组成键盘扫描频率一般为1KHZ左右,按键(KEY_PRESSED)为使能0位,当使用者尚未按下键盘时,KEY_PRESSED1,此时由015反复计数,并输出计数值作为按键检测电路的输入扫描键盘,直到使用者按下键盘时KEY_PRESSED0,计数器停止持续输出计数值。图413键盘扫描原理图键盘控制部分主要分配按键功能,使该发生器有条不紊的工作。键盘扫描设计顶层电路如图414,VHDL语言描述(JIANPAN_G)附录17。图414键盘扫描顶层设计图键盘控制设计顶层电路如图415,VHDL语言描述(JIAN_CTRL)附录18。图415键盘控制顶层设计图422显示控制模块液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中应用广泛。我们采用AT89C51单片机来控制常用的2行16个字的字符型液晶模块DM162,根据显示的容量可以分为1行16个字、2行16个字、2行20个字,分别控制频率与相位显示。DM162液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如相位符号“的代码是11110010B(F2H),显示时模块把地址F2H中的点阵字符图形显示出来,我们就能看到字母“。DM162液晶显示模块可以和单片机AT89C51直接接口,电路如图416所示。图416显示控制电路图带有小数点的显示扫描模块如图417,VHDL语言描述(SCAN4_8_DOT)附录19。图417显示扫描顶层设计图423波形存储模块该模块以存储器的方式中存储了正弦波形半个周期的180个数据点,一个周期后读取的数据就为360个点。这样就满足了题目中相位差步进为1的要求。当输入选择地址不同时输出相应地址的8位波形数据值,提供给A/D转换。在此模块中也引出了两个方波波形,此方波随键盘输入频率相位值不同而改变。可供测试用。波形存储设计顶层如图418,VHDL语言描述(COSIN_32)附录110。图419波形存储顶层设计图余弦函数设计顶层如图419,VHDL语言描述(COSIN_180)附录111。图419余弦函数顶层设计图424地址生成器模块对波形存储器存储的每一个数据都赋一个地址,每个数据都对应一个固定地址,在读取某一数据时,可通过它的地址对它寻址读取。移相数字发生器的输出脉冲信号每个周期有360个数据,故存储器的地址范围为(0360)。键盘输入移相值并通过二进制转化为ADD_X数值,通过地址累加COUNTCOUNT1得到新地址。因为在波形数据表里只有波形的一半数据,所以在地址计数到180后地址是通过ADD360COUNT来对波形表寻址。而移相地址为ADD2ADD1ADD_X。,改变存储器地址,便可改变移相数字发生器的相位。地址生成器设计顶层如图420,VHDL语言描述(COSIN_180)附录112。图420地址生成器顶层设计图BCD码转换成10位二进制码电路图如下图421。图421BCD码转换成10位二进制码电路图封装元件如图422。图422电路图封装元件输出选择设计顶层图如图423,VHDL语言描述(COSIN_180)附录113。图423输出选择顶层设计图将地址生成器和波形存储模块连接电路图424。图424连接电路图封装元件如下图425。图425封装元件425可变模分频器模块对一基准频率进行可变模分频,当基准频率足够大,改变模的大小得到不同频率的脉冲信号。以此脉冲信号对地址生成器和波形存储器读数,地址生成器和波形存储器读出速度决定了移相数字信号发生器信号的频率大小,因此,控制变模分频器模的大小便可控制移相数字信号发生器的输出频率。移相数字信号发生器一个周期的数据采样点的个数为360个点,若移相数字信号发生器的输出的正弦信号频率为F,对存储器的读数脉冲频率既变模分频器的输出频率F0360F,基准脉冲频率为40MHZ,变模分频器的模M的表达式为FFF/13604/40实现除法电路,预定被除数为111111,输入的除数为要预制的移相数字信号发生器输出正弦波信号频率大小。输出的商即为模M。对基准频率信号(40MHZ)进行M分频,便可得到对地址生成器和波形存储器读出速度脉冲除法电路设计顶层模块如图426,VHDL语言描述(CHUFA_1)附录114图426除法电路设计顶层图分频电路设计顶层模块如图427,VHDL语言描述(CP_PINLV)附录115。图427分频电路设计顶层图BCD码转换成14位二进制码电路图如下图428。图428BCD码转换成14位二进制码电路图封装元件如图429图429转换电路封装元件可变模分频器模块电路连接如下图430。图430可变模分频器电路图可变模分频器顶层文件如下图431。图431可变模分频器顶层文件移相数字信号发生器顶层模块如下图432。图432移相数字信号发生器顶层模块各小模块功能如下所示JIANPAN_G键盘扫描。JIAN_CTRL键盘控制。FENPIN得到不同频率的脉冲信号。SCAN_8_DOT带有小数点的显示扫描模块。COS_ZUHE对波形存储器存储的每一个数据都赋一个地址,每个数据都对应一个固定地址,在读取某一数据时,可通过它的地址对它寻址读取。BOX_CTRL片选。YOUHUA_XIANSHI当高位为零,那么就不显示,“C”为不显示标志。封装元件如下图433。图433移相数字信号发生器封装元件43频率测量将待测正弦波信号经过比较器后等到一个方波信号,以此方波信号为基准计数脉冲1秒钟计数的大小即为待测信号在这一秒钏内的频率大小。用VHDL语言描述频率测量原理的过程如下图434。图434频率测量原理图其中,CLK为基准倍,频率大小为40MHZ。基准信号经过分频后得到周期为01S、001S、00001S,占空比接近为1的闸门脉冲信号,并以次作为被测信号的闸门时间对被测信号同时计数,并判断计数值的大小。当计数值小于1000时,置标志位为0;大于1000,置标志位为1;显然,三个标志位的判断有先后关系,FLAG1最先被判断,依次是FALG2,FLAG3通过标志位选择计数值COUNT1,COUNT2,COUNT3显示。FLAG1的优先级最高,只要FLAG11,数据选择显示器立即选择COUNT1显示。FLAG2的优先级次之,当FLAG10,FLAG21时,数据选择显示器立即选择COUNT2显示。FLAG3的优先级最低,只有当FLAG10,FLAG20,FLAG31时,数据选择显示器才选择COUNT3显示。显示频率的单位为KHZ,当闸门时间为0001S时,若信号频率为F,则COUNT1F/10001,而频率显示为F/1000KHZ,即计数值;当闸门时间为001S时,显示的最低位显示小数点即可;当闸门时间为01S时,显示的次低位显示小数点即可表示频率值。经过分频等到一个高电平时间为1S的闸门脉冲信号,十进制计数器直接把计数,结果转化为BCD码,然后右闸门脉冲信号的下降沿将计数结果锁存,并输出。频率测量电路设计模块如图435。图435频率测量电路设计模块各小模块功能如下FENPING将基准频率进行分频。VHDL语言描述(FENPING)附录116。JISHU1以01S为闸门时间,进行BCD码计数。VHDL语言描述JISHU1)附录117。JISHU2以001S为闸门时间,进行BCD码计数。VHDL语言描述(JISHU2)附录118。JISHU3以0001S为闸门时间,进行BCD码计数。VHDL语言描述(JISHU3)附录119。XUANZE数据选择。VHDL语言描述(CP_PINLV)附录120。SCAN_8_DOT译码显示。VHDL语言描述(SCAN_8_DOT)附录121。封装元件如下图436。图436频率测量电路顶层第5章程序下载程序已经编译通过,仿真也和预先设想的相同,但是必须通过下载调试来验证设计的正确与否。是否能经得起硬件芯片运行实践的检验。在一般的EDA工程中设计项目器件,是一个实际的电路系统或是一个电子产品。在此,编程下载就是将自己完成的逻辑设计烧录到具体的器件中去。在硬件方面,本课题选用了ALTERA公司开发的ACEX1K的芯片。FPGA系统的关键技术之一是要用硬件描述语言来描述FPGA的硬件电路。所以本课题前面介绍了硬件描述语言的设计、仿真和综合等技术,下面将介绍下载及外围硬件电路的设计。51引脚锁定MAXPLUS仿真结果正确,就可以将设计下载到选定的器件中进行系统硬件测试。以便最终了解设计的项目的正确性。本次实验是在SZEDA超强型开发实验仪进行,具体操作方法是图51MAXPLUSII上面MAXPLUSII完成了编译,把我们定义的I/O脚自动分配给了器件EP1K30TC1843。选择MAXPLUSIIFLOORPLANEDITOR,进入底层编辑工具,再选择LAYOUTDEVICEVIEW和LAYOUTCURRENTASSIGNMENTSFLOORPLAN,显示当前的管脚分配情况。右上角为UNASSIGNEDNODES中间变量付0AACC商的中间变量IFCHENSHU01THEN判断乘数0位是否为1RESULTAA若为1则把AA付给它ELSERESULTOTHERS0ENDIFFORIIN1TOB_CS1LOOPB_CS1AAXX1DOWNTO1AAXX2DOWNTO0AA00IFCHENSHUI1THENRESULTAARESULT累加ENDIFENDLOOPENDIFSHUCHUCCTHENSHANGI0ENDPROCESSPROCESSCLKBEGINIFCLKEVENTANDCLK1THENIFCOUNTX“01“THENSHUCHULOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7OSC_F1THENQSCAN“000000000000“ELSEQSCANQSCAN1ENDIFENDIFIFQSCANOSC_F1THENSCAN_FDOUTDOUTDOUTIFFLAG1THENFLAGNULLWHENX“E“IFFLAG0THENTRANS_PINLVNUM_TMPDELNUM_TMP15DOWNTO0NULLIFCHOSE1THENCHOSENUM_TMP19DOWNTO4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT4LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7LOUT7COS255WHEN4COS217WHEN8COS127WHEN12COS37WHEN1COS252WHEN5COS198WHEN9COS102WHEN13COS21WHEN2COS245WHEN6COS176WHEN10COS78WHEN14COS10WHEN3COS233WHEN7COS152WHEN11COS56WHEN15COS2WHENOTHERSNULLENDCASEDATACOS254WHEN1COS253WHEN2COS253WHEN3COS253WHEN4COS253WHEN5COS253WHEN6COS253WHEN7COS253WHEN8COS252WHEN9COS252WHEN10COS252WHEN11COS251WHEN12COS251WHEN13COS250WHEN14COS250WHEN15COS249WHEN16COS249WHEN17COS248WHEN18COS247WHEN19COS247WHEN20COS246WHEN21COS245WHEN22COS244WHEN23COS243WHEN24COS243WHEN25COS242WHEN26COS241WHEN27COS240WHEN28COS239WHEN29COS238WHEN30COS236WHEN31COS235WHEN32COS234WHEN33COS233WHEN34COS232WHEN35COS231WHEN36COS229WHEN37COS228WHEN38COS227WHEN39COS225WHEN40COS224WHEN41COS222WHEN42COS221WHEN43COS219WHEN44COS218WHEN45COS216WHEN46COS215WHEN47COS213WHEN48COS211WHEN49COS210WHEN50COS208WHEN51COS206WHEN52COS205WHEN53COS203WHEN54COS201WHEN55COS199WHEN56COS198WHEN57COS196WHEN58COS194WHEN59COS192WHEN60COS190WHEN61COS188WHEN62COS186WHEN63COS184WHEN64COS182WHEN65COS180WHEN66COS178WHEN67COS176WHEN68COS174WHEN69COS172WHEN70COS170WHEN71COS168WHEN72COS166WHEN73COS164WHEN74COS162WHEN75COS159WHEN76COS157WHEN77COS155WHEN78COS153WHEN79COS151WHEN80COS149WHEN81COS146WHEN82COS144WHEN83COS142WHEN84COS140WHEN85COS138WHEN86COS1

温馨提示

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

评论

0/150

提交评论