




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京信息职业技术学院毕业设计论文作者 学号 系部 电子信息学院 专业 无线电技术 题目 数字频率计测频系统的设计 指导教师 评阅教师 完成时间: 2014年 3 月 30 日 毕业设计(论文)中文摘要(题目):数字频率计测频系统的设计摘要:100hz频率计数器主要功能是在一定时间内对频率的计算,本篇论文主要介绍了频率计数器的实现:系统以max+pulsll ii为开发环境,通过vhdl语言作为硬件描述语言实现对电路结构的描述。在vhdl语言中采用了一系列的语句,例如:元件例化、if 语句、case、when语句等。并对程序中的输入输出端口进行了解释,给出实现代码和仿真波形。关键词: 100hz 频率计;max+pulsll ii;vhdl;元件例化;仿真毕业设计(论文)外文摘要title: the design of digital frequency meter measuring frequency systems abstract: 100hz frequency counter is a primary function of the frequency within a certain period of time calculation, this paper introduces the realization of frequency counters: the system in order to max + pulsll ii for the development of the environment, through the vhdl hardware description language as a language implementation of the circuit structure description. vhdl language used in a series of statements, such as: component instantiation, if such statement case when statement. and program input and output ports of the interpretation given to achieve the code and simulation waveforms.keywords: 100hz frequency counter; max + pulsll ii; vhdl; simulation; component cases 目录引言51 数字频率计测频系统设计概述51.1 设计要求51.2 设计意义52 电路数字频率计测频系统设计方案62.1 产生子模块72.1.1 分频模块72.1.2 分频程序及仿真图82.2 计数模块92.2.1 计数模块分析92.2.2 计数模块程序及仿真图102.3 显示模块112.3.1 七段数码管的描述122.3.2 八进制计数器142.3.3 计数位选择电路152.4 总体功能描述163 电路数字频率计测频系统顶层文件174. 结论194.1 系统缺点194.2 改进方法19致谢19参考文献19附表 元件清单20引言vhdl(very high speed integrated circuit hardware description language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为ieee(the institute of electrical and electronics engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,vhdl具有多层次描述系统硬件功能的能力,支持自顶向下(top to down)和基于库(librarybased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用vhdl对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的cpld器件中去,从而实现可编程的专用集成电路(asic)的设计。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(cpld)的广泛应用,以eda工具作为开发手段,运用vhdl语言。将使整个系统大大简化。提高整体的性能和可靠性。 本文用vhdl在cpld器件上实现一种2b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。1 数字频率计测频系统设计概述1.1 设计要求 获得稳定100hz频率 用数码管的显示 用vhdl写出设计整个程序1.2 设计意义 进一步学习vhdl硬件描述语言的编程方法和步骤。 运用vhdl硬件描述语言实现对电子元器件的功能控制。 熟悉并掌握元件例化语句的使用方法 。 熟悉数字式频率的基本工作原理。 熟悉数字频率计中计数显示设计。 熟悉掌握max+plus软件的基本使用方法。2 电路数字频率计测频系统设计方案众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。闸门时间可以根据需要取值,大于或小于1s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1s作为闸门时间。数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图2-1所示。图2-1 数字频率计原理框图在这个100赫兹频率计的设计中一共分为3大模块:产生子模块、计数模块、显示模块。当系统正常工作时,脉冲发生器提供的1 hz的输入信号,进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果产生子模块是为此100赫兹频率计提供1hz的时钟脉冲信号,为了实现严格的同步,在这个模块中采用了同步计数电路。计数模块是实现从0到99的计数。显示模块是将计数模块程序中产生的数值通过2个七段数码管表达出来,使大家对此频率计有一个更直观的认识。此100赫兹频率计的设计中,这3个大的模块是核心部分,这个3个大的模块会在后面的分析设计中给出详细的介绍。频率计的工作原理是通过在一定时间内对外部信号进行计数,计算计数值对时间的比值,从而得到输入信号的频率,通过二个数码管作为频率值的输出。对系统进行分析后,确定采用模块设计,基本框架图如图2-2所示。图2-2 频率计设计基本框架图2.1 产生子模块2.1.1 分频模块分频模块的功能是将输入的外部信号clk进行分频,分频成计数器所需要的计数信号, 使计数器在计数信号有效的时间对外部信号进行计数。根据频率计测量的范围,确定了分频至1hz,从而得到频率值。555定时器(如图2-3)是一种模拟电路与数字电路相结合的中规模集成电路,它在信号产生、整形、延时(定时)、控制等方面获得了广泛的应用。虽说555定时器应用领域十分广泛,但其电路结构归纳起来有三种基本形式,即多谐振荡器、单稳态触发器、施密特触发器。图2-3 555定时器电路由于双极型555和cmos型555的制作工艺和流程不同,生产出的555集成电路的性能指标是有差异的。cmos型555的功耗仅为双极型的几十分之一,静态电流仅为300ua左右,为微功耗电路。cmos型555的输出脉冲的上升沿和下降沿比双极型的要陡,转换时间短。cmos型555的在传输过度时间里产生的尖峰电流小,仅为23ma,而双极型555的尖峰电流高达300400ma。2.1.2 分频程序及仿真图分频程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_div1000 isport(clk:in std_logic; clk_div:out std_logic);end clk_div1000;architecture rt1 of clk_div1000 issignal q_tmp:integer range 0 to 999;beginprocess(clk)beginif(clkevent and clk=1)then if(q_tmp=999)then q_tmp=0; else q_tmp=q_tmp+1; end if;end if;end process;process(clk)beginif(clkevent and clk=1)then if(q_tmp=999)then clk_div=1; else clk_div=0; end if;end if;end process;end rt1;在以上程序中我们将外部信号clk进行10次分频输入信号为clk,输出信号为clk_div。编译通过后,产生的符号如图2-4所示,仿真波形图如图2-5所示。图2-4 分频模块图图2-5 分频仿真图2.2 计数模块2.2.1 计数模块分析经分析可知,此频率计计数模块分为2个子模块,即个位显示模块、十位显示模块。详细分析如下:计数模块的个位可以用1个十进制计数器表示。计数模块的十位可以用1个十进制计数器表示。频率计的计数模块主要来实现频率计数器内部的计数功能,计数器的内部计数信号clk和频率计数器的使能信号enable。频率计数器的计数模块的输出信号就是个位sec、十位sec10。电路图如图2-6所示。图2-6 计数模块电路图十进制计数器,它的输入端口主要包括使能端口enable计数输入端口clk,输出端口主要包括计数输出端口q和进位输出端口cout。2.2.2 计数模块程序及仿真图计数模块的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 isport( enable:in std_logic; clk:in std_logic; cout:out std_logic; q:out std_logic_vector(3 downto 0);end count10;architecture rt1 of count10 issignal q_tmp:std_logic_vector(3 downto 0);beginprocess(clk)beginif(clkevent and clk=1)then if(enable=1)then if(q_tmp=1001)then q_tmp=0000; else q_tmp=q_tmp+1; end if; end if;end if;q=q_tmp;end process;coutsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegment=xxxxxxx;end case;end process;end rt1;2.3.2 八进制计数器我们来描述下三个子电路,然后再描述显示模块的总体功能。先来讨论下八进制计数器count8,这个八进制计数器除了没有使能端enable和进位输出端口cout之外,它的描述结构与前面描述的计数器的结构完全相同,用vhdl描述如下:八进制计数器模块设计程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count8 isport( clk:in std_logic; sel:out std_logic_vector(2 downto 0);end count8;architecture rt1 of count8 issignal sel_tmp:std_logic_vector(2 downto 0);beginprocess(clk)beginif(clkevent and clk=1)then if(sel_tmp=111)then sel_tmp0); else sel_tmp=sel_tmp+1; end if;end if;selqqq=xxxx;end case;end process;end rt1;2.4 总体功能描述对计数器的显示模块的四个子电路描述以后,我们就可以进行计数器的总体功能描述了。在计数器显示模块的vhdl描述中,我们引用元件的形式来调用上面描述过的四个子电路,秒表显示模块的vhdl描述如下:library ieee;use ieee.std_logic_1164.all;entity display isport( clk:in std_logic; sec10:in std_logic_vector(3 downto 0); sec:in std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); segment:out std_logic_vector(6 downto 0);end display;architecture rt1 of display iscomponent count8port(clk:in std_logic; sel:out std_logic_vector(2 downto 0);end component;component time_chooseport(sel:in std_logic_vector(2 downto 0); sec10:in std_logic_vector(3 downto 0); sec:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0);end component;component seg7port(q:in std_logic_vector(3 downto 0); segment:out std_logic_vector(6 downto 0);end component;signal sel_tmp:std_logic_vector(2 downto 0);signal q:std_logic_vector(3 downto 0);signal segment_tmp:std_logic_vector(6 downto 0);beginu0:count8 port map(clk,sel_tmp);sel=sel_tmp;u2:time_choose port map(sel_tmp,sec10,sec,q);u3:seg7 port map(q,segment_tmp);segment=segment_tmp;end rt1;编译通过后,生成的符号如图2-12所示,仿真波形图如图2-13所示。图2-12 显示模块图12显示模块的仿真波形图图2-13 显示模块的仿真波形图3 电路数字频率计测频系统顶层文件前一章是整个设计的3个核心模块,当这3个模块设计完成后,100赫兹的频率计的设计就接近尾声了。剩下的工作也就好做了,我们就像连接模拟电路中元件一样,将这3个模块对应的端口连接起来进行调试即可。整个设计我们都是用的vhdl硬件描述语言来完成的,所以到了最后也不例外,对于最后的级连同运用元件例化的格式来“组装”整个设计。顶层文件设计程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport( clk:in std_logic; enable:in std_logic; sel:out std_logic_vector(2 downto 0); segment:out std_logic_vector(6 downto 0);end clock;architecture rt1 of clock iscomponent clk_div1000port(clk:in std_logic; clk_div:out std_logic);end component;component time_counterport( enable:in std_logic; clk0:in std_logic; sec10:out std_logic_vector(3 downto 0); sec:out std_logic_vector(3 downto 0);end component; component displayport( clk:in std_logic; sec10:in std_logic_vector(3 downto 0); sec:in std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); segment:out std_logic_vector(6 downto 0);end component; signal sec10: std_logic_vector(3 downto 0); signal sec: std_logic_vector(3 downto 0); signal clk0:std_logic;beginu0:clk_div1000 port map(clk,clk0);u1:time_counter port map(enable,clk0,sec10,sec);u2:display port map(clk,sec10,sec,sel,segment);end rt1;编译通过后,生成的符号如图3-1所示,仿真波形图如图3-2所示。图3-1 顶层设计符号图图3-2 顶层设计仿真波形图4. 结论4.1 系统缺点首先本设计的频率计的测量范围不大,在1hz10hz之间,面目前的高端频率计最小可以测量到0.001hz,最大可以到几g,甚至可以达到更高。本设计的电路是比较传统的电路,没有采用先进的高端芯片,使测量的范围和精度都受到很大的限制,对测量范围以外的频率有较低测量精度 ,甚至无法测量。而且输入电压也有一定的限制。4.2 改进方法本设计的频率在低频段不够精确,如采用等精度测量,经浮点数的数学运算,可满足精度与刷新时间的要求。在整形阶段可以更好的波形整形电路,可以更好的提高输入电压的输入范围,而不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆电子科技职业大学2025年考核招聘事业单位工作人员笔试高频难、易错点备考题库及答案详解1套
- 2025年消防安全知识培训考试题库:火灾预防与逃生案例分析题
- 2025年注册会计师考试《会计》金融工具会计处理考前预测模拟试题试卷
- 自考专业(计算机网络)复习提分资料【达标题】附答案详解
- 2025年消防员选拔考试:火灾预防与逃生试题库分析
- 2025年中学教师资格考试《综合素质》核心考点特训题库(含答案)之教育管理简答题
- 2025年安全生产风险分级管控应急管理试题库试卷
- 2025年中学教师资格考试《综合素质》核心考点冲刺与特训题库高频考点试卷
- 2025年高压电工考试:高压设备事故预防及应急处理评估试题
- 2025年统计学期末考试题库-统计推断与检验案例分析题库解析练习
- 个人信息保护专员任命协议(2024年)3篇
- 部编人教版五年级上册语文阅读理解专项试卷及答案
- 中等职业学校英语教学大纲附件五:词汇表
- 《新编剑桥商务英语(初级)》课程教学大纲
- 高职计算机专业《Python程序设计》说课课件
- 宣传片拍摄保密协议(2024版)
- 医疗设备采购招标投标文件格式
- 离婚协议书与离婚协议书
- 房屋出租委托协议
- 加装电梯业主同意协议书
- 医疗器械经销商管理
评论
0/150
提交评论