使用VHDL语言进行的100MHZ数字频率计的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《电气工程及其自动化EDA课程设计》
课程设计报告
\
题目:数字频率计的设计
院(系):机电与自动化学院
专业班级:电气工程及其自动化
学生姓名: XXX
学号: 2011XXXXXXX
指导教师: XXX 】
2014年1月6日至2014年1月10日
#
华中科技大学武昌分校
《电气工程及其自动化EDA课程设计》设计任务书
(
目录
摘要 (1)
一.课程设计要求及内容 (1)
主要技术指标 (1)
工作内容及要求 (1)
二数字频率计的基本原理 (1)
数字频率计的组成 (1)
:
数字频率器的原理 (2)
三具体电路模块设计 (2)
100MHz分频器 CLK_GEN的设计 (2)
带时钟使能的十进制计数器CNT10的设计 (3)
32位锁存器REG32B的设计 (5)
测频控制信号发生器TESTCTL的设计 (6)
动态输入编译译码器HC4511的设计 (7)
四数字频率计系统模块的设计 (9)
>
系统模块程序设计及仿真波形 (9)
数字频率计系统顶层设计 (10)
五心得体会 (13)
课程设计成绩评定表 (14)
(
摘要
数字频率计是一种用十进制数字显示被测信号频率的一种数字测量仪器,其功能是测量正弦信号,方波信号,尖脉冲信号以及其他各种单位时间内变化的物理量,因此已经成为电路设计的常用元器件之一,有它不可替代的地位。在电子技术中,频率与许多电参量的设计测量方案,测量结果都有着十分紧密的关系,因此频率的测量就显得更为重要。测量频率的方法有很多种,其中数字计数器测量频率具有精度高,使用方便,测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。其原理为通过测量一定闸门时间内信号的脉冲个数。本文阐述了利用VHDL语言在CPLD器件的基础上设计一个简单的数字频率计的过程。采用VHDL编程技术设计实现的数字频率计,除被测信号的整形部分,键输入部分和数码显示部分以外,其余全部在一片集成电子芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。
关键词:数字频率计,测量,VHDL语言,设计
一.课程设计要求及内容
主要技术指标
】
(1)可测量范围从1Hz到Hz;
(2)8位频率计输入端分别为:系统基准时钟100MHZ(CLK)、被测信号输入(Fx);及输出端为(DOUT),皆采用BCD码计数方式;
(3)将被测信号的频率直接送到8个LED显示。
工作内容及要求
(1)根据任务的要求进行方案构思,初选方案,绘制系统原理框图并与指导
教师讨论,方案定稿。
(2)根据选定的方案,在QuartusII软件中,编写各个模块VHDL源程序;
并上机调试通过,记录系统各个模块仿真结果;
(3)对各个模块进行综合仿真,调试,实现数字频率计的基本功能和硬件实
现;
(4)记录仿真结果中出现的问题及解决办法。
》
二数字频率计的基本原理
数字频率计的组成
本课程设计设计的数字频率计正常工作时,可测量0Hz-100MHz的频率。设
(1)
计系统是有五部分组成:一个100MHz分1Hz的分频器CLK_GEN,一个测频控制信号发生器TESTCTL,带时钟使能的十进制计数器CNT10(设计中需要八个),一个32位锁存器REG32B,以及动态输入译码器HC4511电路设计(设计中需要八个)。
数字频率器的原理
数字频率计的基本原理是用一个频率稳定度高的频率源作为基准信号,对比测量出其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为一秒。闸门时间可以根据取值大于或小于1秒都可以。闸门时间越长,则每测一次频率的间隔就越长,闸门时间越短,测得的频率值刷新就越快,单侧的的频率精度就越受影响。一般取1秒作为闸门时间。其原理框图如下:
。
设计的数字频率计工作过程如下:被测信号接入频率计的输入端FSIN,下载板上100M时钟通过频率计的分频器模块中CLK端口输入,经过分频器的分频,变成1Hz的工作频率提供给测频器。当被测频率和工作频率进入测频器模块时,测频器TESTCTL工作进行测频,TESTCTL的计数使能信号CLR_CNT产生一个1秒脉宽的周期信号,并对频率集中的十进制计数器CNT10的ENT使能端进行同步控制。当ENT高电平时允许计数,低电平时停止计数,并保持其所记得脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上升沿将计数器所计的值锁存进
32位锁存器REG32B中,数字频率计的源程序综合以上模块并且通过对硬件的链接,实现8个数码管显示出计数值。
三具体电路模块设计
100MHz分频器 CLK_GEN的设计
100MHz工作时钟接入分频器,用一个计数器进行计数,计满二分之一100M 个,CLK信号取反一次,分频后频率变为1Hz,周期由1/0秒变大为1秒,满足数字频率计时序工作频率的要求。
分频器程序设计如下:
--------------------------------------------------------------------- 100MHz分频器:
---------------------------------------------------------------------:
library ieee;
use clk_gen is
port(clk: in std_logic;
newclk: out std_logic);
end entity clk_gen;
(2)
architecture art of clk_gen is
signal clk2:std_logic;
【
begin
process(clk) is
variable cnter: integer range 0 to ;
begin
if clk'event and clk='1' then
if cnter= then cnter:=0;
else cnter:=cnter+1;
end if;
~
if cnter< then clk2<='1';
else clk2<='0';end if;
end if;
end process;
newclk<=not clk2;
end architecture art;
分频器编译仿真波形如下: