课程设计6位数字频率计.docx
《课程设计6位数字频率计.docx》由会员分享,可在线阅读,更多相关《课程设计6位数字频率计.docx(13页珍藏版)》请在冰豆网上搜索。
课程设计6位数字频率计
数字电子技术课程设计报告
题目:
6位数字频率计
学年:
2009-2010学期:
2
专业电子信息工程班级:
学号:
姓名:
指导教师:
时间:
2010年3月8日~2010年3月11日
浙江万里学院电子信息学院
浙江万里学院电子信息学院课程设计报告
一、设计任务书
二、设计框图及整体概述
三、各单元电路的设计方案及原理说明
四、结果分析
五、体会和总结
附录一、电路设计总图
附录二、50MHz变成2Hz的模块VHDL语言源程序
附录三、FPGA实验开发板EP2C5T144C8芯片管脚锁定表
第页
一、设计任务书
设计一个6位数字频率计,测量范围为000000~999999;
应用QuartusII_7.2以自底向上层次化设计的方式设计电路原理图;
应用FPGA实验开发板下载设计文件,实现电路的功能。
二、设计框图及整体概述
1.设计框图
2、主要芯片及作用
T触发器:
将2HZ的频率翻转成1HZ。
74192:
1个74HC192能实现0~9的计数功能,6个74HC192可以连成0~999999的计数。
74374:
是8位的锁存器,可以选用3个来设计24位的锁存器。
74374将计数器输出的测量数据暂时储存起来,并提供给数码管显示。
7448:
是BCD—7段译码器,用来显示测量结果。
3、设计原理说明
数字频率计是专门用于测量交流信号周期变化速度的一种仪器,频率的定义是每秒时间内交流信号(电压或电流)发生周期性变化的次数。
因此频率计的任务就是要在1秒钟时间内数出交流信号从低电平到高电平变化的次数,并将测得的数据通过数码管显示出来。
50MHz时钟信号通过模块VHDL语言源程序变成2Hz的时钟信号,通过T触发器将2HZ翻转成1HZ,1HZ经过分频产生3个电平信号,1秒脉宽的高电平提供给计数器工作;1秒脉宽的高电平提供给锁存器工作;0.5秒脉宽的高电平用于计数器清零。
有了这三个电平信号,就可以用6片74192工作来计数000000~999999,74374用来锁存计数器输出的测量数据,再用7448译码器来显示出来。
三、各单元电路的设计方案及原理说明
1.时钟分频模块
时钟分频原理图
原理:
50MHz时钟信号通过模块VHDL语言源程序变成2Hz的时钟信号。
将T触发器的T端接高电平,T触发器则转化为T’触发器,2HZ的脉冲通过它变为1HZ。
2.时序产生模块
时序产生原理图
原理:
脉冲通过T’触发器再次翻转后又变为0.5HZ,EN就是触发器Q输出的脉冲,得到1秒脉宽的高电平,提供给计数模块工作;CLK是触发器Q输出的脉冲经过非门之后的脉冲,也得到1秒脉宽的高电平,提供给锁存模块工作;CLR是经过非门之后的脉冲和1HZ的脉冲经过非门之后再经过与门之后输出的脉冲,所以当输入的1HZ脉冲为低电平和CLK的脉冲为高电平时为高电平,得到0.5秒脉宽的高电平,用于计数器清零。
1Hz的时钟经过分频产生以下3个电平信号:
1秒脉宽的高电平,提供给计数模块工作;1秒脉宽的高电平,提供给锁存模块工作;0.5秒脉宽的高电平,用于计数器清零。
3.6位十进制计数模块
6位十进制计数原理图
原理:
将74192的UP端接脉冲(该脉冲由EN和外来脉冲CLK通过与门得到,当EN和CLK脉冲都为高电平时得到),DN端接高电平为加法器,将CON端接下一个74192的UP端,进行进位。
1个74HC192能实现0~9的计数功能,取6个74HC192可以连成0~999999的计数。
工作时,当外来脉冲停止或EN为0,CLK为1,CLR为1,计数器停止计数,同时CLR工作,数据清零。
4.24位数据锁存模块
24位数据锁存原理图
原理:
74374是三态反相八D锁存器,有一个被测信号输入端CLK,OEN是输入使能端,低电平有效,所以要接地。
由于要锁存24位,则要用3片74374锁存器,就是将6片74192输出的测量数据都锁存起来,则将74374的八个输入端分成2组。
当CLK为高电平时锁存器工作,将数据锁定,将计数器输出的测量数据暂存起来,并提供给数码管显示。
5.数码管译码模块
数码管译码原理图
原理:
7448是共阴数码管,高电平驱动。
LTN是测试灯。
RBIN,BIN是消影,低电平有效所以都接高电平。
频率器是要用6个共阴数码管来显示的,但开发的FPGA实验板上有4个数码管已经配置好CD4511译码器,剩下的两个是7位二进制直接驱动的,因此只需要将锁存器输出的4位二进制数进行译码,就选用了2个7448译码器,
四、结果分析
各个模块分别编译成功后,新建一个文件夹,将各模块有用的文件加入新建的文件夹中。
然后重新建立工程,画出电路设计总图,编译成功后,将原理图中各个引脚与FPGA实验开发板EP2C5T144C8芯片管脚锁定表中相符编写好,再编译一次成功后下载到实验开发板进行测试。
测试时选择不同的频率,使数码管从0~999999显示。
如果数码管显示位置与显示器位置不同,则问题可能是各模块之间连接出错,或芯片管教编错。
若显示器显示都为零,则可能是时钟分频模块或时序模块出错,或是某处引脚没编号。
五、体会和总结
一周的数电课程设计课,让我学会了很多,使我更加了解了QuartusII_7.2软件的功能及使用方法,同时也加深了自己对数电专业知识方面的认识。
刚开始上课时,老师跟我们说了这门课的要求是设计一个6位数字频率计,我听了以后觉得很难,感觉无从下手。
后来照着老师的要求,先画一个设计草图,考虑好用那些芯片,再分别用QuartusII_7.2软件以自底向上层次化设计的方式设计电路的每个模块,各模块编译仿真成功后,再把每个模块连接起来,画出电路总原理图。
在老师的带领下,我经过反复的练习,终于把6位数字频率计设计好了。
通过这一周的学习,我认识到要设计一种东西,不仅需要掌握一定的知识,耐心和细心也是必不可少的。
这次课程设计,同时也加强了我们动手、思考和解决问题的能力。
附录一:
电路设计总图
附录二、50MHz变成2Hz的模块VHDL语言源程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entityclk50Mto2Hzis
port(clk50M:
instd_logic;clk2Hz:
outstd_logic);
endclk50Mto2Hz;
architectureaaofclk50Mto2Hzis
signalcount_5000:
integerrange0to4999;
signalcount:
integerrange0to2500;
signalclk_10Khz,clk_2Hz:
std_logic;
begin
process(clk50M)
begin
ifclk50M'eventandclk50M='1'then
ifcount_5000=4999then
count_5000<=0;
clk_10Khz<='0';
else
count_5000<=count_5000+1;
clk_10Khz<='1';
endif;
endif;
endprocess;
process(clk_10Khz)
begin
ifclk_10Khz'eventandclk_10Khz='1'then
ifcount=2499then
count<=0;
clk_2Hz<=notclk_2Hz;
else
count<=count+1;
endif;
endif;
endprocess;
clk2Hz<=clk_2Hz;
endaa;
附录三、FPGA实验开发板EP2C5T144C8芯片管脚锁定表
信号名
符号
FPGA
引脚号
信号名
符号
FPGA
引脚号
信号名
符号
FPGA
引脚号
数码管
7SLEDA
AA0
PIN103
电平
开关
SW
SW0
PIN70
J4扩展口
J4-3
PIN24
AA1
PIN104
SW1
PIN69
J4-4
PIN25
AA2
PIN112
SW2
PIN67
J4-5
PIN28
AA3
PIN113
SW3
PIN65
J4-6
PIN30
AA4
PIN114
SW4
PIN64
J4-7
PIN31
AA5
PIN115
SW5
PIN63
J4-8
PIN32
AA6
PIN118
SW6
PIN21
J4-9
PIN40
数码管
7SLEDB
BB0
PIN119
SW7
PIN22
J4-10
PIN41
BB1
PIN120
LED
发光
二极管
LEDG0
PIN86
J4-11
PIN42
BB2
PIN121
LEDG1
PIN79
J4-12
PIN43
BB3
PIN122
LEDG2
PIN76
J4-13
PIN44
BB4
PIN125
LEDG3
PIN75
J4-14
PIN45
BB5
PIN126
LEDR0
PIN74
J4-15
PIN47
BB6
PIN129
LEDR1
PIN73
J4-16
PIN48
数码管
7SLEDC
CC0
PIN132
LEDR2
PIN72
J4-17
PIN51
CC1
PIN133
LEDR3
PIN71
J4-18
PIN52
CC2
PIN134
高速D/A
转换器信号
DACCLK
PIN101
J4-19
PIN53
CC3
PIN135
DACD7
PIN100
J4-20
PIN55
数码管
7SLEDD
DD0
PIN136
DACD6
PIN99
J4-21
PIN57
DD1
PIN137
DACD5
PIN97
J4-22
PIN58
DD2
PIN139
DACD4
PIN96
J4-23
PIN59
DD3
PIN141
DACD3
PIN94
J4-24
PIN60
数码管
7SLEDE
EE0
PIN142
DACD2
PIN93
8Hz时钟
CLK1
PIN89
EE1
PIN143
DACD1
PIN92
可选时钟
CLKIN
PIN88
EE2
PIN144
DACD0
PIN87
50M
时钟
CLK0
PIN17
EE3
PIN3
按键
KEY0
PIN91
数码管
7SLEDF
FF0
PIN4
KEY1
PIN90
FF1
PIN7
FF2
PIN8
FF3
PIN9