eda课程设计(数字频率计)_第1页
eda课程设计(数字频率计)_第2页
eda课程设计(数字频率计)_第3页
eda课程设计(数字频率计)_第4页
eda课程设计(数字频率计)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

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

文档简介

1、设 计 报 告课程名称 在系统编程技术 任课教师 康 石 生 设计题目 基于VHDL数字频率计的设计班级 07电子2班 姓名 学号 0705076009 日期 2010/5/29 摘要 数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂, 而且会产生比较大的延时, 造成测量误差、可靠性差。随着可编程ASIC的广泛应用, 以EDA 工具作为开发手段, 基于VHDL 语言, 将使整个系统大大简化,提高整体的性能和可靠性本文介绍一种基于VHDL的采用自顶而下(up to bottom ) 设计方法实现的数字频率计。该设计方法与传统的设计方法相比, 具有外围电路简单, 程

2、序修改灵活和调试容易等特点。特别是在设计的初期阶段可以通过软件仿真来预知设计方案的可行性, 便于及时的调整设方案, 避免了传统方法中到项目开发的后期发现方案不妥, 从而造成人力、物力的浪费。同时,在本设计中用到的CPLD 器件运行稳定可靠, 可反复擦写, 便于系统的维护与更新。关键字 数字频率计;VHDL;FPGA;波形仿真一、 引言 相比传统的电路系统的设计方法,EDA 技术采用硬件描述语言描述电路系统,包括电路的结构、行为方式、逻辑功能及接口。VHDL 具有多层次描述系统硬件功能的能力,支持自顶向下和基于库的设计特点。设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和

3、结构设计, 在方框图一级用VHDL 对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD 器件中去,从而实现可编程的ASIC 的设计。本文运用现代电子设计工具,采用VHDL 语言在CPLD 器件上实现一种8位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。二 数字频率计的设计原理2.1 频率计的组成部分数字频率计的原理框图如图1所示。它主要由5个模块组成:脉冲发生器电路、测频控制信号发生

4、器电路、计数模块电路、锁存器和译码驱动电路。当系统正常工作时,脉冲发生器提供标准1Hz 的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号。测量信号时,将被测信号通过信号整形电路,产生同频率的矩形波,送入计数模块。计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。 图一 数字频率计原理框图2.2频率计工作原理数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。所谓频率, 就是周期性信号在单位时间(1s) 里变化的次数

5、。若在一定时间间隔T 内测得的这个周期性信号的重复变化次数N , 则其频率可表示为f = N/ T 。频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。测频的基本原理要求testcti 的计数使能信号tsten 能产生一个1s 脉宽的周期信号, 并对频率计的每一个计数器cnt 的使能端进行同步控制。当tsten 为高电平时允许计数, 为低电平时停止计数, 并保持其所计脉冲个数。在停止计数期间, 首先需要一个锁存信号load 的上跳沿将计数器在前1s 的计数值锁存进reg32b 中, 并由外部的7 段译码器译出, 并稳定显示。锁存信号之后, 必须有一个清零信号对计数器进行清零, 为下1s 的技

6、操作做准备。测频控制信号发生器的工作时序图如图2 所示。其中控制信号频率始终为1Hz , 那么信号tsten 的脉宽正好为1s ,可以用作技术闸门信号。然后根据测频的时序要求, 可得出信号load 和清零信号clr _ cnt 的逻辑描述。计数完成后, 利用计数使能信号反向值的上跳沿产生一个锁存信号load。0.5s 后, clr _ cnt 产生一个清零信号上跳沿。计数器cnt 的特殊之处是, 有一时钟使能输入端ena , 用于锁存计数值。当高电平时计数允许, 低电平时计数禁止。锁存器的设计要求: 若已有24位BCD码存于此模块的输入口, 在信号load 的上跳沿后即被锁存到寄存器reg32

7、b内部, 并reg32b 的输出端输出, 然后有实验箱上7 段译码器译成能在数码管上显示输出的相应数值。图二 测频控制信号发生器的时序图三 频率计总体框图数字频率计的顶层电路图及时序分析采用VHDL语言设计一个复杂电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。根据数字频率计的系统原理框图,设计系统的顶层电路图如图三所示。图三 数字频率计的顶层电路图总图中包含有5 个模块: 计数模块cnt , 测频控制信号模块testcti , 锁存器模块reg

8、32b , 显示模块deled , 控制显示模块teltime。本次设计将8个十进制计数器CNT级联起来实现8位十进制计数功能。四 数字频率计的部分模块分析及实现4.1 基准脉冲信号产生模块基准脉冲信号直接采用试验箱上的CLOCK2选择1HZ频率即可,不必另外设计脉冲信号模块。4.2 控制电路模块测频时,将基准脉冲信号送入控制电路输入端CLKK,测周时,将整形后的被测脉冲信号送输入端,输出端包括一个计数使能输出端CNT_EN,一个清零信号输出端RST 和一个数据锁存输出端LOAD. 使能信号CNT_EN对频率计中8个十进制计数器的使能端进行同步控制,当CNT_EN为高电平时允许计数,低电平时停

9、止计数. 停止计数后,锁存信号LOAD 输出上升沿将计数值锁存到锁存器中。清零信号RST控制计数器模块的复位. 4.3 计数器模块该模块主要由8个4位十进制计数器级联而成. 具有复位和使能控制功能.计数模块的部分VHDL语言程序如下:BEGINIF RST = 1 THEN CQ I: = (OTHERS = 0) ;- - 计数器复位ELSIF CLKEVENT AND CLK = 1THENIF EN = 1THENIF CQ I 0) ; - - 否则计数值清零END IF;END IF;END IF;IF CQ I = 9 THEN COUT = 1; - - 计数值等于9时,进位信号

10、置1ELSE COUT = 0;END IF;CQ =CQ I;ND PROCESS;END behav;图五 十进制计数器4.4锁存器模块锁存器模块主要由8个锁存器组成,主要作用是锁存计数器的计数值. 设置锁存器可以使数据显示稳定可靠,不会由于周期性的清零信号而使数码管不断闪烁. 锁存信号由控制电路产生,在1个周期的计数时间结束时,锁存器立即锁存计数值.4.5数码显示模块主要由8个显示模块组成. 主要功能是在使能信号控制下, 将锁存器保存的4位二进制计数值转换成相应的数码管显示代码,显示模块输出端与8个7段共阴极数码管相连,可以在数码管上显示所测频率的十进制输出值.五 软件设计过程图六 设计

11、流程图六 VHDL程序设计数字频率计的VHDL 程序部分源代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity F_count isport(start: in std_logic;clk: in std_logic;-系统工作时钟信号clk1:in std_logic;-被测信号yy1: out std_logic_vector(7 downto 0);-七段码w1: out std_logic_vector(3 downto 0);- 数码管的位选信号end F_count;

12、architecture behav of F_count issignal b1,b2,b3,b4,b5,b6,b7:std_logic_vector(3downto 0);- 十进制计数器signal bcd:std_logic_vector(3 downto 0);signal sco:integer range 0 to 49999999;- 秒分频系数signal ssco:integer range 0 to 49999999;- 动态扫描分频系数signal en,bclk:std_logic;- 使能信号,有效被测信号signal sss:std_logic_vector(3

13、downto 0);- 小数点signal bcd0,bcd1,bcd2,bcd3:std_logic_vector(3downto 0);- 四位数码管所需的BCD 码beginsecond:process(clk)- 此进程产生一个时间Tw 为1 秒的闸门信号beginif start=1 then sco=0;elsif clkevent and clk=1 thenif sco49999999 then sco=sco+1;else sco=49999999;八 系统的功能仿真图七为频率计仿真结果, 其中clk 为1Hz 标准时钟信号, flyin 为待测信号, 可以为任意值。现设定的

14、待测频率为50Hz , 仿真结果也为50Hz , 仿真结果正确, 说明该频率计设计方案正确。 图七 数字频率计的仿真波形图 从仿真波形上看测量的结果是准确的。还可以进一步修改测试向量文件,进行波形仿真。最后还可以通过编程电缆,将所设计的内容下载到CPLD 器件中,进行实物仿真。九 结束语本文给出了利用VHDL设计数字频率计的方法. 比较与用芯片搭电路进行硬件实现来说是一种新的尝试,通过仿真调试到下载试验, 结果都能清楚明了地显示出来, 相当的快捷和方便, 不同模块之间相互独立, 底层模块的修改不会影响其他模块的工作, 采用这种设计方法设计结构清晰, 层次清楚, 便于对设计进行修改。随着EDA技术的发展, CPLD /FAGA 芯片的广泛应用,VHDL极大地显示了硬件描述语言的魅力. 数字电路系统的设计

温馨提示

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

评论

0/150

提交评论