1、南京信息职业技术学院毕业设计论文作者 学号 系部 电子信息学院 专业 无线电技术 题目 数字频率计测频系统的设计 指导教师 评阅教师 完成时间: 2014年 3 月 30 日 毕业设计(论文)中文摘要(题目):数字频率计测频系统的设计摘要:100Hz频率计数器主要功能是在一定时间内对频率的计算,本篇论文主要介绍了频率计数器的实现:系统以MAX+PULSLL II为开发环境,通过VHDL语言作为硬件描述语言实现对电路结构的描述。在VHDL语言中采用了一系列的语句,例如:元件例化、if 语句、case、when语句等。并对程序中的输入输出端口进行了解释,给出实现代码和仿真波形。关键词: 100Hz
2、 频率计;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 s
3、ystem 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 stat
4、ement. 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 计数
5、模块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 In
6、stitute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。数字频率计是
7、数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。 本文用VHDL在CPLD器件上实现一种2b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。1 数字频率计测频系统设计概述1.1 设计要求 获得稳定100Hz频率 用数码管的显示 用VHDL写出设计整个程序1.2 设计意义
8、 进一步学习VHDL硬件描述语言的编程方法和步骤。 运用VHDL硬件描述语言实现对电子元器件的功能控制。 熟悉并掌握元件例化语句的使用方法 。 熟悉数字式频率的基本工作原理。 熟悉数字频率计中计数显示设计。 熟悉掌握MAX+PLUS软件的基本使用方法。2 电路数字频率计测频系统设计方案众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。闸门时间可以根据需要取值,大于或小于1s都可以。闸门时间越长,得
9、到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1s作为闸门时间。数字频率计的关键组成部分包括测频控制信号发生器、计数器、锁存器、译码驱动电路和显示电路,其原理框图如图2-1所示。图2-1 数字频率计原理框图在这个100赫兹频率计的设计中一共分为3大模块:产生子模块、计数模块、显示模块。当系统正常工作时,脉冲发生器提供的1 Hz的输入信号,进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显
10、示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果产生子模块是为此100赫兹频率计提供1Hz的时钟脉冲信号,为了实现严格的同步,在这个模块中采用了同步计数电路。计数模块是实现从0到99的计数。显示模块是将计数模块程序中产生的数值通过2个七段数码管表达出来,使大家对此频率计有一个更直观的认识。此100赫兹频率计的设计中,这3个大的模块是核心部分,这个3个大的模块会在后面的分析设计中给出详细的介绍。频率计的工作原理是通过在一定时间内对外部信号进行计数,计算计数值对时间的比值,从而得到输入信号的频率,通过二个数码管作为频率值的输
11、出。对系统进行分析后,确定采用模块设计,基本框架图如图2-2所示。图2-2 频率计设计基本框架图2.1 产生子模块2.1.1 分频模块分频模块的功能是将输入的外部信号clk进行分频,分频成计数器所需要的计数信号, 使计数器在计数信号有效的时间对外部信号进行计数。根据频率计测量的范围,确定了分频至1Hz,从而得到频率值。555定时器(如图2-3)是一种模拟电路与数字电路相结合的中规模集成电路,它在信号产生、整形、延时(定时)、控制等方面获得了广泛的应用。虽说555定时器应用领域十分广泛,但其电路结构归纳起来有三种基本形式,即多谐振荡器、单稳态触发器、施密特触发器。图2-3 555定时器电路由于双
12、极型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 ISPOR
13、T(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_
14、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个十进制计数器表示。频率计的计数模块主要来实现频率计数器内部的计数
15、功能,计数器的内部计数信号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:I
16、N 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;e
17、nd process;coutsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegmentsegment=XXXXXXX;END CASE;END PROCESS;END rt1;2.3.2 八进制计数器我们来描述下三个子电路,然后再描述显示模块的总体功能。先来讨论下八进制计数器count8,这个八进制计数器除了没有使能端enable和进位输出端口cout之外,它的描述结构与前面描述的计数器的结构完全相同,用VHDL描述如下:八进制计数器模块设计程序如下:LIBRARY IEEE;USE IEEE.STD_LOGI
18、C_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
19、_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
20、_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);
21、 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_VE
22、CTOR(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 电路数字频率
23、计测频系统顶层文件前一章是整个设计的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
24、 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_VE
25、CTOR(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_L
26、OGIC_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 系统
27、缺点首先本设计的频率计的测量范围不大,在1HZ10HZ之间,面目前的高端频率计最小可以测量到0.001HZ,最大可以到几G,甚至可以达到更高。本设计的电路是比较传统的电路,没有采用先进的高端芯片,使测量的范围和精度都受到很大的限制,对测量范围以外的频率有较低测量精度 ,甚至无法测量。而且输入电压也有一定的限制。4.2 改进方法本设计的频率在低频段不够精确,如采用等精度测量,经浮点数的数学运算,可满足精度与刷新时间的要求。在整形阶段可以更好的波形整形电路,可以更好的提高输入电压的输入范围,而不需要其它匹配与保护电路,可以直接测量较高的电压。分频环节也可以用较先进的FPGA芯片,更好的提高分频的范
28、围和分频的质量。致谢在论文完成之际,我由衷地感谢崔老师的指导和关心。这一年来,崔老师对我的学习和研究非常严格,并给予了悉心的指导,使我受益菲浅。对我的学习提出了很多宝贵的意见,使我的学习有了目标和方向,并得以不断提高,而且这些课题的研究成果也成为了本论文的主要素材。同时,崔老师渊博的学识、严谨的治学态度也令我十分敬佩,是我以后学习和工作的榜样。再次感谢崔老师对我的关心和照顾, 在此表示最诚挚的谢意。参考文献1 辛春艳.VHDL硬件描述语言.国防工业出版社2 欧阳星明.数字逻辑.华中科技大学出版社3 齐洪喜,陆颖.VHDL电路设计实用教材.清华大学出版社4 谭会生,瞿遂春.EDA技术综合应用实例
29、与分析.西安电子科技大学出版社5 谭会生,张昌凡.EDA技术应用.西安电子科技大学出版社6 冯涛,王程.可编程逻辑器件开发技术-Maxplus2入门与提高.人民邮电出版社7 卢毅,赖杰.VHDL与数字电路设计.科学出版社附表 元件清单HKVI系统结构图信号名与芯片引脚对照表硬件资源EPM1K30引脚序号元件引脚电路使用说明LED数码显示A144该部分电路为固定电路。使用LED数码显示时请按照器件引脚分配后再下载到芯片中。B8C9D10E12F13G17DP74LS138S1101S2102S3117频率源CLK155使用时将相应短跳针短路即可。CLK256CLK3119CLK424CLK512
30、5开关1SW132该部分电路为可选用电路,使用时请把JP103的短路帽全部插上,然后再按照器件引脚分配表进行引脚分配。SW233SW336SW437SW538SW641SW743SW845管脚分配: clk(119) enable(32) sel0:(101) sel1(102) sel2(117) segment0(114) segment1(8) segment2(9) segment3(10) segment4(12) segment5(13) segment6(17)目 录第一章 项目的意义和必要性11.1 项目名称及承办单位11.2 项目编制的依据11.3 肺宁系列产品的国内外现状2
31、1.4产业关联度分析31.5项目的市场分析4第二章 项目前期的技术基础82.1成果来源及知识产权情况,已完成的研发工作82.3产品临床试验的安全性和有效性8第三章 建设方案233.1建设规模233.2 建设内容233.3产品工艺技术233.5产品质量标准293.6 土建工程373.7 主要技术经济指标39第四章 建设内容、地点414.1 建设内容及建设规模414.2 建设地点414.3外部配套情况44第五章 环境保护、消防、节能465.1 环境保护465.2消防495.3节能50第六章 原材料供应及外部配套条件落实情况526.1主要原辅材料、燃料、动力消耗指标526.2 公用工程54第七章 建
32、设工期和进度安排567.1建设工期和进度安排567.2建设期管理56第八章 项目承担单位或项目法人所有制性质及概况578.1 项目承担单位概况578.2 企业财务经济状况588.3 项目负责人基本情况59第九章 投资估算与资金筹措629.1 项目计算期629.2 投资估算的编制依据及参数629.3 投资估算629.4 资金筹措649.5 贷款偿还64第十章 财务评价6510.1财务评价依据6510.2销售收入和销售税金及附加估算6510.3利润总额及分配6610.4盈利能力分析6610.5不确定分析6610.6财务评价结论68第十一章 项目风险分析,效益分析6911.1 风险分析6911.2 效