频率计系统vhdl语言设计方案.docx_第1页
频率计系统vhdl语言设计方案.docx_第2页
频率计系统vhdl语言设计方案.docx_第3页
频率计系统vhdl语言设计方案.docx_第4页
频率计系统vhdl语言设计方案.docx_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南机电高等专科学校职业技能培训结课大作业频率计系统设计姓名:专业班级:学号:任课教师:时间:成绩:1/21频率计系统设计医电 08 级 1 班孙鹏任课老师:石新峰摘要:随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行缓慢,而且测量频率的范围比较小。考虑到上述问题,本论文设计一个基于单片机技术的数字频率计。首先,我们把待测信号经过放大整形;然后把信号送入单片机的定时计数器里进行计数,获得频率值;最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的数字频率计的设

2、计方案,选择了实现系统得各种电路元器件,并对硬件电路进行了仿真。关键词:单片机,频率计,测量2/21目录1. 概述 32. 设计要求 33. 总体构思 44. 各单元电路的设计和实现 55. 功能仿真及其结果 76. 编译下载及调试 87. 总结与展望 17参考文献 183/211. 概述随着电子信息产业的发展,信号作为其最基础的元素,其频率的测量在科技研究和实际应用中的作用日益重要,而且需要测频的范围也越来越宽。传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量范围低,精度低。因此,随着对频率测量的要求的提高,传统的测频的方法在实际应用中已不能

3、满足要求。因此我们需要寻找一种新的测频的方法。随着单片机技术的发展和成熟,用单片机来做为一个电路系统的控制电路逐渐显示出其无与伦比的优越性。因此本论文采用单片机来做为电路的控制系统,设计一个能测量高频率的数字频率计。用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。2. 设计要求测频方法主要有以下几种:脉冲数定时测频法(M 法、脉冲周期测频法 (T法 、脉冲数倍频测频法 (AM 法、脉冲数分频测频法 (AT 法、脉冲平均周期测频法 (M/T 法、多周期同步测频法。下面是几种方案的具体方法介绍。脉冲数定时测频法 (M 法 :此法是记录在确定时间 Tc 内待测信号的脉冲

4、个数 Mx ,则待测频率为:Fx=Mx/Tc脉冲周期测频法 (T 法:此法是在待测信号的一个周期Tx 内,记录标准频率信号变化次数Mo 。这种方法测出的频率是:Fx=Mo/Tx脉冲数倍频测频法 (AM 法:此法是为克服M 法在低频测量时精度不高的缺陷发展起来的。通过A 倍频,把待测信号频率放大A 倍,以提高测量精度。其待测频率为:Fx=Mx/ATo脉冲数分频测频法 (AT 法 :此法是为了提高T 法高频测量时的精度形成的。由于 T 法测量时要求待测信号的周期不能太短,所以可通过A 分频使待测信号的周期扩大A 倍,所测频率为:Fx=AMo/Tx脉冲平均周期测频法 (M/T 法:此法是在闸门时间T

5、c 内,同时用两个计数4/21器分别记录待测信号的脉冲数Mx 和标准信号的脉冲数Mo 。若标准信号的频率为 Fo,则待测信号频率为:Fx=FoMx/Mo根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案都能实现频率的测量。但是本次设计的是一个用单片机做为电路控制系统的数字式频率计,采用脉冲定时测频法,则在低频率的测量时误差会大一些。本次设计由于个人水平有限,因此,本次设计根据需要,采用脉冲定时测频法。3.总体构思为了得到一个高性能的数字频率计,本次设计采用单片机来做为数字频率计的核心控制电路,辅之于少数的外部控制电路。因此本此设计的系统包括信号放大整形电路、分频电路、单片机AT

6、89C51 和显示电路等。本系统让被测信号经过放大整形后,进入单片机开始计数, 利用单片机内部定时计数器定时,在把所记得的数经过相关处理后送到显示电路中显示。其系统框图如图3.1所示。图 3-1 系统框图由上面的内容可看到,本次设计的基于单片机的数字式频率计包括波形整形电路、分频电路、多路数据选择器、单片机和显示电路等几个模块。所以本次设计的数字式频率计的电路由以下几块构成:由施密特触发器构成的波形整形放大电路、由 74LS90构成的分频电路、由 74LS153四选一电路构成的四选一电路、 AT89C51 单片机以及由 74LS138 译码电路、三极管上拉电路和八段数码显示电路构成的数码显示电

7、路构。5/214. 各单元电路的设计和实现4.1 信号放大整形电路因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。该部分由 LM358 和一级高频信号放大电路以及由 74LS00 连接成的施密特触发器组成。其电路如下图所示。图 4-1 电路图4.2 分频电路本次设计采用的是脉冲定时测频法,由于考虑到单片机的定时计数器得计数能力有限,无法对过高频进行测量,所以我们对待测信号进行了分频,这样能提高测量频率的范围,还能相应的提高频率测量的精度。所以我们需要把待测信号进行分频。

8、在本次设计中,因为我们要进行的是十分频、一百分频,所以我们选用74LS90 电路,经过正确的连接后就可以进行十分频,进行二次十分频就可以得到分频一百次的信号。信号经过分频电路74LS90,其频率将减小到原信号的十分之一和百分之一。其组成电路如下图所示。6/21图 4-2 组成电路4.3 四选一电路本次设计需要用到一个四选一电路,用来选择输入单片机进行计数的待测信号。数据选择器有多个输入,一个输出。其功能类似于单刀多掷开关,故又称为多路开关 (MUX 。在控制端的作用下可从多路并行数据中选择一路送输出端。74LS153 是双四选一数据选择器,其中有两个四选一数据选择器,它们各有四个数据输入端:

9、1C3、1C2、1C1、1C0 和 2C3、2C2、2C1、2C0。一个输出端 1Y 、2Y 和一个控制许可端G。系统控制端 G 为低电平有效。当控制许可端 G=1 时,传输通道被封锁 ,芯片被禁止, Y=0 ,输入的数据不能传送出去;当控制许可端 G=0 时,传输通道打开,芯片被选中,处于工作状态,输入的数据被传送出去 A 、 B 是地址选择端,两路选择器共用 。4.451 单片机部分单片机作为控制系统和计数器,是本次设计的最重要的部分,AT89C51 是一种带4K 字节闪烁可编程可擦除只读存储器。END ENTITY MUX41A。ARCHITECTURE ONE OF MUX41A IS

10、BEGINY 。END ENTITY DECODER38A。ARCHITECTURE ONE OF DECODER38A ISBEGINY 。end dff1。architecture bhv of dff1 isbeginprocess(clk,clr,setbeginif set=1 then q=1。elsif clkevent and clk =1thenif clr=0 then q=0。else q。Clock, Reset,Clear : in std_logic。Q, Qbar : out std_logic。end entity JK。architecture sig of

11、JK issignal state : std_logic。beginp0: process (Clock, Reset, Clear isbeginif Clear = 1 then state = 0。elsif Clockevent and clock =1thenif Reset=0 then state state state state null。end case。end if。end if。end process p0。Q = state。Qbar 。END RS_clk。ARCHITECTURE behav OF RS_clk ISsignal sel1,sel2: std_l

12、ogic。BEGINprocess(res,sel1,sel2beginif res=0 then sel1=0。sel2 then sel1=1。sel2 then sel1=0。sel2 then sel1=sel1。sel2=sel2。end if。Q=sel1 。NOT_QDOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0。END ENTITY DISPLY_DECODER。ARCHITECTURE ONE OF DISPLY_DECODER ISBEGINDOUT COUT:OUT STD_LOGIC。END CNT10。ARCHITECTURE BEHAV O

13、F CNT10 ISBEGINPROCESS (CLK,EN,RST,SETVARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO。0BEGINIF RST=0 THEN CQI:=(OTHERS=0。ELSIF CLKEVENT AND CLK=1 THENIF EN=1 and set=0 THENIF CQI0。END IF 。END IF 。END IF 。if cqi=9 then cout=1。else cout=0。END IF 。CQ=CQI。END PROCESS。16/21END BEHAV。end process 。q。end cdu_76 。arc

14、hitecture aa of cdu_76 issignal cout2,cout1:std_logic_vector(3 downto 0。beginprocess(clkbeginif (clkevent and clk=1 thenif(cout2=7 and cout1=5 then cout2=0000。 cout1 then cout2=cout2+1。 cout1=0000 。else cout2=cout2。 cout1=cout1+1 。end if。end if。end if。end process 。q 。QB:OUT STD_LOGIC 。END SHFRT。ARCH

15、ITECTURE behav OF SHFRT ISBEGINPROCESS(CLK,LOADVARIABLE REG7:STD_LOGIC_VECTOR(6 DOWNTO。0BEGINIF CLKEVENT AND CLK=1 THENIF LOAD=1 THEN REG7:=DIN 。ELSE REG7(6 DOWNTO 1:=REG7(5 DOWNTO。0REG7(0:=1 。END IF 。END IF 。QB。END PROCESS。END behav。8 位左移移位寄存器LIBRARY IEEE。19/21USE IEEE.STD_LOGIC_1164.ALL。ENTITY SHF

16、RT ISPORT(CLK,LOAD:IN STD_LOGIC。DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0 。QB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0。END SHFRT。ARCHITECTURE BEHAV OF SHFRT ISBEGINPROCESS(CLK,LOADVARIABLE REG8:STD_LOGIC_VECTOR(7 DOWNTO。0BEGINIF CLKEVENT AND CLK=0 THENIF LOAD=1 THEN REG8:=DIN 。ELSE REG8(7 DOWNTO 1:=REG8( 6 DOWNTO 。

17、0REG8(0:=1 。END IF 。END IF 。QB=REG8。END PROCESS。END BEHAV。7. 总结与展望本次设计的过程和结果都给了我很多感触。在设计的过程中,我一方面澄清了先前的一些错误理解,另一方面也真正的体会到了书本知识转化为实践时的困难,往往很不起眼的一件事情,就是设计的关键,必须得搞清楚。为了查找相关的技术文献资料,我们上网,去学校图书馆查找资料,虽然辛苦一点,但是令人欣慰的是学到了书本上学不到的东西,并且掌握了设计的一般方法。通过本次设计,对电路的设计和研究有了更深刻的体会;让我了解到软件的设计是建立在对硬件了解的基础上的,特别是对单片机的功能,引脚定义和内部结构要有较为详细的了解,此外对电路板中所用到的各个芯片的引脚和功20/21能,也要进行了解;在编写程序时,进行模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论