基于VHDL的自动量程频率计(毕业设计66页、18059字+图+程序) 摘 要:本文讨论了基于VHDL语言编程的自动量程频率计的设计问题。该频率计可以测量1Hz~1MHz范围内的任意波形的周期性信号的频率,并能实现量程的自动跟踪,测量值用数码管显示。 本设计采用计数法进行测量,对于频率较低的输入信号而言,用测量频率的方法会产生较大误差,所以采用测频、测周相结合的方法,将整个量程分为两档,当输入信号频率高于1KHz时采用测频法,低于1KHz时采用测周法。为了达到测量精度和量程自动跟踪的要求,将每一档再分三档,工作时首先选择频率最高的档位进行测量,如果超出本量程范围则向下跟踪;如果超出全量程范围则将档位置频率最高档等待下一次测量。采用测周法需要用除法算法将周期转换成频率,本设计采用高位减法的方法实现。这种算法既能保证运算时间,又能节省资源,使本设计能在一块FPGA芯片上实现。
关键词:频率测量;VHDL语言;FPGA器件
ABSTRACT This paper discussed how to design automatic frequency meter by VHDL language. This cymometer can measure the arbitrarily periodic signal of the waveform between 1Hz~1MHz, and the range can automatic follow the result which been displayed on the LED. The design uses counter to measure the frequency of signal. But to those input signals whose frequency are low, using this method will produce a inaccuracy, so we get the two methods of measuring the frequency and measuring the period together, and devide the whole range into two files. When the frequency of coming signal is higher than 1KHz, we choose the former, and when the frequency of coming signal is lower than 1KHz, we choose the latter. In order to attain to the requirement of the precision and the following time, we subdivide each file into another three files. We first choose the tallest file of frequency. If the data beyond the reach of this span, range extent then gets down the tracking; if it beyond the whole span, we use the tallest file of frequency waiting for the next to measure. The method of measure period demands that we use the division algorithm to convert the period into frequency. This design adopts the method of the high position subtraction. This kind of algorithm can not only guarantee the operation time, but also save the resource, and this design can attain on a piece of the chip of FPGA implementation.
Keywords: frequency measurement; programmable device; VHDL
目 录 第1章 绪论 1 1.1概述 1 1.2课题的背景、目的及意义 2 1.3任务要求 3 第2章 VHDL与MAX+PLUSⅡ简介 4 2.1 VHDL语言简介 4 2.2 MAX+PLUSⅡ简介 5 2.3本章小结 7 第3章 方案论证 8 3.1原理分析 8 3.1.1频率计数器 8 3.1.2周期测量 10 3.1.3综合计数器 10 3.2误差分析 12 3.3方案执行 13 3.4本章小结 14 第4章 系统硬件部分 15 4.1 EPF10K10LC84-4器件简介 15 4.2 EPF10K10LC84-4外围电路 15 4.3原理图及PCB板的制作 16 4.4本章小结 16 第5章 系统软件部分 17 5.1系统框图及设计流程图 17 5.1.1系统框图 17 5.1.2设计流程图 18 5.2分频器的设计 18 5.2.1被测信号分频 18 5.2.2时钟分频 20 5.2.3分频器实现 20 5.3信号发生器的设计 20 5.4频率测量部分的设计 22 5.4.1计数器的设计 22 5.4.2数据处理器的设计 24 5.5译码部分的设计 26 5.5.1 BCD译码器的设计 26 5.5.2七段译码器的设计 28 5.6系统顶层文件的生成 30 5.7本章小结 30 第6章 系统测试及结果分析 31 6.1下载测试 31 6.2结果分析 31 6.3本章小结 32 结 论 33 参考文献 34 致 谢 36 附录 A 测量数据 37 附录 B 底层模块连接关系图 40 附录 C 电原理图 41 附录 D PCB板图 42 附录 D1元件图: 42 附录 D2顶层图: 43 附录 D3底层图: 44 第1章 绪论 1.1概述 随着电子设计自动化EDA(Electronic Design Automation)和可编程逻辑器件PLD(Programmable Logic Device)的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流迅猛发展的引擎就是日趋进步和完善的设计技术。目前数字系统的设计可以直接面向用户需求,根据系统的行为和功能要求,自上至下的逐层完成相应的描述、综合、优化、仿真与验证,直到生成器件。上述设计过程除了系统行为和功能描述以外,其余所有的设计过程几乎都可以用计算机来自动地完成,也就是说做到了电子设计自动化。这样做可以大大地缩短系统的设计周期,以适应当今品种多、批量小的电子市场的需求,提高产品的竞争能力。 电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路,即要用所谓硬件描述语言来描述硬件电路。所以硬件描述语言及相关的仿真、综合等技术的研究是当今电子设计自动化领域的一个重要课题。 硬件描述语言的发展至今已有几十年的历史,并已成功地应用到系统的仿真、验证和设计综合等方面。到本世纪80年代后期,已出现了上百种的硬件描述语言,它们对设计自动化起到了促进和推动作用。但是,它们大多各自针对特定设计领域,没有统一的标准,从而使一般用户难以使用。广大用户所期盼的是一种面向设计的多层次、多领域且得到一致认同的标准的硬件描述语言。80年代后期由美国国防部开发的VHDL语言(VHSIC Hardware Description Language)恰好满足了上述这样的要求,并在1987年12月由IEEE标准化(定为IEEE std 1076--1987标准,1993年进一步修订,被定为ANSI/IEEE std 1076--1993标准)。 1.2课题的背景、目的及意义 数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,而且会产生比较大的延时,造成测量误差、可靠性差。传统的数字频率计一般是由分离元件搭接而成,随着单片机的大规模的应用,单片机在频率测量方面也越来越多的被使用,出现了不少用单片机控制的频率测量系统。相对于以前用分离元件搭接起来的频率测量系统,单片机控制的频率测量系统在频率测量范围、频率测量精度和频率测量速度上都有了很大的提高,但由于单片机先天性的限制(如单片机工作频率的限制、单片机内部计数器位数的限制),由单片机控制的频率测量系统无法在频率测量范围、频率测量精度和频率测量速度上取得重大突破,若再增加别的器件,以弥补单片机的不足,不仅会大大增加系统的复杂性,而且也不利于系统的集成化。随着可编程ASIC的广泛应用,以EDA工具作为开发手段,基于VHDL语言的设计方法,将使整个系统大大简化,提高整体的性能和可靠性。 FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于一个单个器件中,它所提供的门数从几百门到上百万门,可以满足不同的需要。因此用FPGA来实现数字频率计从根本上解决了单片机的先天性限制问题。与以往的数字频率计相比,用FPGA来实现数字频率计有集成度高、易于升级、换代,灵活适用于各种场合、符合系统芯片(SOC,System on A Chip)的发展要求等诸多优点。 频率测量仪是实验室、计量室和科研、生产中最为常用的测量仪器之一。根据目前测量仪器的发展趋势,设计和制造体积小、成本低、自动化和数字化程度高以及操作简单、便携的测量仪器显得十分必要。 随着计算机与微电子技术的发展,电子设计自动化EDA和可编程逻辑器件PLD的发展都非常迅速,熟练地利用EDA软件进行PLD器件开发已成为电子工程师必须掌握的基本技能。先进的EDA工具已经从传统的自下而上的设计方法改变为自顶向下的设计方法,以硬件描述语言HDL(Hardware Description Language)来描述系统级设计,并支持系统仿真和高层综合。这就要求我们能够掌握一些常用的EDA工具,了解复杂数字系统的设计思路并能主动深入地学习HDL语言。 1.3任务要求 本课题的任务是要求采用以FPGA芯片(10K10LC84-4)为核心的硬件和应用VHDL语言设计一个具有量程自动跟踪功能的频率测量仪表,提供硬件演示,提交设计报告和编程软件。 主要技术指标: 1.频率测量范围1Hz~1MHz; 2.全量程测量精度≤1%; 3.量程自动跟踪时间不大于3.0秒; 4.被测信号的最小输入电压大于3伏(峰—峰值),最大输入电压小于10伏(峰—峰值); 5.适应任意波形的被测输入信号; 6.输入阻抗不小于100KΩ; 7.提供数字显示。
|