基于FPGA和VHDL的电子秒表设计

  摘 要 本文利用Spartan3A and Spartan3AN系列的XC3S200A FT256的FPGA作为开发硬件,ISE软件和ModelSim软件作为开发软件,设计制作了一款计数长度为一小时,计数精度为0.01秒,六位数码管显示的电子跑表。具有开始/停止,复位清零功能,并且加入了扩展要求的多次暂停计数功能和消抖判断。具有精度高,操作简单的特点。   关键词 FPGA;VHDL;ISE;ModelSim;电子跑表   中图分类号:TP302 文献标识码:A 文章编号:1671-7597(2013)14-0025-01   随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。而电子设计自动化(EDA)的实现是与CPLD/FPGA技术的迅速发展息息相关的,利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现了系统的集成。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。20世纪80年代后期由美国国防部开发的VHDL语言恰好满足了上述这样的要求,并在1987年12月由IEEE标准化。它的出现为电子设计自动化(EDA)的普及和推广奠定了坚实的基础。由此,使用VHDL语言来设计数字系统是电子设计技术的大势所趋。   1 系统电路设计   系统由石英震荡器、分频部分、计数部分、显示部分、开始/停止使能和清零部分构成。分频器将晶振所提供的48 MHz信号分频成100 Hz时钟信号作为最低位计数器的计时信号,将六个计数器异步级联得到跑表时间数据,再经过数据选择器和显示译码器,以动态显示模式将显示译码器的段选信号分位输出给六个8段LED数码管显示,开始/停止使能可实现暂停/继续计时操作,清零部分完成系统的时间清零,为下次计时做准备。系统电路总体模块图如下。   2 各模块设计   2.1 分频器的设计   实验板提供了48 MHz的震荡信号,要求输出频率分别为1000 Hz和100 Hz。分频器的实现原理是基于计数器的方法设计的,通过对若干个震荡信号的计数来实现输出信号的翻转,故而实现了分频。   要得到100 Hz和1 Kz的方波,需要对48 MHz的晶振信号进行分频。要得到100 Hz的方波,需要480000分频,要实现480000分频,则输入源时钟信号clk每过480000/2即240000个上升沿,则对输出信号out100hz取反。同理,每经过24000个源时钟上升沿,对out1khz取反,得到1 KHz的信号。   2.2 计数器的设计   根据实验要求知,计数器由六个单极计数器级联实现,其中4个十进制计数器、2个六进制计数器。本实验方案采用同步级联实现。   本设计使用的是异步清零和同步使能,即当清零有效时,计数器立即清零,而当使能有效时,只有当时钟上升沿到来时,才进行暂停或开始计数的功能。使能输入即进位输入。首先先判断清零是否有效,当有效时,执行清零操作,count值为0。当清零无效时,并且使能有效是,进行计数。计数输出为四位二进制数countout。最后判断当计数值满并且使能有效时,进位输出有效。六进制计数器原理与十进制计数器类似。只是count_tmp值最大为“0101”。   2.3 使能控制的设计   使能控制是为了产生使能控制信号,在该控制信号作用下使输出发生翻转。使能输入(enable_in)每来一个上升沿,使能输出(enable_out)电平变化一次。即实现了每按一次按键,计数器在停止和开始计数之间切换。   2.4 显示控制的设计   显示控制模块应包含一个六进制计数器、六选一数据选择器和七段译码器。六进制计数器的时钟信号频率为1 kHz,计数输出作为位选控制信号sel(2:0)。数据选择器的地址控制信号为计数输出,数据选择器的数据端为要显示的六位数据mh(3:0),ml(3:0),sh(3:0),sl(3:0),ds(3:0),cs(3:0)。根据地址控制信号选择其中一路输出至译码器,译码器的输出作为段选控制信号led(6:0)。根据硬件电路,需设置一个译码使能信号G,G为低电平有效。   该模块里融合了一个六进制计数器,六选一数据选择器。通过分频器输出的1khz的时钟,控制六进制计数器计数(sel),使三位输出作为三八译码器的输入,从而控制8位数码管的位选以1khz进行扫描。又作为六选一数据选择器的地址选择输入,从而控制是哪一个数据作为六选一数据选择器的输出。这个输出经七段译码器后(led)作为数码管的段选。G端口为三八译码器的使能输出。   2.5 消抖模块的设计   消抖模块应能排除在按键按下电平不能稳定变化,出现纹波的情况下,对按键电平的识别。设计的思路是,当按键按下时,设计一个延时语句,当一段延时后,仍检测出按键为低电平,则认为按键按下,否则不判定为按键按下。本设使用计的按键消抖模块的思想为,当按键按下后,在所设定的一小段时间内,持续维持低电平,则判断为真正按下,输出(key_in)有效。   2.6 显示暂停模块   设计了一个门电路放在显示控制模块的段选输出和数码管之间,当门关闭时,数码管显示不变化,但计数器还在计数,当暂停后突然将门打开后,会将实际计数器的计数值送给数码管显示;门打开时则正常显示。这样,则实现了分别计数的扩展功能。设定的暂存模块很简单,就是在每个计数输出到显示控制输入之间加一个门。当开关按下后,门关闭,数码管显示暂停,但计数器仍在计数;当开关松开,计数器立即将当时时刻的计数值输送给数码管显示。   3 总结   经下载仿真后,从FPGA实验板的运行结果来看,该秒表实现了设计要求中包括所有扩展功能在内的全部功能,且显示时间稳定准确,按键灵敏度高。   参考文献   [1]于洋.面向教学的16位微处理器的FPGA设计与实现[D].江苏大学,2009.

  摘 要 本文利用Spartan3A and Spartan3AN系列的XC3S200A FT256的FPGA作为开发硬件,ISE软件和ModelSim软件作为开发软件,设计制作了一款计数长度为一小时,计数精度为0.01秒,六位数码管显示的电子跑表。具有开始/停止,复位清零功能,并且加入了扩展要求的多次暂停计数功能和消抖判断。具有精度高,操作简单的特点。   关键词 FPGA;VHDL;ISE;ModelSim;电子跑表   中图分类号:TP302 文献标识码:A 文章编号:1671-7597(2013)14-0025-01   随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。而电子设计自动化(EDA)的实现是与CPLD/FPGA技术的迅速发展息息相关的,利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现了系统的集成。此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。20世纪80年代后期由美国国防部开发的VHDL语言恰好满足了上述这样的要求,并在1987年12月由IEEE标准化。它的出现为电子设计自动化(EDA)的普及和推广奠定了坚实的基础。由此,使用VHDL语言来设计数字系统是电子设计技术的大势所趋。   1 系统电路设计   系统由石英震荡器、分频部分、计数部分、显示部分、开始/停止使能和清零部分构成。分频器将晶振所提供的48 MHz信号分频成100 Hz时钟信号作为最低位计数器的计时信号,将六个计数器异步级联得到跑表时间数据,再经过数据选择器和显示译码器,以动态显示模式将显示译码器的段选信号分位输出给六个8段LED数码管显示,开始/停止使能可实现暂停/继续计时操作,清零部分完成系统的时间清零,为下次计时做准备。系统电路总体模块图如下。   2 各模块设计   2.1 分频器的设计   实验板提供了48 MHz的震荡信号,要求输出频率分别为1000 Hz和100 Hz。分频器的实现原理是基于计数器的方法设计的,通过对若干个震荡信号的计数来实现输出信号的翻转,故而实现了分频。   要得到100 Hz和1 Kz的方波,需要对48 MHz的晶振信号进行分频。要得到100 Hz的方波,需要480000分频,要实现480000分频,则输入源时钟信号clk每过480000/2即240000个上升沿,则对输出信号out100hz取反。同理,每经过24000个源时钟上升沿,对out1khz取反,得到1 KHz的信号。   2.2 计数器的设计   根据实验要求知,计数器由六个单极计数器级联实现,其中4个十进制计数器、2个六进制计数器。本实验方案采用同步级联实现。   本设计使用的是异步清零和同步使能,即当清零有效时,计数器立即清零,而当使能有效时,只有当时钟上升沿到来时,才进行暂停或开始计数的功能。使能输入即进位输入。首先先判断清零是否有效,当有效时,执行清零操作,count值为0。当清零无效时,并且使能有效是,进行计数。计数输出为四位二进制数countout。最后判断当计数值满并且使能有效时,进位输出有效。六进制计数器原理与十进制计数器类似。只是count_tmp值最大为“0101”。   2.3 使能控制的设计   使能控制是为了产生使能控制信号,在该控制信号作用下使输出发生翻转。使能输入(enable_in)每来一个上升沿,使能输出(enable_out)电平变化一次。即实现了每按一次按键,计数器在停止和开始计数之间切换。   2.4 显示控制的设计   显示控制模块应包含一个六进制计数器、六选一数据选择器和七段译码器。六进制计数器的时钟信号频率为1 kHz,计数输出作为位选控制信号sel(2:0)。数据选择器的地址控制信号为计数输出,数据选择器的数据端为要显示的六位数据mh(3:0),ml(3:0),sh(3:0),sl(3:0),ds(3:0),cs(3:0)。根据地址控制信号选择其中一路输出至译码器,译码器的输出作为段选控制信号led(6:0)。根据硬件电路,需设置一个译码使能信号G,G为低电平有效。   该模块里融合了一个六进制计数器,六选一数据选择器。通过分频器输出的1khz的时钟,控制六进制计数器计数(sel),使三位输出作为三八译码器的输入,从而控制8位数码管的位选以1khz进行扫描。又作为六选一数据选择器的地址选择输入,从而控制是哪一个数据作为六选一数据选择器的输出。这个输出经七段译码器后(led)作为数码管的段选。G端口为三八译码器的使能输出。   2.5 消抖模块的设计   消抖模块应能排除在按键按下电平不能稳定变化,出现纹波的情况下,对按键电平的识别。设计的思路是,当按键按下时,设计一个延时语句,当一段延时后,仍检测出按键为低电平,则认为按键按下,否则不判定为按键按下。本设使用计的按键消抖模块的思想为,当按键按下后,在所设定的一小段时间内,持续维持低电平,则判断为真正按下,输出(key_in)有效。   2.6 显示暂停模块   设计了一个门电路放在显示控制模块的段选输出和数码管之间,当门关闭时,数码管显示不变化,但计数器还在计数,当暂停后突然将门打开后,会将实际计数器的计数值送给数码管显示;门打开时则正常显示。这样,则实现了分别计数的扩展功能。设定的暂存模块很简单,就是在每个计数输出到显示控制输入之间加一个门。当开关按下后,门关闭,数码管显示暂停,但计数器仍在计数;当开关松开,计数器立即将当时时刻的计数值输送给数码管显示。   3 总结   经下载仿真后,从FPGA实验板的运行结果来看,该秒表实现了设计要求中包括所有扩展功能在内的全部功能,且显示时间稳定准确,按键灵敏度高。   参考文献   [1]于洋.面向教学的16位微处理器的FPGA设计与实现[D].江苏大学,2009.


相关文章

  • 数字秒表课程设计
  • 摘 要 当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展.推动该潮流迅速发展的决定性因素就是使用了现代化的EDA [1]设计工具.本论文先确定了系统的逻辑功能,建立算法流程,选择电路结构,然后确定并设计电路所需的数据 ...查看


  • 电子科技大学电子技术综合实验秒表实验报告
  • 现代电子技术综合实验 电子秒表设计 学生姓名:学 号:指导老师:学 院:提交时间: 摘要 本文介绍了使用VHDL开发FPGA的一般流程,重点介绍了电子秒表的设计.该设计以VHDL作为硬件开发语言,以ISE作为软件开发平台,准确地实现了秒表计 ...查看


  • 基于CPLD的秒表设计
  • 课程设计说明书(本科) 题 目: 基于CPLD/FPDA数字秒表设计 姓 名: 赵 超 尚晓亮 王 浩 专 业: 电子信息工程 班 级: 08级2班 2011年 6 月 21 日 目录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„ ...查看


  • 机电一体化论文题目一览表
  • 1 毕 业 论 文(设计)题 目 2 基于AD9851的跳频控制电路设计 3 基于伪随机序列噪声发生器设计 4 基于FPGA的延时倍频电路PLL设计 5 基于FPGA的无线搜寻系统设计 6 基于FPGA的电机测速显示设计 7 基于FPGA的 ...查看


  • 实验报告-数字秒表
  • 学院:物理与信息工程学院 专业:电子信息工程 姓名:肖伟 学号:[1**********]6 指导老师:漆为民 一.设计题目: 数字秒表的设计 二.设计目的: 1.了解数字秒表的工作原理. 2.进一步熟悉用VHDL语言编写驱动七段码管显示的 ...查看


  • 基于FPGA的出租车计费器设计
  • 基于FPGA的出租车计费器设计 学院:电信 专业:电子学 年级: 2011级 学号:121 姓名:柳燃 基于FPGA的出租车计费器设计 柳燃 摘要:本文介绍了一种采用FPGA芯片进行出租车计费器设计的实用方法.基于FPGA,具体采用EPC2 ...查看


  • 数控移相信号发生器
  • 湖南人文科技学院 课程设计报告 课程名称:VHDL 语言与EDA 课程设计 设计题目: 数控移相信号发生器 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 2008级1班 学生姓名: 叶小华 稂雄伟 学 号: 08409106 ...查看


  • FPGA频率计实验报告
  • 数字频率计 用VHDL 语言设计实现基于FPGA 的数字频率计 学校: 学院: 姓名: 学号: 实验室: 实验日期: 摘要 本文介绍了一种基于FPGA 的数字频率的实现方法.该设计采用硬件描述语言VHDL ,在软件开发平台ISE 上完成.该 ...查看


  • 电子设计自动化技术课件答案
  • 第一章 1-1 EDA技术与ASIC设计和FPGA开发有什么关系? P3~4 答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现:FPGA和CPLD是实现这一途径的主流器件.FPGA和CPLD通常也被称为可编 ...查看


热门内容