当前位置:文档之家› 等精度频率计的设计

等精度频率计的设计

等精度频率计的设计
等精度频率计的设计

等精度频率计的设计

摘要:伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。

数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。本文首先综述了EDA技术的发展概况,FPGA/CPLD开发的涵义、优缺点,VHDL语言的历史及其优点,概述了EDA软件平台QUARTUSⅡ;然后介绍了频率测量的一般原理,利用等精度测量原理,通过FPGA运用VHDL 编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量范围为0-100MHZ,利用QUARTUS Ⅱ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。

关键词:电子设计自动化;VHDL语言;频率测量;数字频率计

1. 前言

21世纪人类将全面进入信息化社会,对微电子信息技术和微电子VLSI基础技术将不断提出更高的发展要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。而集成电路(IC)技术在微电子领域占有重要的地位。伴随着IC技术的发展,电子设计自动化(Electronic Design Automation, EDA)己经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。

EDA是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术[1]。

VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top_Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。

数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。采用VHDL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分外,其余全部在一片FPGA 芯片上实现。整个系统非常精简,且具有灵活的现场可更改性。

本文用VHDL在CPLD器件上实现一种8 位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行

测量。具有体积小、可靠性高、功耗低的特点。

1 电子设计自动化(EDA)发展概述

1.1什么是电子设计自动化(EDA )

在电子设计技术领域,可编程逻辑器件(如PLD, GAL)的应用,已有了很好的普及。这些器件为数字系统的设计带来极大的灵活性。由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。

电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CA T(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较大。而仿真电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。1.2 EDA的发展历史

EDA技术的发展始于70年代,至今经历了三个阶段。电子线路的CAD(计算机辅助计)是EDA 发展的初级阶段,是高级EDA系统的重要组成部分。它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。80年代初期,EDA技术开始设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA产品,这一阶段的EDA已把三维图形技术、窗口技术、计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了CAE—计算机辅助工程。也就是所谓的EDA技术中级阶段。其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。CAE这种以原理图为基础的EDA系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。所以,90年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的ESDA(电子系统设计自动化),即高级EDA阶段、也就是目前常说的EDA。过去传统的电子系统电子产品的设计方法是采用自底而上(Bottom_Up)的程序,设计者先对系统结构分块,直接进行电路级的设计。这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指针,不能保证设计一举成功。EDA技术高级阶段采用一种新的设计概念:自顶而下(Top_Down)的设计程序和并行工程(Concurrent engineering )的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。此阶段EDA技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesis )理论得到了巨大的发展,可进行系统级的仿真和综合。

图1.1给出了上述三个阶段的示意图。

图1.1 EDA发展阶段示意图

1.3 基于EDA的FPGA/ CPLD开发

我国的电子设计技术发展到今天,将面临一次更大意义的突破,即FPGA/CPLD ( Field Programmable Gate Array,现场可编程门阵列/Complex Programmable Logic Device,复杂可编程逻辑器件)在EDA基础上的广泛应用。从某种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但却是一种更高层次的循环,它在更高层次上容纳了过去数字技术的优秀部分,对(Micro Chip Unit ) MCU系统是一种扬弃,在电子设计的技术操作和系统构成的整体上发生了质的飞跃。如果说MCU在逻辑的实现上是无限的话,那么FPGA/CPLD不但包括了MCU这一特点,而且可以触及硅片电路线度的物理极限,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性等诸多方面的特点。不但如此,随着EDA技术的发展和FPGA/CPLD在深亚微米领域的进军,它们与MCU, MPU, DSP, A/D, D/A, RAM和ROM等独立器件间的物理与功能界限已日趋模糊。特别是软/硬IP芯核(知识产权芯核;Intelligence Property Core,一种已注册产权的电路设计)产业的迅猛发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起,正越来越受到业内人士的密切关注。

1.3.1FPGA/CPLD简介

FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。复杂可编程逻辑器件CPLD是由PAL ( Programmable Array Logic,可编程数组逻辑)或GAL ( Generic Array Logic,通用数组逻辑)发展而来的。它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑;但功耗比较大。现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。FPGA通常由布线资源分隔的可编程逻辑单元(或宏单元)构成数组,又由可编程I/O单元围绕数组构成整个芯片。其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。

CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于EEPROM内存技术的可编程逻辑芯片能够重复编程100次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC, SUN工作站、A TE(自动测试仪)或嵌入式微处理器系统,就能产生编程所用的标准5V, 3.3V或 2.5V逻辑电平信号,也称为ISP ( In System Programmable)方式编程,其调试和维修也很方便。基于SRAM技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据实时写入可编程器件,从而实现板级或系统级的动态配置。

1.3.2用FPGA/CPLD进行开发的优缺点

我们认为,基于EDA技术的FPGA/CPLD器件的开发应用可以从根本上解决MCU所遇到的问题。与MCU相比,FPGA/CPLD的优势是多方面的和根本性的:

(1).编程方式简便、先进。FPGA/CPLD产品越来越多地采用了先进的IEEE1149.1边界扫描测试(BST)技术(由联合测试行动小组,JTAG开发)和ISP(在系统配置编程方式)。在+5 V工作电平下可随时对正在工作的系统上的FPGA/CPLD进行全部或部分地在系统编程,并可进行所谓菊花链式多芯片串行编程,对于SRAM结构的FPGA,其下载编程次数几乎没有限制(如Altera公司的FLEXIOK 系列)。这种编程方式可轻易地实现红外编程、超声编程或无线编程,或通过电话线远程在线编程。这些功能在工控、智能仪器仪表、通讯和军事上有特殊用途。

(2).高速。FPGA/CPLD的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。

(3).高可靠性。在高可靠应用领域,MCU的缺憾为FPGA/CPLD的应用留下了很大的用武之地。除了不存在MCU所特有的复位不可靠与PC可能跑飞等固有缺陷外,FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。

(4).开发工具和设计语言标准化,开发周期短。由于FPGA/CPLD的集成规模非常大,集成度可达数百万门。因此,FPGA/ CPLD的设计开发必须利用功能强大的EDA工具,通过符合国际标准的硬件描述语言(如VHDL或V erilog-HDL)来进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的FPGA/ CPLD器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号的FPGA/ CPLD中,由此还可以以知识产权的方式得到确认,并被注册成为所谓的IP芯核,从而使得片上系统的产品设计效率大幅度提高。由于相应的EDA软件功能完善而强大,仿真方式便捷而实时,开发过程形象而直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场的最宝贵的特征。美国TI公司认为,一个ASIC 80 %的功能可用IP芯核等现成逻辑合成。EDA专家预言,未来的大系统的FPGA/ CPLD设计仅仅是各类再应用逻辑与IP芯核的拼装,其设计周期最少仅数分钟。

(5).功能强大,应用广阔。目前,FPGA/ CPLD可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅度下降,FPGA/ CPLD在系统中的直接应用率正直逼ASIC的开发。

同时,FPGA/CPLD设计方法也有其局限性。这主要体现在以下几点:

(1).FPGA/CPLD设计软件一般需要对电路进行逻辑综合优化(Logic Synthesis & Optimization),以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一些电路形式(特别是一些异步时序电路)在FPGA/CPLD设计方法中并不适用。这就要求设计人员更加了解FPGA/CPLD设计软件的特点,才能得到优化的设计。

(2).FPGA一般采用查找表(LUT)结构(Xilinx), AND-OR结构(Altera)或多路选择器结构(Actel),这些结构的优点是可编程性,缺点是时延过大,造成原始设计中同步信号之间发生时序偏移。同时,如果电路较大,需要经过划分才能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。时延问题是ASIC设计当中常见的问题,要精确地控制电路的时延是非常困难的,特别是在像FPGA/CPLD这样的可编程逻辑当中。

(3).FPGA/CPLD的容量和I/O数目都是有限的,因此,一个较大的电路必须经过逻辑划分((Logic Partition)才能用多个FPGA/CPLD芯片实现,划分算法的优劣直接影响设计的性能。

(4).由于目标系统的PCB板的修改代价很高,用户一般希望能够在固定引出端分配的前提下对电路进行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情况下,微小的修改往往会降低芯片的布通率。

(5).早期的FPGA芯片不能实现内存、模拟电路等一些特殊形式的电路。最新的一些FPGA产品集成了通用的RAM结构。但这种结构要么利用率不高,要么不完全符合设计者的需要。这种矛盾

来自于FPGA本身的结构局限性,短期内很难得到很好的解决。

(6).尽管FPGA实现了ASIC设计的硬件仿真,但是由于FPGA和门阵列、标准单元等传统ASIC 形式的延时特性不尽相同,在将FPGA设计转向其它ASIC设计时,仍然存在由于延时不匹配造成设计失败的可能性。针对这个问题,国际上出现了用FPGA数组对ASIC进行硬件仿真的系统(如Quickturn公司的硬件仿真系统)。这种专用的硬件仿真系统利用软硬件结合的方法,用FPGA数组实现了ASIC快速原型,接入系统进行测试。该系统可以接受指定的测试点,在FPGA数组中可以直接观测(就像软件模拟中一样),所以大大提高了仿真的准确性和效率。

1.4 硬件描述语言(HDL)

硬件描述语言(HDL)是相对于一般的计算机软件语言如C , Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用HDL 程序来描述所希望的电路系统,规定其结构特征和电路的行为方式;然后利用综合器和适配器将此程序变成能控制FPGA和CPLD内部结构、并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述语言具有以下几个优点:a.设计技术齐全,方法灵活,支持广泛。b.加快了硬件电路的设计周期,降低了硬件电路的设计难度。c.采用系统早期仿真,在系统设计早期就可发现并排除存在的问题。d.语言设计与工艺技术无关。e.语言标准,规范,易与共享和复用。就FPGA/CPLD 开发来说,VHDL语言是最常用和流行的硬件描述语言之一。本次设计选用的就是VHDL语言,下面将主要对VHDL语言进行介绍。

1.4.1VHDL语言简介

VHDL是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名是V ery-High -Speed Integrated Circuit Hardware Description Language。它是在70 ~ 80年代中由美国国防部资助的VHSIC(超高速集成电路)项目开发的产品,诞生于1982年。1987年底,VHDL被IEEE(The Institute of Electrical and Electronics Engineers)确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本((IEEE std 1076-1987标准)之后,各EDA公司相继推出了自己的VHDL设计环境。此后,VHDL在电子设计领域受到了广泛的接受,并逐步取代了原有的非标准HDL。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即ANSI/IEEE std 1076-1993版本。1996年IEEE 1076.3成为VHDL综合标准。

VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件己不成问题。VHDL语言在硬件设计领域的作用将与C和C++在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐步取代如逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录的速度。

1.4.2利用VHDL语言开发的优点

VHDL语言与其它HDL语言相比有一些自己的特色,下面作一简要说明。

(1)设计功能强、方法灵活、支持广泛。VDHL语言可以支持自上而下( Top_Down)的设计方法,它具有功能强大的语言结构,可用简洁明确的代码描述来进行复杂控制逻辑的设计,可以支持同步电路、异步电路、以及其它随机电路的设计。其范围之广是其它HDL语言所不能比拟的。此外,VHDL语言可以自定义数据类型,这也给编程人员带来了较大的自由和方便。

(2)系统硬件描述能力强。VHDL语言具有多层次的设计描述功能,可以从系统的数学模型直到门级电路,支持设计库和可重复使用的组件生成,它支持阶层设计且提供模块设计的创建。VHDL

语言能进行系统级的硬件描述是它的一个最突出的优点。

(3)可以进行与工艺无关编程。VHDL语言设计系统硬件时,没有嵌入描述与工艺相关的信息,不会因为工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的类属加以描述,工艺改变时,只需修改相应程序中的类属参数即可。

(4)VHDL语言标准、规范,易于共享和复用。VHDL既是IEEE承认的标准,故VHDL的设计描述可以被不同的EDA设计工具所支持。从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台去执行。这意味着同一个VHDL设计描述可以在不同的设计项目中采用,方便了设计成果的设计和交流。另外,VHDL语言的语法比较规范,从而其可读性比较好,给阅读和使用都带来了极大的好处。

(5)方便ASIC移植。VHDL语言的效率之一,就是如果你的设计是被综合到一个CPLD或FPGA的话,则可以使你设计的产品以最快速度上市。当产品的产量达到相当的数量时,采用VHDL 进行的设计可以很容易转成用专用集成电路(ASIC)来实现,仅仅需要更换不同的库重新进行综合。由于VHDL是一个成熟的定义型语言,可以确保ASIC厂商交付优良质量的器件产品。此外,由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代码。

1.5 QuartusII概述

QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。QuartusII在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+PLUSII 的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。

Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成组合环境。QuartusII设计工具完全支持VHDL、V erilog的设计流程,其内部嵌有VHDL、V erilog逻辑综合器。QuartusII也可利用第三方的综合工具。同样,QuartusII具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,QuartusII与MA TLAB和DSP Builder 结合,可以进行基于FPGA的DSP系统开发和数字通信模块的开发。

QuartusII包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analsis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)、编辑数据接口(Compiler Database Interface)等。可以通过选择Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择Compiler Tool(Tools菜单),在Compiler Tool窗口中运行该模块来启动编译器模块。在Compiler Tool窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。

此外,QuartusII还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可以与QuartusII普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能,如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。

QuartusII编译器支持的硬件描述语言有VHDL(支持VHDL’87及VHDL’97标准)、V erilog HDL 及AHDL(Altera HDL)。

QuartusII支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,QuartusII 的编译器将给出设计输入的错误报告。可以使用QuartusII带有的RTL V iewer观察综合后的RTL 图。

QuartusII作为目前CPLD/FPGA开发工具理想的综合、仿真软件,具有许多优良的特性。

(1)继承了MAX+PLUSII的优点

图形输入依然形象,图形符号与MAX+PLUSII一样符合数字电路的特点,大量74系列器件符号使能初学者在较短的时间里利用图形编辑设计出需要的电路。文本输入几乎和MAX+PLUSII相同,而且在文本的每一行都有行号,使用语言编写的电路清晰易读。低层编辑仍然采用Chipview方式,引脚排列位置映射了实际器件引脚,只要简单地鼠标拖放即可完成低层编辑。

(2)支持的器件更多

除了支持MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K等MAX+PLUSII已经支持的器件外,还支持PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix等MAX+PLUSII下无法支持的大容量高性能的器件。

(3)增加了网络编辑功能

QuartusII支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计,与Cadence、ExemplarLogi、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

(4)提升了调试能力

QuartusII增加了一个新的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短50%的编译时间,对设计性能的影响小。

(5)不足之处

软件结构庞大,使用复杂,不如MAX+PLUSII简单、易学易用。

2. 频率测量

2.1 数字频率计工作原理概述

数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。

采用一个标准的基准时钟,在单位时间(1s)里对被测信号的脉冲数进行计数,即为信号的频率。由于闸门的起始和结束时刻对于信号来说是随机的,将会有一个脉冲周期的量化误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为&=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。

为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提高了准确度。当门控信号为1时,使能信号并不为1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为0时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用100MHz的信号作为标准信号时,误差最大为0.01μs。

计算每秒钟内待测信号脉冲个数。这就要求计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器cnt10的ENA使能端进行同步控制。当TSTEN为高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的译码器译出并稳定显示。锁存信号之后,必须由清零信号CLR_CNT对计数器进行清零,为下一秒钟的计数操作做准备。

当系统正常工作时,脉冲发生器提供的1 Hz的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。

2.2 测频原理及误差分析

2.3.1常用测频方案

频率测量方案

方案一:采用周期法。通过测量待测信号的周期并求其倒数,需要有标准倍的频率,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为±1个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。

方案二:采用直接测频法。直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为±1个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量准确度为&=Tx/T=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。

方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列FPGA为实现高速、高精度的测频提供了保证。

本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。

2.3.2等精度测频原理

等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计数所产生±1个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图2.1所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间t与预置闸门时间t1并不严格相等,但差值不超过被测信号的一个周期[4]。

图2.1 等精度测频原理波形图

等精度测频的实现方法可简化为图2.2所示。CNT1和CNT2是两个可控计数器,标准频率信号

从CNT1的时钟输入端CLK输入;经整形后的被测信号从CNT2的时钟输入端CLK输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动CNT1和CNT2。CNT1、CNT2同时对标准频率信号和经整形后的被测信号进行计数,分别为N S与N X。当预置门信号为低电平的时候,后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(F S/N S)*NX。则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。

图2.2 等精度测频实现原理图

2.3.3误差分析

设在一次实际闸门时间t中计数器对被测信号的计数值为Nx,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率如式(2-1):

fx=(Nx/Ns)·fs (2-1) 由式1-1可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差如式(2-2):

δ=(|fx e-fx|/fxe)×100% (2-2) 其中fxe为被测信号频率的准确值。

在测量中,由于fx计数的起停时间都是由该信号的上升沿触发的,在闸门时间t内对fx的计数Nx无误差(t=NxTx);对fs的计数Ns最多相差一个数的误差,即|ΔNs|≤1,其测量频率如式(2-3):

fxe=[Nx/(Ns+ΔNs)]·fs (2-3) 将式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):

δ=|ΔNs|/Ns≤1/Ns=1/(t·fs) (2-4) 由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度[5]。

3. 数字频率计的系统设计与功能仿真

3.1 系统的总体设计

当系统正常工作时,由系统时钟提供的100MHz的输入信号,经过信号源模块,先通过100分频产生1MHZ的时钟信号,再将1MHZ的时钟信号分频产生多种频率输出,其中1HZ的输出频率被作为控制模块的时钟输入,7812HZ的输出频率被作为显示模块的时钟输入,由控制模块产生的计数使能信号testen和清零信号clr对计数模块进行控制,而由其产生的锁存信号load对锁存模块进行控制,一旦计数使能信号为高电平,并且时钟上升沿到来,计数器便开始正常计数,清零信号到来则计数清零,而当锁存信号为高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换

成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。数字频率计的原理框图如图3.1所示。主要由5个模块组成,分别是:信号源模块、控制模块、计数模块、锁存器模块和显示器模块。

图3.1 数字频率计的原理框图

根据数字频率计的系统原理,cnt控制信号发生器。testctl的计数使能信号testen能产生一个1 s 宽的周期信号,并对频率计的每一计数器Cnt10的ENA使能端进行同步控制:当testen高电平时允许计数、低电平时停止计数。

reg32b为锁存器。在信号load的上升沿时,立即对模块的输入口的数据锁存到reg32b的内部,并由reg32b的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。

Cnt10为十进制计数器。有一时钟使能输入端ENA,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。将八个十进制计数器Cnt10级联起来实现8 位十进制计数功能[2,7]。

disply为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示的相对应的阿拉伯数字,便于读取测量的结果。

为了实现系统功能,测频控制信号发生器testctl、计数器Cnt10、锁存器reg32b存在一个工作时序的问题,设计时需要综合考虑。

8位数字频率计的顶层框图(endfreq.bdf),设计实现包括信号源模块(F1MHZ、CNT)、频率计模块(FREQ)和显示模块(display)三大模块。下面分别介绍三个模块的结构和实现方法。

3.2 信号源模块

信号源是为了产生1MHz 的门控信号和待测的定频信号,而对输入系统时钟clk(50MHz)进行分频的模块,设计源代码PIN1MHZ.VHD 对输入系统时钟clk(50MHz)进行分频产生1MHz 信号。

PIN1MHZ的封装图如3.2所示,图中CLKIN为接入的100MHZ信号,图中CLKOUT为接到CNT的CLK的1MHZ的信号。

图3.2 PIN1MHZ封装图

PIN1MHZ的工作时序仿真图如图3.3所示。

图3.3信号源模块仿真图

从PIN1MHZ的工作时序仿真图可以看出:由系统时钟提供的100MHz的输入信号,经过信号源模块,通过100分频产生1MHZ的时钟信号,达到了设计所需的预期效果。

3.3 分频器

此程序要求将1MHZ的输入频率分别进行21分频(产生500KHZ的输出频freq500k)、23分频(产生125 KHZ的输出频率freq125k)、25分频(产生31250HZ的输出频freq31250)、27分频(产生7812HZ的输出频率freq7812)、29分频(产生1953HZ的输出频率freq1953)、211分频(产生488HZ的输出频率freq488)、213分频(产生1HZ的输出频率freq1)。

CNT的封装图如图3.4,图中CLK为PIN1MHZ输入的1MHZ信号,freq1为输出给控制信号发生器的1HZ信号,7812HZ的输出频率freq7812被作为显示模块的时钟输入,freq 488、freq1953、freq31250、freq125K、freq500K作为待测信号。

图3.4CNT封装图

CNT的工作时序仿真图如图3.5所示。

图3.5 CNT的时序仿真图

当1MHZ频率波形输入后,分别产生了设计所需要的500KHZ的输出频freq500k,125 KHZ的输出频率freq125k,31250HZ的输出频freq31250,7812HZ的输出频率freq7812,1953HZ的输出频率freq1953,488HZ的输出频率freq488,1HZ的输出频率freq1。

3.4 测频控制信号产生器

控制模块的作用是产生测频所需要的各种控制信号。控制信号的标准输入时钟为1HZ,每两个时钟周期进行一次频率测量。该模块产生的3个控制信号,分别为TSTEN,LOAD,CLR_CNT.CLR_CNT 信号用于在每次测量开始时,对计数器进行复位,以清除上次测量的结果,该复位信号高电平有效,持续半个时钟周期的时间。TSTEN为计数允许信号,在TSTEN信号的上升沿时刻计数模块开始对输入信号的频率进行测量,测量时间恰为一个时钟周期(正好为单位时间1s),在此时间里被测信号的脉冲数进行计数,即为信号的频率。然后将值锁存,并送到数码管显示出来。设置锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。在每一次测量开始时,都必须重新对计数器清0。

测频控制产生器如图3.6,图中CLK接CNT的FREQ1的1HZ的信号,TSTEN为计数允许信号,接计数器CNT10的ENA,CLR_CNT信号用于在每次测量开始时,对计数器进行复位,接计数器CNT10的CLR,LOAD接锁存器的LOAD。

图3.6 TESTCTL的封装图

测频控制信号发生器TESTCTL的工作时序图,控制模块的几个控制信号的时序关系图如图3.7所示。

图3.7 TESTCTL的时序仿真图

从图中可看出,计数使能信号TSTEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,随后产生清0信号上跳沿CLR_CNT。为了产生这个时序图需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上升沿到来时令其翻转。其中,控制信号时钟clk的频率取1HZ,而信号TSTEN的脉宽恰好为1s,可以用作闸门信号。此时,根据测频的时序要求,可得出信号LOAD 和CLR_CNT的逻辑描述。由图可知,在计数完成后,计数使能信号TETEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5s后,CLR_CNT产生一个请零信号上跳沿。

3.5 锁存器

锁存器模块也是必不可少的,测量模块测量完成后,在load信号的上升沿时刻将测量值锁存到

寄存器中,然后输出到显示模块。锁存器是起数据保持的作用,它将会把数据保存到下次触发或复位。主要是主从触发器组成的。用于存储数据来进行交换,使数据稳定下来保持一段时间不变化,直到新的数据将其替换。

锁存器REG32B的封装如图3.8,图中LOAD接控制测频产生器TESTCTL的LOAD,而DIN[31..0]接计数器CNT10的CQ[3..0],DOUT[31..0]接显示器display的in端。

图3.8 REG32B 的封装图

32位锁存器

REG32B 的工作时序图如图3.9。

图3.9 REG32B 的时序仿真图

本程序是用来实现锁存器模块的功能,但它的程序相当简单,在锁存信号load 的上升沿到来时,

锁存器将测量值锁存到寄存器,然后输出到显示模块。但从仿真图3.9中可以明显的看出,锁存输

出并不是立即进行的,而是经历了一个短暂的延时,这是由于硬件引起的。

3.6 十进制计数器

计数器模块是由8个带有异步清零端,进位信号输出的模为10的计数模块级连而成。通过

(freq.vhd)进行元件例化实现。此十进制计数器的特殊之处是,有一时钟使能输入端ENA ,用于锁定

计数器。当高电平计数允许,低电平时计数禁止。计数器模块用于对输入信号的脉冲进行计数,该

模块必须有计数允许、异步清零等端口,以便于控制模块对其进行控制。

CNT10的封装如图3.10,其中CLR 为复位接TESTCTL 的CLR_CNT 端,ENA 接TESTCTL 的

TSTEN 端,CQ[3..0]接锁存器的DOUT[31..0]端。

3.10 CNT10的封装图

有时钟使能的十进制计数器CNT10的工作时序仿真如图3.11。

图3.11 CNT10的时序仿真图

此程序模块实现的功能是带使能端的10进制计数。程序要求只有当使能端信号为高电平时计数

器才能正常工作,每个时钟的上升沿到来时计数器加1,因为这里要实现的是10进制计数,所以当

计数到10时计数器清零,同时产生进位信号,这里的进位信号仅为一个脉冲信号,一旦计数从10

变为1,脉冲信号立即变为低电平。同时该计数器也应带有清零信号,一旦清零信号为高电平,计数器立即清零。

3.7显示模块

3.7.1显示模块设计

LED有段码和位码之分,所谓段码就是让LED显示出八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阴级的LED而言,低电平使能,在本设计中设计了一个3位的循环计数器,将计数结果输入到译码器,译码结果输出即可依次使能每个LED。例如:要让8个LED同时工作显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。display 模块的顶层图如下所示。CNT计数产生扫描信号(位码),LED模块用于查表产生LED段码输出。

图3.12位display的封装图。图中in0~in7接锁存器的DOUT[31..0]端。

图3.12 display的封装图

display工作时序图如下图3.13。

图3.13 disply工作时序图

用8个LED将待测频率显示出来,将通过十进制计数器的时钟信号CLK,输出为时钟信号计数译码后的显示驱动端,在八段LED译码为对应的八段二进制编码,并由数码显示器显示出来。图3.13中为相应二进制编码与相对应的屏显数字。

3.7.2显示电路

图3.14 display硬件结构图

此部分如图3.14,图中主要由0~7循环累加器、3-8译码器、BCD-7段显示译码器、8选1多路数据开关和8个LED显示器组成的扫描数码显示器。

3.7.3译码器

74138译码器作为数据分配器的功能表如表1所示。

表1 74LS138编码器作为数据分配器的功能表

74LS138的3个译码输入C、B、A用做数据分配器的地址输入,8个输出Y0~Y7用做8路数据输出,3个输入控制端中的EN2A用做数据输入端,EN2B接地,EN1用做使能端[6]。当EN1=1,允许数据分配,若需要将输入数据转送至输出端Y2,地址输入应为CBA=010,由功能表可得:

21222()A B A Y G G G C B A G =?????= (3-1)

而其余输出端均为高电平。因此,当地址CBA=010时,只有输出端Y2得到与输入相同的数据波形。 结束语

本设计对等精度频率计进行了系统的设计。首先介绍了频率测量的一般方法,着重介绍等精度

测频原理并进行了误差分析,利用等精度测量原理,通过FPGA 运用VHDL 编程,利用FPGA (现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量范围为0-100MHZ ,利用QUARTUS Ⅱ集成开发环境进行编辑、综合、波形仿真。和传统的频率计相比,利用FPGA 设计的频率计简化了电路板设计,提高了系统设计的实用性和可靠性,实现数字系统的软件化,这也是数字逻辑设计的趋势。

参考文献

[1] 王紫婷,吴蓉,张彩珍,吴晓春.EDA 技术与应用.兰州:兰州大学出版社,2003年4月

[2] 谭会生,张昌凡.EDA 技术及应用.西安:西安电子科技大学出版社,2004年4月

[3] 林敏,方颖立.VHDL 数字系统设计与高层次综合.北京:电子工业出版社,2002年1月

[4] 李国洪,沈明山.可编程器件EDA 技术与实践.北京:机械工业出版社,2004年7月

附录附录一频率计顶层文件

附录二信号源模块源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY PIN1MHZ_1 IS

PORT (clkin : IN STD_LOGIC;

clkout : OUT STD_LOGIC);

END PIN1MHZ_1;

ARCHITECTURE A OF PIN1MHZ_1 IS

BEGIN

PROCESS(clkin)

variable cnttemp : INTEGER RANGE 0 TO 99;

BEGIN

IF clkin='1' AND clkin'event THEN

IF cnttemp=99 THEN cnttemp:=0;

ELSE

IF cnttemp<50 THEN clkout<='1';

ELSE clkout<='0';

END IF;

cnttemp:=cnttemp+1;

END IF;

END IF;

END PROCESS;

END A;

附录三分频器源程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt is

port(clk : in std_logic; --1MHz 输入

freq1 : out std_logic; --1Hz 输出

freq488 : out std_logic; --488Hz 输出

freq1953 : out std_logic; --1953Hz 输出

freq7812 : out std_logic; --7812Hz 输出

freq31250: out std_logic; --31250Hz 输出

freq125k : out std_logic; --125KHz 输出

freq500k : out std_logic ); --500KHz 输出

end cnt;

architecture behv of cnt is

signal temp: std_logic_vector(19 downto 0);

begin

process(clk)

begin

if clk'event and clk ='1' then

if temp="11110100001000111111" then

temp<="00000000000000000000";

else

temp<=temp+1;

end if;

end if;

end process;

freq1<=temp(19);

freq488<=temp(10);

freq1953<=temp(8);

freq7812<=temp(6);

freq31250<=temp(4);

freq125k<=temp(2);

freq500k<=temp(0);

end behv;

附录四测频控制信号发生器源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY TESTCTL IS

PORT ( CLK: IN STD_LOGIC; --1 Hz测频控制时钟

TSTEN: OUT STD_LOGIC; --计数器时钟使能

CLR_CNT: OUT STD_LOGIC; --计数器清零

LOAD: OUT STD_LOGIC); --输出锁存信号END TESTCTL;

ARCHITECTURE ART OF TESTCTL IS

SIGNAL DIV2CLK :STD_LOGIC;

SIGNAL CLR :STD_LOGIC;

SIGNAL loadcnt :STD_LOGIC;

BEGIN

PROCESS ( CLK ) IS

BEGIN

IF CLK'EVENT AND CLK= '1' --1 HZ时钟二分频

THEN DIV2CLK<=NOT DIV2CLK;

END IF ;

END PROCESS;

PROCESS ( CLK,DIV2CLK )

BEGIN

IF CLK= '0' AND DIV2CLK = '0' THEN --产生计数器清零信号CLR<= '1';

ELSE CLR<= '0' ;

END IF;

if clr='0' and div2clk='0' then

loadcnt<='1';

else loadcnt<='0';

end if;

END PROCESS;

LOAD<=not div2clk; TSTEN<=DIV2CLK;CLR_CNT<=CLR;

END ARCHITECTURE ART;

附录五32位锁存器源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY REG32B IS

PORT(LOAD: IN STD_LOGIC;

DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0);

DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0));

END ENTITY REG32B;

ARCHITECTURE ART OF REG32B IS

BEGIN

PROCESS ( LOAD, DIN ) IS

BEGIN

IF LOAD 'EVENT AND LOAD= '1'

THEN DOUT<=DIN; --锁存输入数据

END IF;

END PROCESS;

END ART;

附录六有时钟使能的十进制计数器的源程序

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CNT10 IS

PORT (CLK:IN STD_LOGIC; --计数时钟信号

CLR:IN STD_LOGIC; --清零信号

ENA:IN STD_LOGIC; --计数使能信号

CQ :OUT INTEGER RANGE 0 TO 15; --4位计数结果输出

CARRY_OUT:OUT STD_LOGIC); --计数进位END CNT10;

ARCHITECTURE ART OF CNT10 IS

SIGNAL CQI :INTEGER RANGE 0 TO 15;

BEGIN

PROCESS(CLK,CLR,ENA) IS

BEGIN

IF CLR= '1' THEN CQI<= 0; ----计数器异步清零ELSIF CLK'EVENT AND CLK= '1' THEN

IF ENA= '1' THEN

IF CQI=10 THEN cqi<=1;

ELSE CQI<=cqi+1;END IF; ----等于9,则计数器清零END IF;

END IF;

END PROCESS;

PROCESS (CQI) IS

BEGIN

IF CQI=10 THEN CARRY_OUT<= '1'; ----进位输出

ELSE CARRY_OUT<= '0';

END IF;

END PROCESS;

CQ<=CQI;

END ART;

2位十进制高精度数字频率计设计

广州大学学生实验报告 实验室:电子信息楼 317EDA 2017 年 10 月 2 日 学院机电学院年级、专 业、班 电信 151 姓名苏伟强学号1507400051 实验课 程名称 可编程逻辑器件及硬件描述语言实验成绩 实验项 目名称 实验4 2位十进制高精度数字频率计设计指导老师 秦剑 一实验目的 1 熟悉原理图输入法中74系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设计技术和数字系统设计方法。 2 完成2位十进制频率计的设计,学会利用实验系统上的FPGA/CPLD验证较复杂设计项目的方法。 二实验原理 1 若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进制时间。 三实验设备 1 FPGA 实验箱,quarteus软件 四实验内容和结果 1 2位十进制计数器设计 1.1 设计原理图:新建quarteus工程,新建block diagram/schematic File文件,绘制原理图,命名为conter8,如图1,保存,编译,注意:ql[3..0]输出的低4位(十进制的个位), qh[3..0]输出的高4位(十进制的十位) 图片11.2 系统仿真:如图2建立波形图进行波形仿真,如图可以看到完全符合设计要求,当clk输入时钟信号时,clr有清零功能,当enb高电平时允许计数,低电平禁止计数,当低4位计数到9时向高4位进1 图2 1.3 生成元件符号:File->create/updata->create symbol file for current file,保存,命名为conter8,如图3为元件符号(block symbol file 文件): 图3 2 频率计主结构电路设计 2.1 绘制原理图:关闭原理的工程,新建工程,命名为ft_top,新建原理图文件,在project navigator的file 选项卡,右键file->add file to the project->libraries->project library name添加之前conters8工程的目录在该目录下,这样做的目的是因为我们会用到里面的conters8进行原理图绘制,绘制原理图,如图4,为了显示更多的过程信息,我们将74374的输出也作为output,重新绘制了原理图,图5 图4

等精度频率计设计C程序

1 #include 2 #include 3 #include 4 #include 5 #include 6 #define uchar unsigned char 7 #define uint unsigned int 8 #define ulong unsigned long 9 10 code uchar m[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0x00}; 11 // 0 1 2 3 4 5 6 7 8 9 灭 12 data uchar NS[]={0x0,0x0,0x0,0x0};//标准频率计数 13 data uchar NX[]={0x0,0x0,0x0,0x0};//待测频率计数 14 data ulong NSS,NXX,MM,F; 15 data ulong temp1,temp2; 16 data uchar shuju[]={0,0,0,0,0,0,0,0};//数码管数据 17 sbit CLR = P2^3; 18 sbit SEL2 = P2^2; 19 sbit SEL1 = P2^1; 20 sbit SEL0 = P2^0; 21 sbit CL = P2^4; 22 sbit START = P2^7; 23 //int i,j,k,l; 24 char *pNS; //清零 25 char *pNSS; 26 char *pNX; 27 char *pNXX; 28 29 void delay(uint x); 30 void display(); 31 void operation(); 32 void outdata(); 33 34 long powcyc(long c1,long c2) 35 { 36 long c3=1; 37 uchar ii; 38 for(ii=0;ii

数字频率计的设计

长安大学 电子技术课程设计 数字频率计的设计 专业: 班级: 姓名 指导教师: 日期:

目录 引言 第一章系统概述 一、设计方案的选择 1、计数法 2、计时法 二、整体框图及原理 第二章单元电路设计 一、放大电路设计 二、闸门电路设计 三、时基电路设计 四、控制电路设计 五、报警电路设计 六、整体电路图 七、整机元件清单 第三章设计小结 一、设计任务完成情况 二、问题及改进 三、心得体会 鸣谢 附录

引言 题目:数字频率计的设计 初始条件: 本设计可以使用在数模电理论课上学过或没学过的集成器件和必要的门电路构建简易频率计,用数码管显示频率计数值。 要求完成的主要任务: ①设计一个频率计。要求用4位7段数码管显示待测频率,并用发光二极管表示单位。 ②测量频率的范围:100hz—100khz。 ③测量信号类型:正弦波和方波。 ④具有超量程报警功能。 摘要: 本次课程设是基于TTL系列芯片的简易数字频率计,数字频率计应用所学的数字电路和模拟电路的知识进行设计。在设计过程中,所有电路仿真均基于Multisim仿真软件。本课程设计介绍了简易频率计的设计方案及其基本原理,并着重介绍了频率计各单元电路的设计思路,原理及仿真,整体电路的的工作原理,控制器件的工作情况。设计共有三大组成部分:一是原理电路的设计,本部分详细讲解了电路的理论实现,是关键部分;二是性能测试,这部分用于测试设计是否符合任务要求。三是是对本次课程设计的总结。 关键字:频率计、TTL芯片、时基电路、逻辑控制、分频、计数、报警

第一章系统概述 一、设计方案的选择 信号的频率就是信号在单位时间内所产生的脉冲个数,其表达式为f=N/T,其中f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。计数器所记录的结果,就是被测信号的频率。如在1s内记录1000个脉冲,则被测信号的频率为1000HZ。测量频率的基本方法有两种:计数法和计时法,或称测频法和测周期法。 1、计数法 计数法是将被测信号通过一个定时闸门加到计数器进行计数的方法,如果闸门打开的时间为T,计数器得到的计数值为N1,则被测频率为f=N1/T。改变时间T,则可改变测量频率范围。如图(1-1-1) 计数值N1 被测信号 标准闸门 T 图 1-1-1 测频法测量原理 设在T期间,计数器的精确计数值应为N,根据计数器的计数特性可知,N1的绝对误差是N1=N+1,N1的相对误差为δN1=(N1-N)/N=1/N。由N1的相对误差可知,N的数值愈大,相对误差愈小,成反比关系。因此,在f以确定的条件下,为减少N的相对误差,可通过增大T的方法来降低测量误差。当T为某确定值时(通常取1s),则有f1=N1,而f=N,故有f1的相对误差:δf1=(f1-f)/f=1/f 从上式可知f1的相对误差与f成反比关系,即信号频率越高,误差越小;而信号频率越低,则测量误差越大。因此测频法适合用于对高频信号的测量,频率越高,测量精度也越高。

全国大学生电子设计大赛题一等奖数字频率计

2015 年全国大学生电子设计竞赛 全国一等奖作品 设计报告部分错误未修正,软 件部分未添加 竞赛选题:数字频率计(F 题)

摘要 本设计选用FPGA 作为数据处理与系统控制的核心,制作了一款超高精度的数字频率计,其优点在于采用了自动增益控制电路(AGC)和等精度测量法,全部电路使用PCB 制版,进一步减小误差。 AGC 电路可将不同频率、不同幅度的待测信号,放大至基本相同的幅度,且高于后级滞回比较器的窗口电压,有效解决了待测信号输入电压变化大、频率范围广的问题。频率等参数的测量采用闸门时间为1s 的等精度测量法。闸门时间与待测信号同步,避免了对被测信号计数所产生±1 个字的误差,有效提高了系统精度。 经过实测,本设计达到了赛题基本部分和发挥部分的全部指标,并在部分指标上远超赛题发挥部分要求。 关键词:FPGA 自动增益控制等精度测量法

目录

1. 系统方案 1.1. 方案比较与选择 宽带通道放大器 方案一:OPA690 固定增益直接放大。由于待测信号频率范围广,电压范围大,所以选用宽带运算放大器OPA690,5V 双电源供电,对所有待测信号进行较大倍数的固定增益。对于输入的正弦波信号,经过OPA690 的固定增益,小信号得到放大,大信号削顶失真,所以均可达到后级滞回比较器电路的窗口电压。 方案二:基于VCA810 的自动增益控制(AGC)。AGC 电路实时调整高带宽压控运算放大器VCA810 的增益控制电压,通过负反馈使得放大后的信号幅度基本保持恒定。 尽管方案一中的OPA690 是高速放大器,但是单级增益仅能满足本题基本部分的要求,而在放大高频段的小信号时,增益带宽积的限制使得该方案无法达到发挥部分在频率和幅度上的要求。 方案二中采用VCA810 与OPA690 级联放大,并通过外围负反馈电路实现自动增益控制。该方案不仅能够实现稳定可调的输出电压,而且可以解决高频小信号单级放大时的带宽问题。因此,采用基于VCA810 的自动增益控制方案。 正弦波整形电路 方案一:采用分立器件搭建整形电路。由于分立器件电路存在着结构复杂、设计难度大等诸多缺点,因此不采用该方案。 方案二:采用集成比较器运放。常用的电压比较器运放LM339 的响应时间为1300ns,远远无法达到发挥部分100MHz 的频率要求。因此,采用响应时间为4.5ns 的高速比较器运放TLV3501。 主控电路 方案一:采用诸如MSP430、STM32 等传统单片机作为主控芯片。单片机在现实中与FPGA 连接,建立并口通信,完成命令与数据的传输。 方案二:在FPGA 内部利用逻辑单元搭建片内单片机Avalon,在片内将单片机和测量参数的数字电路系统连接,不连接外部接线。 在硬件电路上,用FPGA 片内单片机,除了输入和输出显示等少数电路外,其它大部分电路都可以集成在一片FPGA 芯片中,大大降低了电路的复杂程度、减小了体积、电路工作也更加可靠和稳定,速度也大为提高。且在数据传输上方便、简单,因此主控电路的选择采用方案二。

高精度单片机频率计的设计

《综合课程设计》 一.数字频率计的设计 姓名:万咬春学号2005142135 一、课程设计的目的 通过本课程设计使学生进一步巩固光纤通信、单片机原理与技术的基本概念、基本理论、分析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学生能有效地将理论和实际紧密结合,拓展学生在工程实践方面的专业知识和相关技能。 二、课程设计的内容和要求 1.课程设计内容 (硬件类)频率测量仪的设计 2.课程设计要求 频率测量仪的设计 要求学生能够熟练地用单片机中定时/计数、中断等技术,针对周期性信号的特点,采用不同的算法,编程实现对信号频率的测量,将测量的结果显示在LCD 1602 上,并运用Proteus软件绘制电路原理图,进行仿真验证。 三.实验原理 可用两种方法测待测信号的频率 方法一:(定时1s测信号脉冲次数) 用一个定时计数器做定时中断,定时1s,另一定时计数器仅做计数器使用,初始化完毕后同时开启两个定时计数器,直到产生1s中断,产生1s中断后立即关闭T0和T1(起保护程序和数据的作用)取出计数器寄存器内的值就是1s内待测信号的下跳沿次数即待测信号的频率。用相关函数显示完毕后再开启T0和T1这样即可进入下一轮测量。 原理示意图如下:

实验原理分析: 1.根据该实验原理待测信号的频率不应该大于计数器的最大值65535,也就是说待测信号应小于65535Hz。 2.实验的误差应当是均与的与待测信号的频率无关。 方法二(测信号正半周期) 对于1:1占空比的方波,仅用一个定时计数器做计数器,外部中断引脚作待测信号输入口,置计数器为外部中断引脚控制(外部中断引脚为“1”切TRx=1计数器开始计数)。单片机初始化完毕后程序等待半个正半周期(以便准确打开TRx)打开TRx,这时只要INTx (外部中断引脚)为高电平计数器即不断计数,低电平则不计数,待信号从高电平后计数器终止计数,关闭TRx保护计数器寄存器的值,该值即为待测信号一个正半周期的单片机机器周期数,即可求出待测信号的周期:待测信号周期T=2*cnt/(12/fsoc) cnt为测得待测信号的一个正半周期机器周期数;fsoc为单片机的晶振。所以待测信号的频率f=1/T。 原理示意图如下: 实验原理分析: 1.根据该实验原理该方法只适用于1:1占空比的方波信号,要测非1:1占空比的方波信号 2.由于有执行f=1/(2*cnt/(12/fsoc))的浮点运算,而数据类型转换时未用LCD 浮点显示,故测得的频率将会被取整,如1234.893Hz理论显示为1234Hz,测 得结果会有一定程度的偏小。也就是说测量结果与信号频率的奇偶有一定关 系。 3.由于计数器的寄存器取值在1~65535之间,用该原理时,待测信号的频率小于单片机周期的1/12时,单片机方可较标准的测得待测信号的正半周期。故用 该原理测得信号的最高频率理论应为fsoc/12 如12MHZ的单片机为1MHz。 而最小频率为f=1/(2*65535/(12/fsoc))如12MHZ的单片机为8Hz。 四.实验内容及步骤 1. 仿真模型的构建 数字方波频率计的设计总体可分为两个模块。一是信号频率测量,二是将测得的频率数据显示在1602液晶显示模块上。因此可搭建单片机最小系统构建构建频率计的仿真模型。原理图,仿真模型的总原理图如下:

计算机毕业论文_基于FPGA的等精度频率计的设计与实现

目录 前言...............................................................1 第一章 FPGA及Verilog HDL..........................................2 1.1 FPGA简介.....................................................2 1.2 Verilog HDL 概述.............................................2 第二章数字频率计的设计原理........................................3 2.1 设计要求.....................................................3 2.2 频率测量.....................................................3 2.3.系统的硬件框架设计..............................................4 2.4系统设计与方案论证............................................5 第三章数字频率计的设计............................................8 3.1系统设计顶层电路原理图........................................8 3.2频率计的VHDL设计.............................................9 第四章软件的测试...............................................15 4.1测试的环境——MAX+plusII.....................................15 4.2调试和器件编程...............................................15 4.3频率测试.....................................................16

数字频率计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:数字频率计 初始条件: 具备电子电路的基础知识和设计能力;具备查阅资料的基本方法;熟悉常用的电子器件;熟悉电子设计常用软件的使用; 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、设计频率检测电路; 2、测量信号与TTL电平兼容,频率范围:0HZ~100KHZ; 3、数码管显示频率; 4、掌握数字电路的设计及调试方法; 5、撰写符合学校要求的课程设计说明书。 时间安排: 时间一周,其中2天原理设计,3天电路调试 指导教师签名:年月日系主任(或责任教师)签名:年月日

摘要 频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N 时,则被测信号的频率f=N/T。 本文介绍了一种测量仅与TTL电平兼容的信号的数字频率计,频率测量中直接测量的数字频率计主要由四个部分构成:时基(T)电路、输入电路、计数显示电路以及控制电路。其频率的测量范围为0HZ到100KHZ,此次设计频率计思路主要是利用计数原理,通过一定的时基控制电路能在1秒钟以内让计数器工作于计数状态,最后在1秒钟内将计数值进行锁存﹑输出﹑显示,即可得到待测信号频率,涉及到的集成芯片主要有十进制计数芯片74LS90﹑边沿控制锁存器74LS273﹑用于数码管显示的译码器CD4511﹑以及时基芯片555和双可重复单稳态触发器74LS123,共同完成了数字频率计的设计。 关键词:TTL电平兼容信号,计数,频率计

目录 摘要 1.数字频率计的设计总体方案 (1) 1.1数字频率计的简介 (1) 1.2电路方案设计 (2) 1.3方案的比较及选取 (4) 2.电路模块设计 (4) 2.1计数电路 (5) 2.2显示电路 (5) 2.3计时电路 (5) 3.系统总体电路图 (7) 3.1计数显示部分电路 (7) 3.2闸门逻辑控制电路 (8) 4.软件仿真图 ............................................................................................. 错误!未定义书签。 5.实物调试 (11) 5.1实物制作 (11) 5.2实物显示结果图 (11) 5.3误差分析 (11) 6.心得体会 (12) 7.参考文献 (14) 附录:原件清单 (14)

等精度频率计的实验报告

数字频率计 摘要 以FPGA(EP2C8Q208C8N)为控制核心设计数字频率计,设计采用硬件描述语言Verilog 该作品主要包括FPGA控制、数码管模块、信号发生器、直流电源模块、独立按键、指示灯模块。主要由直流电源供电、数字信号发生器输出信号,FPGA 控制信号的采集、处理、输出,数码管显示数据,按键切换档位,指示灯显示档位。作品实现了测频、测周、测占空比,能准确的测量频率在10Hz 到100kHz之间的信号。 关键字: 频率计等精度 FPGA (EP2C8Q208C8N)信号发生器Verilog语言

一、系统方案论证与比较 根据题目要求,系统分为以下几个模块,各模块的实现方案比较选择与确定如下: 1.主控器件比较与选择 方案一:采用FPGA(EP2C8Q208C8N)作为核心控制,FPGA具有丰富的I/O 口、内部逻辑和连线资源,采集信号速度快,运行速度快,能够显示大量的信息,分频方便。 方案二:采用SST89C51作为主控器件,虽然该款单片机较便宜,但运行速度较慢,不适合对速度有太大要求的场合,并且不带AD,增加了外围电路。 综上所述,主控器件我选择方案一。 2.测量方法的比较与选择 方案一:采用测频法测量。在闸门时间内对时钟信号和被测信号同时计数,由于在闸门闭合的时候闸门时间不能是被测信号的整数倍,导致计数相差为一个被测信号时间,所以测频法只适合频率较高的测量。 方案二:采用测周法测量。用被测信号做闸门,在闸门信号内对时钟信号计数,由于在闸门闭合的时候闸门时间不能是时钟信号的整数倍,导致计数相差为一个时钟信号时间,所以测周法只适合较低频率的测量。 方案三:采用等精度法和测周法结合的方法。用等精度发测量1KHZ以上的频率,测周法测量1KHZ一下的频率。这种方法取长补短,既能准确的测高频又能测低频。 综上所述,测量方法我选用方案三。 3. 界面显示方案的选择 方案一:采用数码管显示,控制程序简单,价格便宜,显示直观。 方案二:液晶5110,虽然体积小,可以显示各种文字,字符和图案。 考虑到数码管完全可以满足数据显示要求,所以显示部分我选用方案一。 二、理论分析与计算 1、键盘设计 系统中我们采用独立键盘,用2个I/O控制2个键。原理是将2个I/O口直接接键盘的2个引脚,低电平有效,这种键盘的优点反应的速率快。 2、计算公式 (1)测频: 1khz以上:被测频率=时钟频率*(被测频率计数/时钟频率计数) 1khz以下:被测频率=时钟频率/(时钟频率在被测信号高电平计数+时钟频率在被测信号低电平计数)

等精度数字频率计的设计

等精度数字频率计的设计 李艳秋 摘要 基于传统测频原理的频率计的测量精度将随着被测信号频率的下降而降低,在实用中有很大的局限性,而等精度频率计不但有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。运用等精度测量原理,结合单片机技术设计了一种数字频率计,由于采用了屏蔽驱动电路及数字均值滤波等技术措施,因而能在较宽定的频率范围和幅度范围内对频率,周期,脉宽,占空比等参数进行测量,并可通过调整闸门时间预置测量精度。选取的这种综合测量法作为数字频率计的测量算法,提出了基于FPGA 的数字频率计的设计方案。给出了该设计方案的实际测量效果,证明该设计方案切实可行,能达到较高的频率测量精度。 关键词等精度测量,单片机,频率计,闸门时间,FPGA Ⅱ

ABSTRACT Along with is measured based on the traditional frequency measurement principle frequency meter measuring accuracy the signalling frequency the drop but to reduce, in is practical has the very big limitation, but and so on the precision frequency meter not only has teaches the high measuring accuracy, moreover maintains the constant test precision in the entire frequency measurement region. Using and so on the precision survey principle, unified the monolithic integrated circuit technical design one kind of numeral frequency meter, because has used the shield actuation electric circuit and technical measure and so on digital average value filter, thus could in compared in the frequency range and the scope scope which the width decided to the frequency, the cycle, the pulse width, occupied parameter and so on spatial ratio carries on the survey, and might through the adjustment strobe time initialization measuring accuracy. Selection this kind of synthesis measured the mensuration took the digital frequency meter the survey algorithm, proposed based on the FPGA digital frequency meter design proposal. Has produced this design proposal actual survey effect, proved this design proposal is practical and feasible, can achieve the high frequency measurement precision Keywords Precision survey, microcontroller, frequency meter, strobe time,field programmable gate array Ⅱ

数字频率计的设计

电子测量实训报告 姓名:X X X 院系:X X X X 学院 专业:07电子信息工程 学号: 指导教师: 完成时间: 2010 年 9月 7 日

目录 第1章引言 (3) 1.1数字频率计的概述 (3) 1.2设计任务 (3) 1.3设计目的 (4) 1.4设计方案 (4) 1.5频率计设计原理 (5) 第2章系统硬件设计 (5) 2.1电路原理图设计 (5) 2.2单元电路介绍 (6) 2.3 74LS90引脚及其说明 (8) 2.4 74LS47的介绍 (9) 2.5 74LS123的介绍 (10) 第3章硬件调试 (11) 第4章实训小结 (10) 第5章附录 (13) 附录1 硬件电路原理图和连接图 (13) 附录2 元器件清单 (14) 附录3 参考文献 (14)

数字频率计的设计 摘要:本实训报告是关于数字频率计设计的简要介绍。采用直接测频法的方案来完成本次实训设计。其组成部分有时基电路、闸门电路、逻辑控制电路以及可控制的计数、译码、显示电路。该设计主要用于数码管的显示功能,在四位LED数码管上对输入信号频率进行显示,并能够准确运行。 关键词:数字频率计、计数脉冲、单稳态电路、闸门电路、锁存、频率显示 第1章引言 1.1数字频率计的概述 数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。它不仅可以测量正弦波,方波,三角波和尖脉冲信号的频率,而且还可以测量他们的周期。数字频率计在测量其他物理量如转速、振荡频率等方面获得广泛应用。所谓频率,就是周期性信号在单位时间(1s)里变化的次数。若在一定时间间隔T内测得的这个周期性信号的重复变化次数N,则其频率可表示为:f =N/T。 1.2设计任务 设计一个数字频率计系统,频率在四位数码管上进行显示,如下图。从左到右依次为频率的千位、百位、十位、个位。 设计要求: (1)位数: 能计4位十进制数,计数位数主要取决于被测信号频率的高低,如果被测信号频率较高,精度又较高,可相应增加显示位数。 (2)量程: 最大读数为9999Hz,闸门信号的采样时间为1s。 (3)显示方式: 用七段LED数码管显示读数,做到显示稳定、不跳变。

全国大学生电子设计大赛F题一等奖数字频率计

2015 年全国大学生电子设计竞赛 全国一等奖作品
设计报告 部分错误未修正,软 件部分未添加
竞赛选题:数字频率计(F 题)
1 / 10

摘要
本设计选用 FPGA 作为数据处理与系统控制的核心,制作了一款超高精度 的数字频率计,其优点在于采用了自动增益控制电路(AGC)和等精度测量法, 全部电路使用 PCB 制版,进一步减小误差。
AGC 电路可将不同频率、不同幅度的待测信号,放大至基本相同的幅度, 且高于后级滞回比较器的窗口电压,有效解决了待测信号输入电压变化大、频率 范围广的问题。频率等参数的测量采用闸门时间为 1s 的等精度测量法。闸门时 间与待测信号同步,避免了对被测信号计数所产生±1 个字的误差,有效提高了 系统精度。
经过实测,本设计达到了赛题基本部分和发挥部分的全部指标,并在部分指 标上远超赛题发挥部分要求。
关键词:FPGA 自动增益控制 等精度测量法
1 / 10

目录
摘 要....................................................................................................................1 目录........................................................................................................................ 2 1. 系统方案...................................................................................................3
1.1. 方案比较与选择................................................................................3 1.1.1. 宽带通道放大器.........................................................................3 1.1.2. 正弦波整形电路.........................................................................3 1.1.3. 主控电路.....................................................................................3 1.1.4. 参数测量方案.............................................................................4
1.2. 方案描述............................................................................................4 2. 电路设计...................................................................................................4
2.1. 宽带通道放大器分析........................................................................4 2.2. 正弦波整形电路................................................................................5 3. 软件设计...................................................................................................6 4. 测试方案与测试结果...............................................................................6 4.1. 测试仪器............................................................................................6 4.2. 测试方案及数据................................................................................7
4.2.1. 频率测试.....................................................................................7 4.2.2. 时间间隔测量.............................................................................7 4.2.3. 占空比测量.................................................................................8 4.3. 测试结论............................................................................................9 参考文献................................................................................................................ 9
2 / 10

量程自选的数字频率计

等精度量程自选数字频率计

摘要 51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和接受及应用,51系列单片机还会在继后很唱一段时间占据嵌入式系统产品的 低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用时非常重要的。随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。 频率测量是电子学测量中最为基本的测量之一。本次课设使用单片机At89C52为核心,使用等精度测频原理,设计量程自选的数字频率计。采用C语言编写程序,测量范围0.01Hz~400KHz,测量精度能达到0.01。测量结果在1602液晶上显示。 关键字:AT89C52单片机,量程自选数字频率计,等精度测频

Summary 51 series is the currently the most widely used one 8-bit microcontrollers with embedded systems, the concept of on-chip systems, and applications made and whips acceptable, 51 series will be singing in the subsequent period of time is occupied low-end embedded system products market, therefore, as the new century, college students, high-speed development in the information industry today, the master microcontroller's basic structure, principles and use is very important. With the development of electronic technology, the current design of digital systems is moving fast, large capacity, small size, light weight and direction. Frequency measurement is the measurement electronics, one of the most basic measurements. The class is located using the microcontroller At89C52 core, use of precision frequency measurement principle, the design range of optional digital frequency meter. Using C language program, measuring range 0.01Hz ~ 400KHz, measurement accuracy can reach 0.001. Measurements in 1602Displayed on the LCD. Keywords: AT89C52 microcontroller, range-demand digital frequency meter, and otherprecisionfrequencymeasurement

等精度数字频率计的设计

等精度数字频率计的设计 (Design of equal precision digital frequency meter)作者:李欢(电子工程学院光信息科学与技术 1103班) 指导教师:惠战强 摘要:伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。 数字频率计是一种基本的测量仪器。它被广泛应用于航天、电子、测控等领域。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。本文首先综述了EDA技术的发展概况,FPGA/CPLD开发的涵义、优缺点,VHDL语言的历史及其优点,然后介绍了频率测量的一般原理。 关键字:电子设计自动化;VHDL语言;频率测量;数字频率计 Abstract The Electronic Design Automation (EDA) technology has become an important design method of analog and digital circuit system as the integrated circuit's growing. The EDA technology, which is closely connected with the electronic technology, microelectronics technology and computer science, can be used in designing electronic product automatically. Digital frequency meter is a basic measuring instruments. It is widely used in aerospace, electronics, monitoring and other fields. With equal precision frequency measurement accuracy to maintain a constant, and not with the measured signal varies.We firstly present some background information of EDA, FPGA/CPLD and VHDL;then introduced the general principle of frequency measurement. Keywords: Electronic Design Automation,VHDL, Frequency measurement,digital frequency meter.

数字频率计

燕山大学EDA课程设计报告书 题目:数字频率计

一、设计题目及要求 题目名称:数字频率计 要求: 1.输入为矩形脉冲,频率范围0~999KHz; 2.用3 位数码管显示;只显示最后的结果,不要将计数过程显示出来; 3.单位为Hz 和KHz 两档,自动切换,要有档位指示。 4. 超出测量范围,显示3 条短线“- - -”,且发出间隔为1s 的蜂鸣报警。 二、设计过程及内容 测量脉冲信号频率就是测量在单位时间内所产生的脉冲个数,所以在1S 时间内计数器所记录的结果,就是被测信号的频率。测量范围分别是0~999HZ、1~999kHZ,在kHZ档时,LED灯亮。 我们将数字频率计分为六个模块,分别是366分频模块,二分频模块,计数模块,选择模块,扫描模块,报警模块。 1、总体电路图如下: 右侧saomiao模块的输出端ABCDEF与计数器高位的进位输出端取非后相

与,再接接入实验箱,G和进位输出端相或,再接实验箱,实现在超出量程时显示“---”。 2、各部分电路图及功能 (1)分频模块 所选实验箱时钟信号频率为366HZ,为产生周期为两秒、占空比为1:2的时钟信号,需将366HZ的信号先经过366分频,产生周期为1HZ的信号,再经过二分频产生占空比符合要求的时钟信号。 366分频模块电路图: 功能说明:本模块使用三片74160级联构成366进制计数器,将输入的366HZ信号分频为1HZ,占空比为1:366的信号。 二分频模块电路图; 功能说明:使用边沿D触发器构成二分频,在输入信号的上升沿输出一秒的高电平或低电平,形成占空比1:2的时钟信号。

(2)计数器模块 功能说明:本模块共使用8片74160,上部的7片74160构成十进制计数器,左侧的三片计数器实现档位0~999HZ的计数,超出范围后将会有高电平的进位输出,使LED端产生周期为1s的脉冲,即LED灯进行1s的闪烁,标志着此时档位为kHZ。右侧三片实现kHZ档位计数,当低三位最后一个计数器产生进位时,高三位的输出端取或时SEL就会输出高电平,连接二选一模块进行档位选择。当高位输出产生进位时,最后一块产生报警信号的输出DD,为报警模块提供输入。 (3)数据选择器模块 功能说明:输出的档位由输入SEL控制,当SEL=0时,数据选择器选择A 输出即高三位KHZ档;当SEL=1时选择B输出即低三位HZ档。并利用74273在计数1s后输入数据,进行锁存,实现只显示最后的结果,不显示计数过程。其中1S的时钟信号加非门输出端,实现了数据的保存和输出。

相关主题
文本预览
相关文档 最新文档