1、I基于 FPGA 的数字式相位测量仪的设计与制作摘要:本设计给出了基于 FPGA 核心的数字式相位测量的基本原理与实现方案,实现的是对两列信号的相位差的精确测量并数字显示测量结果。该系统利用可编程逻辑器件为主系统芯片,用 VHDL 对其进行设计开发,系统由相位测量仪、数字式移相信号发生器和移相网络三个模块构成,整个装置具有原理简单,测量精度高,测量结果显示直观的特点。本次设计在 EDA 软件开发平台 MAX+PLUS上利用硬件描述语言 VHDL 进行设计编程。关键词:FPGA/CPLD、VHDL、测相仪IIFPGA-based digital phase-measuring instrumen
2、t design and productionAbstract: The design is based on the FPGA core of the digital phase measurement and realization of the basic principles of the programme, the realization of the two signals in the phase of precision measurement and statistics show that the measurement results. The system of pr
3、ogrammable logic devices based system chips, with their VHDL design and development, the system by the phase-measuring instrument, the digital shift believe that the phase-shifting, generator and a network of three modules, the device has a simple theory, measurement High-precision measurement resul
4、ts show that the visual characteristics. The design of the EDA software development platform MAX + PLUS on the use of hardware description language VHDL design programming.Key words: FPGA / CPLD;VHDL ;measurement of the instrument1第 1 章 绪论1.1 EDA 技术概述1.1.1 引言20 世纪末,电子技术获得飞速发展,在其推动下,现代电子产品几乎渗透了社会的各个领
5、域,有力推动社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代电子技术的核心是EDA 技术,其依赖功能强大的计算机,在 EDA 工具软件平台上,对以硬件描述语言HDL 为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和 EDA 软件来完成对系统硬件功能的实现。另一方面来看,在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个
6、技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格地说,EDA 技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩。EDA 技术已不是某一学科的分支或某种新的技能技术,它应该是一门综合性学科。它融合多学科与一体,又渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术和硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。1.1.2 EDA 技术发展趋势EDA 技术的每一次进步,都引起了设计层次上的一次飞跃,从设计层次上分,70
7、年代为物理级设计(CAD) ,80 年代为电路级设计(CAE) ,90 年代进入到系统级设计(EDA ) 。物理级设计主要指 IC 版图设计,一般由半导体厂家完成。 电路级设计:电子工程师接受系统设计任务后,首先确定设计方案,并选择能实现该方案的合适元器件,然后根据具体的元器件设计电路原理图。接着进行第一次仿真,其中包括数字电路的逻辑模拟、故障分析,模拟电路的交直流分析、瞬态分析。在进行系统仿真时,必须要有元件模型库的支持,计算机上模拟的检人输出波形代替了实际电路调试中的信号源和示波器。这一次仿真主要是检验设计方案在功能方面的正确性。 仿真通过后,根据原理图产生的电气连接网络表进行 PCB 板
8、的自动布局布2线。在制作 PCB 板之前还可以进行 PCB 后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验 PCB 板在实际工作环境中的可行性。 由此可见,电路级的 EDA 技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。 系统级设计: 进人 90 年代以来,电子信息类产品的开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所
9、有工作(包括设计忙人、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。 高层次设计是一种“概念驱动式”设计,设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,一且这些概念构思以高层次描述的形式输人计算机,EDA 系统就能以规则驱动的方式自动完成整个设计。这样,新的概念就能迅速有效地成为产品,大大缩短了,产品的研制周期。不仅如此,高层次设计只是定义系统的行为特性,可以不涉及实现工艺,因此还可以在厂家综合库
10、的支持下,利用综合优化工 具将高层次描述 转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。利用 EDA 技术进行电子系统设计的最后目标,是完成专用集成电路 ASIC 的设计和实现,ASIC 作为最终的物理平台,集中容纳了用户通过 EDA 技术将电子应用系统的既定功能和技术指标具体实现的硬件实体。随着市场需求的增长,集成工艺水平的可行性以及计算机自动设计技术的不断提高,单片系统,或称系统集成芯片成为 IC 设计的发展方向。这一发展趋势表现在如下几个方面:(1)超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺,如0.13m、90nm 已经走向成熟,在一个芯片上完成系统级的集成已成为
11、可能。(2)由于工艺线宽的不断缩小,在半导体材料上的许多寄生效应已不能简单被忽略。这就对 EDA 工具提出更高的要求。可编程逻辑器件开始进入传统的 ASIC 市场。(3)电子系统的成本、减少系统的体积、设计速度也成为一个产品能否成功的关键因素,促使 EDA 工具和 IP 核应用更为广泛。(4)高性能的 EDA 工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入3式系统设计提供了功能强大的开发环境。(5)计算机硬件平台性能大幅度提高,为复杂 SoC 设计提供了物理基础。此外,随着系统开发对 EDA 技术的目标器件各种性能要求的提高,ASIC 和FPGA 将更大程度相互融合。现在,传统 AS
12、IC 和 FPGA 之间的界限正变的模糊。系统级芯片不仅集成 RAM 和微处理器,也集成 FPGA。这个 EDA 和 IC 设计工业都朝这个方向发展,这并非是 FPGA 与 ASIC 制造商竞争的产物,对于用户来说,意味着有了更多的选择。1.2 硬件描述语言 VHDL1.2.1 VHDL 语言的产生及特点VHDL 的英文全名是 VHSIC(Very High Speed Integrated CiruitHardwre Description Language),于 1983 年由美国国防部( DOD)发起创建,由 IEEE(The Institue of Electrical and Ele
13、ctronics Engineers)进一步发展,并在 1987 年作为“IEEE 标准 1076”发布。从此,VHDL 成为硬件描述语言的业界标准之一。VHDL 最显著特点是:(1)与其他的硬件描述语言相比,VHDL 具有更强的行为描述能力,决定了它成为系统设计领域最佳的硬件描述语言。(2)对于 VHDL 完成的一个确定设计,可以利用 EDA 工具进行逻辑综合和优化,并自动的把 VHDL 描述设计转化为门级网表。这种设计突破了传统门级设计中的瓶颈,极大的减少了电路设计的时间和错误发生率,降低了开发成本,缩短了设计周期。(3)VHDL 对设计的描述具有相对的独立性,设计者可以不懂硬件的结构,也
14、不必关心最终的目标器件是什么而进行独立的设计。正因为 VHDL 的硬件描述与具体的工艺和硬件结构无关,VHDL 设计程序的硬件实现目标器件有广阔的选择范围。(4)由于 VHDL 具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的前提下,只需改变类属参数或函数,就能改变设计的规模和结构。VHDL 语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。用 VHDL 进行电子系统设计的一个很大的优势是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。41.2.2 基于
15、 VHDL 的设计方法图 1-1 给出了自顶向下的设计流程的框图说明,它包括以下设计阶段:图 1-1 自顶向下的设计流程与其他的硬件描述语言相比,VHDL 具有较强的行为仿真级与综合级的建模功能,这种能远离具体硬件,基于行为描述方式的硬件描述语言恰好满足典型的自顶向下的设计方法,因而能顺应 EDA 技术发展的趋势,解决现代电子设计应用中出现的各类问题。1.3 可编程逻辑器件可编程逻辑器件 PLD 是 20 世纪 70 年代发展起来的一种新的集成器件。 PLD 是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合计算机软件技术可以快速、方便的构建数字系统。1.3.1 可编程逻辑器件的原理
16、结构框图不论是简单的还是复杂的数字电路系统都是由基本门来构成的,如与门、或门、非门、传输门等。由基本门构成的两类数字电路,一类是组合电路,在逻辑上输出总是当前输入状态的函数;另一类是时序电路,其输出是当前系统状态与当前输入状态的函数,它含有存储元件。人们发现任何组合逻辑电路都可以用与门-或门二级电路实现。同样任何时序电路都可组合电路加上存储元件构成。由此,人们提出了一种可编程电路结构,即乘积项逻辑可编程结构。其原理结构图如图 1-2 所示:5图 1-2 基于 PLD 器件的原理结构图1.3.2 可编程器件的分类可编程逻辑器件种类很多,较常见的分类是按照集成度来区分的 PLD 器件,具体区分时,
17、一般以 GAL22V10 作为比较,集成度大于 GAL22V10 称为复杂 PLD,反之归类为简单 PLD。如下图 1-3:图 1-3 PLD 按集成度分类1.4 基于 FPGA 的 EDA 开发流程及 MAX+plus系统1.4.1 基于 FPGA 的 EDA 开发流程(1)设计输入将电路系统以一定的表达方式输入计算机,是在 EDA 软件平台上对 FPGA/CPLD开发的最初步骤,使用 EDA 工具的设计输入可分为两种类型。 图形输入图形输入通常包括原理图输入、状态图输入和波形图输入等方法。图形输入中常用的是原理图输入方法。其缺点主要是由于图形设计方式并没有得到标准化,不同的EDA 软件中的
18、图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此图形的文件兼容性较差,难以交换和管理;随着电路设计规模的扩大,原理图输入描述方式必然引起一系列难以克服的困难,如电路功能原理的易读性下降,错误排查困难,整体调整和结构升级困难。硬件描述语言文本输入这种方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言(HDL)的电路设计文本,如 VHDL 的源程序进行编辑输入。6可以说,应用 HDL 的文本输入方法克服了上述原理图输入法存在的所有弊端,为EDA 技术的应用和发展打开了一个广阔的天地HDL 综合综合过程将把软件设计的 HDL 描述与硬件结构挂钩,是将软件转化为硬
19、件电路的关键步骤,是文件描述与硬件实现的一座桥梁。当输入的 HDL 文件在 EDA 工具中检测无误后,首先面临的是逻辑综合,因此要求 HDL 源文件中的语句都是可综合的。整个综合过程就是将设计者在 EDA 平台上编辑输入的 HDL 文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。 适配适配器也称结构综合器,它的功能是将由综合器产生的网支文件配制于指定的目标器件中,使之产生最终的下载文件。逻辑综合通过后必须利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配制、逻辑分割、逻
20、辑优化、逻辑布局布线操作。适配完成后可以利用适配产生的仿真文件作确的时序仿真,同时产生可用于编程的文件。 时序仿真和功能仿真时序仿真。就是接近真实期间运行特性的仿真,仿真文件中包含了器件硬件特性参数,因而,仿真精度高。但时序仿真文件必须来自针对具体器件的综合器与适配器功能仿真。是直接对 VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及任何具体器件的硬件特性。不经历综合与适配阶段,在项目设计编辑编译后即可进入门级仿真器件进行模拟测试。编程下载把适配后生成的下载或者配置文件,通过编程器或编程电缆向 FPGA 或 CPLD 下载,以便进
21、行硬件调试和验证。硬件调试最后是将含有载入了设计的 FPGA 或 CPLD 的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。71.4.2 MAX+plus系统MAX+plus 是 Altera 公司提供的 FPGA/CPLD 开发集成环境,MAX+plus界面友好,使用便捷,被誉为业界最易用易学的 EDA 软件。MAX+plus软件提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。使用 MAX+plus,设计者无需精通器件内部的复杂结构,而只需要用自己熟悉的设计输入工具建立设计,MAX+plus会自动把这些设计转换成
22、最终结构所需的格式。由于有关结构的详细知识已装入开发工具,设计者不需手工优化自己的设计,因此设计速度非常快。8第 2 章 课题要求与系统设计方案2.1 课题要求利用可编程逻辑器件为主系统芯片,用 VHDL 对其进行设计开发,设计并制作一个低频相位测量系统。该系统包括相位测量仪、数字式移相信号发生器和移相网络三部分。主要设计内容为:CPLD 开发技术与 VHDL 设计编程概述;用 VHDL 完成测量相位和数字式移相信号发生器的程序设计,并完成测量芯片的 ASIC 制作;外围A/D、D/A 转换及处理的硬件设计与制作;联机统调,完成所有硬件调试,做成实际系统。2.2 总体方案设计相位测量仪设计方法
23、很多,总体上有数字和模拟两种设计方法。方案一:模拟测量方法:用过零比较器将输入和输出的正弦波整形为方波,送鉴相器鉴相,鉴相电路由异或门和低通滤波器组成,异或门的输出为脉冲方波,其占空比与两个信号的相位的相位差成正比,经过低通滤波器,即可将占空比转换成直流电压,再经 A/D 后,由 CPU 读取相位差值。该方案的硬件较复杂,实现有困难。方案二:纯单片机方式:即有单片机为主体,辅助放大整形单元,单片机利用整形之后的两个方波信号的边沿作为 CPU 的两个中断源,并测量两次中断之间的时间间隔,这种方法硬件电路少,但要求 CPU 的具有较高的时钟频率。用通常的单片机难以完全满足本题的精度要求。方案三:以
24、 FPGA/CPLD 为主的方式:即用 FPGA 完成鉴相、计数、数据处理、显示等功能数据。这种方法系统结构紧凑,可以完成复杂的测量与控制,操作方便,可以在很高的频率下工作,完全满足本题的要求。综上所述,我选择方案三,同时将所以的模块设计均用 VHDL 文本设计方式,使得本设计具有交互性好,功能调整与修改方便的优点。2.3 系统设计本设计要求设计相位测量仪,数字式移相信号发生器,移相网络三部分。92.3.1 相位测量仪相位测量仪主要由放大整形和数字化测量两大部分构成,其框图 2.1 如下:图 2.1 相位测量仪框图其中,放大整形电路的主要任务是将两路同频率信号进行放大整形为方波信号,送入测量仪
25、去测量它们的之间的相位差,测量部分通过相位比较获得一个与 A、B 两列信号相位差成正比的矩形脉冲并送入计数器计数,其计数值大小便反映了相位差,将其处理后以数字量的形式准确地显示出来。2.3.2 移相网络模拟移相,由 R,C 组成移相网络进行移相,运用运放隔离后用电位器合成,只需合理选取 R、C 参数,使其满足 ,便可通过电位器RC1调节实现中时移相和幅值的变化要求,可以得到-90 到+90 任意相位角度。2.3.3 数字式移相信号发生器本模块的基本原理框图如图 2.2。图 2.2 数字式移相信号发生器框图其基本思想是将要产生的正弦信号的一个周期的数字样本存储在波形数据检索表中,然后通过了一个地
26、址发生器对检索表中的波形数据周而复始地寻址读出,在经D/A 变换和滤波后获得正弦波形,信号发生器的相位产生只需要改变地址计数器的计数初值便可实现,由于从存储器中所读出的波形样本数是固定的,只要一个周期中的样本数越大(我们选取 360 个点)输出波形的质量较高,其相位噪声较低且不随输出频率的变化而变化,另外,用 VHDL 可以很方便地设计一个可变模计数器,使得输出 ABFPGA .10频率可以通过键盘任意预值和改变,本方案是一种性能优异的可移相式信号发生器。本设计的硬件电路主要包括 FPGA 主芯片两片,分别完成数字化相位测量和数字式移相信号发生器两个主要功能单元,其设计方法均采用 VHDL 编
27、程,我们采用的是Altera 公司的 ACEXIK 系列芯片,其特点是将查找表(LVT)和 EAB 相结合,提供了效率最高而价格低廉的结构,我们所选用的 EP1K50 芯片的最大器件门数达到了199000 门(其中门型可用门为 5000 个) ,拥有 249 个最大 I/O 引脚和 10 个 EAB 块,具体设计见软件设计部分。2.4 系统设计总图图 2.3 系统设计总图如图 2.3 所示,整个系统是由芯片系统和外围电路两部份构成,其中芯片我们选用144 个引脚 30 万门电路的 EPF10K30ETC144-1 主要设计芯片和 AT89C51 单片机芯片。外围电路主要由外部电源、时钟产生电路
28、、键盘按钮等。11第 3 章 硬件电路设计3.1 移相网络由 R, C 组成移相网络进行移相原理图如下图 3.1。图 3.1 移相网络原理图3.1.1 电路工作原理的理论分析设移相输入电压为 ui(s)C 点为 RC 高通滤波电路的输出公式 1D 点为 RC 低通滤波电路的输出公式 2siSUd由此可知 E 点电位为:公式 3B 输出电位为:A B +-RRCC CDR1R2R3R4 R5R6R7R8E. RCd1siSUsisDsCSDSE UdSkKU)1(1)()()( 21RK564321RK12公式 4A 输出电位为:公式 5B 输出相对于 A 输出的相移为:公式 6因为 K1 的变
29、化范围为 01,则 的变化范围为 090,要使 值在 到1 45范围内变化,则只能使 = ,也就是要求 。45245RC1只要电路元器件的参数选择满足条件 时,通过调节电位器 RW 就可以使得输出 A 与 B 之间的相位差在 到 范围内变化,以满足题目要求。3.1.2 电路元件参数选择RC 参数的选择要求 ,则当输入信号频率为 100Hz 时RC131059.20/1取 C=0.01uf, R=160K当输入信号频率为 1KHz 时电容 C 取值不变,R=16K当输入信号频率为 10KHz 时电容 C 取值不变,R=1.6 K电位器选择:取 0 到 50K 的可调电位器。R4,R5 的选择:当
30、 时,C 点电位相对移相输入电压的衰减最大,所以选R1同相放大器的放大倍数为 2,则 R4=R5,选 R4=R5=10 K运算放大器选择:这里选择 LM741 芯片。输出电位器选择:2K 多圈电位器。3.2 放大整形单元该单元作为相位测量仪的输入通道,其主要功能是提高仪器的输入电阻和降低共模干扰,并提供边沿稳定的矩形脉冲,为测量仪器进行数字化测量做准备。为了简化设计,输入级,放大级、整形级全部采用模拟集成电路来实现,共采用了三个高速模拟芯片:LH0033(缓冲器) 、MAX4016 (双运放) 、MAX902(双电压比 siSBUdkU)1(2siSVK3 873R211arctnarctnd
31、wk13较器)来实现,其中 LH0033 要求用10V 供电,其他器件用5V 供电。该单元电路图如图 3.2。图 3.2 放大整形单元电路图为了使相位仪的输入阻抗大于 100K,我们现在选用了具有 FET 输入的宽带集成缓冲器 LH0033 做输入级,该器件的输入电阻高达 1010,输出电阻只有 10,增益近似等于 1,带宽可达 100MHZ,用它来做输入级是非常理想的。放大级的设计主要考虑增益和带宽的指标,因为后面的整形级才用了电压比较器,所以放大级的增益应根据频率计指标提出的最小输入信号幅度(0.3V )和电压比较器所要求的输入电压的最小摆率来决定,当加到电压比较器输入端的信号频率为 0.
32、1HZ时,只要其幅度大于 0.8V,它的过零压摆率就能满足大于 0.5V/S 的要求。整形级选用输出为 TTL 电平的高速集成双电压比较器 MAX902 来构成,它比 TTL电路有触发灵敏度高,因而可降低放大级增益的优点,此外,还可把触发电平调节电路直接设置在电压比较器的输入端,实现起来比较方便。100 10010082470100M470 500RF2500RF15000RF3 400D1D20.1UF 0.1UF0.1UF0.1UF0.1UF0.1UF0.1UF 0.1UF0.1UF6.8UF6.8UF6.8UF6.8UF6.8UF6.8UF6.8UF6.8UF6.8UF0.1UF+5V+
33、5V+5V+10V-5V -10V-5V -5VA1 A2A3 A4LH0033 MAX4016 MAX4016MAX902RP1200+5V+ +167 910124 456 78123145238- - TTLA1+ +5 107G3=4.A. .2DK17Aaab. .14第 4 章 软件设计4.1 相位测量系统将两列相隔一定相位差的同频率正弦波信号过零比较为方波 CP1、CP2 ,示意图如下图 4.1。图 4.1 相位测量示意图对两方波信号 CP1、CP2 信号进行异或,得到矩形波 CP3,用高频方波脉冲对CP1 的一个周期进行计数,设计数值为 Y,对 CP3 的高电平时间进行计数,计
34、数数值为 X,故相位差为:整个相位差测量模块可分为四个小模块,分别是计数模块、数据溢出处理模块、运算模块、数据选择模块。4.1.1 计数模块此模块的处理的信号为 CP1 和 CP2 异或后的信号 CP3,和 CP1 经过分一次频后的信号 CP4,分别对 CP3 和 CP4 信号的高电平为闸门时间进行计数,并将计数值输出。根据课题要求,相位计数为(0359.9)分辨率为 0.1,相位差计算公式的计算公式为使相位差的分辨力达到 0.1,则 a 至少要满足递增为一时对应的相位差递增为 0.1。而 a 的变化范围为( 0b),因此当 b 满足 C P1C P2C P3222w tw tw tVVV3
35、43 43 40000.36yx0.3615b3600 时 a 的变化范围大于( 03600) ,满足课题要求。为了更加精确的测量出相位差,本设计取 x 的位数为 14 位,在满足课题要求频率范围(20HZ20KHZ)内 x 的变化范围为 40968191;y 的位数为 15 位,故满足课题要求频率范围(2020KHz)内 y 的变化范围为(819216383) 。在整个周期相同的一闸门时间 T 内的计数值为 N,会产生1 个脉冲的误差,故误差为:要使测量绝对误差2即 Mf6.30为基准脉冲,应大于 3.6MHZ,本设计采用的基准脉冲频率为 40MHZ。0f计数设计顶层图如下图 4.2,VHD
36、L 语言描述(JISHU2)见附录 1.1。图 4.2 计数模块顶层设计图4.1.2 数据溢出处理模块由于乘除法占用的资源很多,可能在一片芯片内部都不能实现,通过移位模块将要进行乘除法运算的数据 X、Y 同时除以 2n(n 为移位的位数),而对相位差计算。移位不影响相位差测量。移位设计顶层图如下图 4.3,VHDL 语言描述(YIWEI)见附录 1.2。图 4.3 移位模块顶层设计图%12%10Nkhze00.36* .)2(ban164.1.3 运算模块这一模块实现相位差转化的计算表达式= 0.36ba在处理过程中,因为 VHDL 语言在处理除法运算过程中不能对浮点进行处理,为了避免误差,只
37、能先用乘法,再用除法,具体参照 vhdl 语言描述。乘法设计顶层图如下图 4.4,VHDL 语言描述(TYCHENFA )附录 1.3。图 4.4 乘法顶层设计图除法设计顶层图如下图 4.5,VHDL 语言描述(KCHUFA )附录 1.4。图 4.5 除法顶层设计图4.1.4 数据选择模块运算出来的结果为相位差范围为(0180) ,判断 CP1 与 CP2 之间的超前和滞后的关系,使相位差的范围为(0359.9)范围内,具体处理过程如下:先判断 CP1,CP2 的滞后超前,以 CP1 为准,CP2 为滞后,则输出为 =3600-,CP2 为滞后,则输出为 = 再显示,加上小数点,便可在显示管
38、上显示相位差大小,输出 12 位二进制经译码形成 BCD 码。数据选择模块设计顶层如图 4.6,VHDL 语言描述(XUSHU1 )附录 1.5。图 4.6 数据选择模块顶层设计图12 位二进制经译码形成 BCD 码电路图如下图 4.7。17图 4.7 译码电路图封装元件如下图 4.8。图 4.8 转换电路封装元件整个相位测量模块顶层设计如图 4.9。图 4.9 数字移相信号发生器顶层模块各小模块功能如下所示:18JISHUZ:实现计数模块功能,用基本脉冲同时对 CP1 的一个周期和 CP1、CP2 异或后的脉冲信号高电平时间计数,YIWEI:实现移位模块功能,将计数值 X,Y 同时除二移位。
39、TYCHENFA:实现乘法运算。KCHUFA:实现除法运算。XUSHI:对 CP1、CP2 进行超前还是|滞后判断,并数据选择输出。SCAN_8_DOT: 实现动态扫描译码显示,VHDL 语言描述附录 1.6。12-2-bcd:将 12 位二进制数转换为 BCD 码,实现译码功能。各输入信号的流程图如图 4.10。图 4. 10 输入信号的流程图封装元件如下图 4. 11。图 4. 11 位测量封装元仿真波形如下 4.12。图 4.12 顶层模块仿真波形XYXYCP1 XOR CP2CLKCP2X x36003600*X/Y.CP2CP13600-360*X/Yflag194.2 数字移相信号
40、发生器该数字式移相信号发生器由键盘控制模块、显示控制模块、可变模分频器模块、地址生成器模块、波形数据存储模块等五个模块。4.2.1 键盘控制模块该模块有键盘扫描、数据流控制等部分。键盘扫描键盘扫描原理图如图 4.13 所示,由分频器电路、键盘扫描计数器电路、键盘 column 和 row 按键检测电路、按键抖动消除电路、键盘编码电路等组成.键盘扫描频率一般为 1KHZ 左右,按键(key_pressed)为使能 0 位,当使用者尚未按下键盘时,key_pressed=1,此时由 015 反复计数,并输出计数值作为按键检测电路的输入扫描键盘,直到使用者按下键盘时 key_pressed=0,计数
41、器停止持续输出计数值。图 4.13 键盘扫描原理图键盘控制部分主要分配按键功能,使该发生器有条不紊的工作。键盘扫描设计顶层电路如图 4.14,VHDL 语言描述(JIANPAN_G)附录 1.7。图 4.14 键盘扫描顶层设计图键盘控制设计顶层电路如图 4.15,VHDL 语言描述(JIAN_CTRL )附录 1.8。图 4.15 键盘控制顶层设计图204.2.2 显示控制模块液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中应用广泛。 我们采用 AT89C51 单片机来控制常用的 2 行 16 个字的字符型液晶模块 DM-162,根据显示的容量可以
42、分为 1 行 16 个字、2 行 16 个字、2 行 20 个字,分别控制频率与相位显示。DM-162 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如相位符号 “的代码是11110010B( F2H) ,显示时模块把地址 F2H 中的点阵字符图形显示出来,我们就能看到字母“ 。 DM-162 液晶显示模块可以和单片机 AT89C51 直接接口,电路如图 4.16 所示。图 4.16 显示控制电路图带有小数点的显示扫描模块如图 4.17,VHDL 语言描述(
43、SCAN4_8_DOT)附录1.9。图 4.17 显示扫描顶层设计图4.2.3 波形存储模块该模块以存储器的方式中存储了正弦波形半个周期的 180 个数据点,一个周期后21读取的数据就为 360 个点。这样就满足了题目中相位差步进为 1 的要求。当输入选择地址不同时输出相应地址的 8 位波形数据值,提供给 A/D 转换。在此模块中也引出了两个方波波形,此方波随键盘输入频率相位值不同而改变。可供测试用。波形存储设计顶层如图 4.18,VHDL 语言描述(COSIN_32)附录 1.10。图 4.19 波形存储顶层设计图余弦函数设计顶层如图 4.19,VHDL 语言描述(cosin_180 )附录
44、 1.11。图 4.19 余弦函数顶层设计图4.2.4 地址生成器模块对波形存储器存储的每一个数据都赋一个地址,每个数据都对应一个固定地址,在读取某一数据时,可通过它的地址对它寻址读取。移相数字发生器的输出脉冲信号每个周期有 360 个数据,故存储器的地址范围为(0360) 。键盘输入移相值并通过二进制转化为 ADD_X 数值,通过地址累加 COUNT=COUNT+1 得到新地址。因为在波形数据表里只有波形的一半数据,所以在地址计数到 180 后地址是通过 ADD=360-COUNT 来对波形表寻址。而移相地址为 ADD2=ADD1+ADD_X。 ,改变存储器地址,便可改变移相数字发生器的相位
45、。 地址生成器设计顶层如图 4.20,VHDL 语言描述(cosin_180 )附录 1.12。图 4.20 地址生成器顶层设计图22BCD 码转换成 10 位二进制码电路图如下图 4.21。图 4.21 BCD 码转换成 10 位二进制码电路图封装元件如图 4.22。图 4.22 电路图封装元件输出选择设计顶层图如图 4.23,VHDL 语言描述(cosin_180 )附录 1.13。图 4.23 输出选择顶层设计图将地址生成器和波形存储模块连接电路图 4.24。图 4.24 连接电路图23封装元件如下图 4.25。图 4.25 封装元件4.2.5 可变模分频器模块对一基准频率进行可变模分频
46、,当基准频率足够大,改变模的大小得到不同频率的脉冲信号。以此脉冲信号对地址生成器和波形存储器读数,地址生成器和波形存储器读出速度决定了移相数字信号发生器信号的频率大小,因此,控制变模分频器模的大小便可控制移相数字信号发生器的输出频率。移相数字信号发生器一个周期的数据采样点的个数为 360 个点,若移相数字信号发生器的输出的正弦信号频率为 f, 对存储器的读数脉冲频率既变模分频器的输出频率f0=360*f,基准脉冲频率为 40MHZ,变模分频器的模 M 的表达式为fff /13604/40实现除法电路,预定被除数为 111111,输入的除数为要预制的移相数字信号发生器输出正弦波信号频率大小。输出
47、的商即为模 M。对基准频率信号(40MHZ)进行 M 分频,便可得到对地址生成器和波形存储器读出速度脉冲.除法电路设计顶层模块如图 4.26,VHDL 语言描述(CHUFA_1)附录 1.14图 4.26 除法电路设计顶层图分频电路设计顶层模块如图 4.27,VHDL 语言描述(CP_PINLV)附录 1.15。图 4.27 分频电路设计顶层图BCD 码转换成 14 位二进制码电路图如下图 4.28。24图 4.28 BCD 码转换成 14 位二进制码电路图封装元件如图 4.29图 4.29 转换电路封装元件可变模分频器模块电路连接如下图 4.30。图 4.30 可变模分频器电路图可变模分频器
48、顶层文件如下图 4.31。图 4.31 可变模分频器顶层文件移相数字信号发生器顶层模块如下图 4.32。25图 4.32 移相数字信号发生器顶层模块各小模块功能如下所示:JIANPAN_G: 键盘扫描。JIAN_CTRL:键盘控制。FENPIN:得到不同频率的脉冲信号。SCAN_8_DOT: 带有小数点的显示扫描模块。COS_ZUHE: 对波形存储器存储的每一个数据都赋一个地址,每个数据都对应一个固定地址,在读取某一数据时,可通过它的地址对它寻址读取。BOX_CTRL: 片选。YOUHUA_XIANSHI: 当高位为零,那么就不显示, “C”为不显示标志。封装元件如下图 4.33。图 4.33 移相数字信号发生器封装元件264.3 频率测量将待测正弦波信号经过比较器后等到一个方波信号,以此方波信号为基准计数脉冲 1 秒钟计数的大小即为待测信号在这一秒钏内的频率大小。用 VHDL 语言描述频率测量原理的过程如下图 4.34。图 4.34 频率测量原理图其中,CLK 为基准倍,频率大小为 40MHZ。基准