设计报告。
课程名称在系统编程技术
任课教师黄慧
设计题目八位十进制频率计
班级 11级电子(2)班
姓名潘凌林
学号 1105012038
摘要。数字频率计是电子测量与仪表技术最基础的电子仪表类别之一,数字频率计是计算机、通讯设备、音频**等科研生产领域不可缺少的测量仪器,而且它是数字电压必不可少的部件。当今数字频率计不仅是作为电压表,计算机,天线电广播通讯设备,工艺过程自动化装置、多种仪表仪器与家庭电器等许多电子产品中的数据信息输出显示器反映到人们眼帘。
集成数字频率计由于所用元件少、投资少、体积小、功耗低,且可靠性高、功能强、易于设计和研发,使得它具有技术上的实用性和应用的广泛性。不论从我们用的彩色电视机、电冰箱、***还有我们现在家庭常用到的数字电压表数字万用表等等都包含有频率计。
数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波、方波或其它周期性变化的信号。数字频率计广泛应用于科研机构、学校、实验室、企业生产车间等场所。研究数字频率计的设计和开发,有助于频率计功能的不断完善、性价比的提高和实用性的加强。
本文关于八位十进制频率计的课程设计是在quartus ii软件中运用vhdl语言编写程序,其测频范围智能在1hz至10mhz之间并具有清零复位功能,其频率结果用八位数码管稳定显示。该程序主要包括三大子模块:控制模块,锁存模块和计数模块。
本设计将主要从这三个子模块的功能描述,模块图,源程序以及**波形来分析并一步一步完成这整个总模块!
关键字:八位十进制频率计 vhdl语言控制模块锁存模块计数模块。
数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。数字频率计的主要功能是测量周期信号的频率。频率是单位时间(1s)内信号发生周期变化的次数。
如果我们能在给定的1s时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。对应到本设计中,控制模块对时钟信号clkk的分频产生控制,并输入给计数器使能端en和锁存器的使能端load。
通过这样的控制作用所得计数值即为所需的信号频率(1hz至10mhz)。
图1总体框图设计思路:由50mhz系统时钟分频得到0.5hz的基准时钟。
在基准时钟的1s 高电平期间计被测频率的脉冲个数,1s高电平结束时计数结束,所记录的脉冲个数是被测信号的频率,为了在数码管上显示计数结果需要锁存器将所计的数锁存,因此,在基准时钟下降沿来的时候锁存器实现锁存功能。为了下次计数必须将本次计数的结果清零,所以在基准时钟低电平期间对计数器清零。被测频率从计数器的是中端输入实现频率的测试。
将锁存器锁存的数据输入扫描器,通过译码器将锁存的二进制数译成十进制然后显示到数码管上,最终被读出来。
方案一:基于单片机实现八位十进制频率计字功能。
利用at89c51的内部定时计数器来对外部输入信号进行计数,从而达到测频的目的,这种方案,结构简单容易掌握,各部分电路实现起来都非常容易。其原理框图如图所示:
图2 方案二:基于cpld技术实现八位十进制频率计。
通过verilog hdl硬件描述语言编写**的方式来实现八位十进制频率计功能。其框图如图所示:
图3方案三:基于fpga技术实现八位十进制频率计。
运用vhdl硬件描述语言进行对fpga进行配置在试验箱中完成八位十进制频率计功能。其框图如图所示。
图4综上所述,方案一简单易行,但是被测信号频率范围为1hz~100mhz。该单片机会因为运行速度无法跟上而导致测量误差很大,故不可选用。方案二虽然满足题目要求,但是由于未学习cpld相关知识,故也不能选用。
而方案三采用fpja来设计八位十进制频率计,测量精度高,运行速度快,采用vhdl语言模块化编程,大大缩减了外围的硬件电路,节约了硬件资源,而且方便进行软件调试。
由于本次课程设计题目为八位十进制频率计,要求可测的频率范围为0到10mhz,所以运算速度快、精度高、性能可靠、可将外围器件通过编程来代替的fpga芯片更符合要求。综合比较结合各方面的优劣势,并参考本次课程设计要求,我选择了方案三基于fpja器件来实现八位十进制频率计的设计方案。图5图6
频率计的关键是设计一个测频率控制信号发生器,产生测量频率的控制时序。控制时钟信号clk取为1hz,2分频后即可产生一个脉宽为1秒的时钟tsten,以此作为计数闸门信号。当tsten为高电平时,允许计数;当tsten由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次tsten上升沿到哦来之前产生零信号clear,将计数器清零,为下次计数作准备。
图7图8
锁存器(latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 i/o 口既能输出也能输入的问题。
图9图10
计数是一种最简单基本的运算,计数器[15]就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有rs触发器、t触发器、d触发器及jk触发器等。
图11图12图13图1
当所输入的信号为64hz时实验箱数码管上显示如图4.20所示。
图15当输入频率为65500hz时实验箱数码管上显示如图所示。
图16在此次的八位十进制数字频率计的设计中,不可避免的我遇到了很多的困难。但更确切的来说,通过这次的eda课程设计---八位十进制频率计,让我又有了一次锻炼机会,更熟练的在 quartus ii 上进行 vhdl 程序的编译及各个模块的**。虽然在实际操作过程**现了很多没有料想到的各种错误,例如由于粗心造成了程序的缺失和错误,还有在理解程序上还没能精确到每一步导致错误不能及时查找出口来。
这些问题看似很小,但就是因为小反而更加难以掌握。但幸好在老师和同学的帮助下最终还是都解决了。所以这次的课程设计不仅仅是一项任务,更是对这么久以来的学习的一种巩固加强。
不仅很好地复习了我们学过的专业知识,使我对数字系统结构也有了更进一步的了解和认识,同时对quartus ii软件、eda技术、vhdl语言等系列知识都有了一定的了解。当然要完成一项课程设计,光靠课本里的书面知识,及时再熟练也是不够的。所以由于设计项目的难度性,我借助互联网络进行搜索并查阅大量的相关资料,所以此次设计还让我锻炼了组织整理资料的能力,同时在逻辑思维、步骤和方法的设计、考虑问题的思路和角度等方面的能力也有所提高,从真正意义上把理论与实践相结合了起来。
也使我明白书本上的知识只有应用到实践中才会具有意义,才会充满活力,也只有当我们会把知识运用于实践了,才算真正的学懂了这些知识。本次数字频率计的涉及到了quartus ii软件,vhdl语言,eda技术,微机原理和eda所学的大部分内容。在这次设计中还发现理论与实际常常常存在很大差距。
在课题设计中,通过使用 quartus ii 这个完全集成化易学易用的可编程逻辑设计环境,利用vhdl语言设计完成8位十进制数字频率计,能够较好的测定所给频率,并且具有自动清零和自动测试的功能,基本符合此次课程设计给出的要求。
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...