- 9
- 0
- 约1.09万字
- 约 19页
- 2018-08-22 发布于贵州
- 举报
基于EDA技术的数字秒表设计论文
电子科技大学
电子技术综合实验报告
题 目:基于EDA技术的数字秒表设计
学 院:光电信息学院
专 业:光信息科学与技术
班 级:
学 号:
姓 名:李雄风
指导老师:皇晓辉
2012年3月20日
一、设计目标
1.1设计要求
利用FPGA实验电路板,设计实现一个数字秒表,其计数范围为00′00″00~59′59″99,计数结果用8个数码管显示;设置两个按钮开关,一个按钮使秒表复位,另一个按钮控制秒表的启动/停止。
1.2面板构思
根据上面的设计要求,给出如下图1-1所示的数字秒表外观面板的基本排布构思图。
图1-1 外观面板排布图
1.3面板分析
1.3.1计数器分析
该数字秒表的计数范围为00′00″00~59′59″99,其分十位和秒十位均为六进制计数器,其他位则均为十进制计数器。因此,总共需要6个计数器,其中2个为六进制计数器,4个为十进制计数器。
在每个计数器中设置进位输出端和使能端,将6个计数器通过进位输出端和使能端级联构成异步计数,就能实现数字秒表由00′00″00到59′59″99的计数。
1.3.2启停按钮分析
按下启停按钮,应使原本处于计数状态的秒表暂停计数,或者使原本暂停计数的秒表恢复计数。暂停期间,秒表应保持计数结果;恢复计数时,秒表应从保持的结果处开始计数。
要达到以上效果,可以通过控制最低位计数器的使能端(刚好其未参与级联)来实现。具体地说,按下启停按钮时,将会产生一个脉冲,利用该脉冲可以实现对使能端的边沿触发,只要在每次按下启停按钮时让使能信号翻转,就可以实现上述功能。
1.3.3复位按钮分析
按下复位按钮,应使原本暂停计数的秒表恢复到初始值00′00″00;而对于原本正在计数的秒表,其应不起作用。
要达到以上效果,可以在每个计数器上设置一个清零端,当使能信号为无效时,利用按下复位按钮产生的脉冲对所有的清零端实现边沿触发,使其有效;而在使能信号有效时,该脉冲应不起作用。
二、电路设计
2.1模块划分
为实现该数字秒表的功能,将整个数字秒表分解为几个模块分别进行设计,最后再将各模块连接起来,构成一个整体。
需要设计的模块应包括以下几个:
(1)分频器
在FPGA实验电路板上,有一个晶振可以提供48MHz的输入信号,而对于所要求的数字秒表,其最小计数间隔为0.01秒,即应将48MHz的晶振频率分频到100Hz。
另外,在计数结果输出显示时,往往利用人们的视觉暂留效应,采取扫描显示的方法(这样可以节省电路开销),为此需要产生一个扫描信号,一般取其频率为1kHz,因此还需将48MHz的晶振频率分频到1kHz。
(2)计数器
计数器部分应由2个六进制计数器和4个十进制计数器构成,在1.3中,已经对其做了详细说明,在此不再赘述。
(3)启停和复位模块
该部分也已经在1.3中做了详细说明,在此不再赘述。
(4)扫描模块
扫描模块应在1kHz的扫描信号驱动下,产生3位二进制计数输出。该1kHz的扫描信号由分频器输出,而产生的3位二进制计数输出,则作用于8个数码管的选通。由于FPGA实验电路板内已经集成了一个3-8译码器,故可用该3位二进制计数输出直接控制8个数码管的选通。
(5)显示模块
将8个八段数码管编号为LDE0,LED1,…,LED7,如图1-1所示。当LED0被扫描模块的输出信号选通时,应使最低位计数器的计数值显示译码到八段显示器上输出;当LED1被选通时,应使次低位计数器的计数值显示译码到八段显示器上输出;以此类推。应注意的是,当LED2和LED5被选通时,没有对应的计数器给其提供计数值,应给他们设定一个固定值,再显示译码输出“-”。
2.2模块设计
2.2.1分频器设计
如2.1中分析,总共需要两种分频器,它们的设计分别如下:
(1)100Hz分频
VHDL描述如下:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity fenpin1 is
Port (clk : in STD_LOGIC;
newclk : out STD_LOGIC);
end fenpin1;
architecture ART of fenpin1 is
signal count:integer range 0 to 10##;
begin
process(clk)
begin
原创力文档

文档评论(0)