基于FPGA的数字跑表设计

数字跑表的FPGA设计

目录

〇、设计要求

一、数字跑表计时模块的设计

二、数码管显示设计

三、按键扫描和消抖模块

四、综合设计

 

〇、设计要求

1、整体设计框图如下。实现具备下诉功能需求的跑表。由数码管显示百分秒、秒、分等计时。

2、任务分析

输入端口:

1)复位信号CLR,当CLR=1,输出全部置0,当CLR=0,系统正常工作。

2)暂停信号PAUSE,当PAUSE=1,暂停计数,当PAUSE=0,正常计数。

3)系统时钟CLK50M,CLK=50MHz。

输出端口:

数码管位选选通控制,选择哪个数码管亮——dig_tube,位宽8位,依次控制8个数码管。

数码管段选,即每个数码管的七段显示控制——dig_code,位宽8位,数码管显示值。

 

一、数字跑表计时模块的设计

1、RTL设计

源程序为 digital_stopwatch.v

顶层端口:

综合后的顶层框图如下:设计要求按照PPT所述。

 

2、仿真

仿真文件为 test_digital_stopwatch.v

示例测试代码如下:

测试结果如下。

暂停仿真测试:

分秒计时测试:

秒计时仿真:

分钟计时仿真:

 

3、总结

设计通过50MHz的输入时钟,分频得到100Hz的慢速时钟,实现分秒计数。并通过对进位标志的求和,实现秒、分、时的计时。

设计实现了CLR异步重置、PAUSE暂定计时,并输出相应的时进位标志,分、秒、分秒计数值。

注意:上述代码中,只实现了秒表的计数,分秒计时、秒计时、分计时、和小时进位标志,并具备复位和暂停功能。但是数码管部分的代码,没有实现,还需要添加。

 

二、数码管显示设计

一共有8个数码管,依次控制 百分秒、秒、分钟、小时的显示。

分析:以1ms 的频率扫描输出行数据给8个数码管,所以完成8个数码管的依次输出显示的总时间为8ms。程序把计数程序时间计时的各个数据位数字赋给个位数码管,十位数字赋给十位数码管,依次完成8个数码管的赋值。

1、顶层接口如下。

 

2、代码介绍

将计时时间数值的个位和十位分解出来。

 

每个数码管的段选编码0~9。

 

三、按键扫描和消抖模块

顶层如下,实现赞同和复位按键的检测和滤波。

采样按键值,20ms扫描一次,采样频率小于按键毛刺频率,相当于滤除掉了高频毛刺信号

 

四、综合设计

综合后的顶层,添加好UCF文件后,下载测试。

其RTL原理图。

测试如下,暂停、复位、计数功能均正常。设计完成。当前测试时间为22min,25秒,18百分秒。

标题
方案设计: 数字跑表核心部件是计数器,给出合理时钟脉冲从而实现最低位计数以及对高位进位。时序脉冲源由555定时器构成多谐振荡器,设置特定参数可以产生频率为100Hz时序脉冲,为计数器提供时序脉冲,使之进行计数。计数器由3对74LS390双十计数器芯片组成,通过芯片间连接实现百分秒、秒、分计时电路,量程在00分00.00秒~~59分59.99秒,把小数点后面两位设计成一百进制计数器,秒数和分钟数分别设计成60进制计数器数,计数器输出连接译码器,译码器再连接7位数码管显示数码管,从左到右分别为分十位,分个位,秒十位,秒个位,百分秒十位,百分秒个位。逻辑门控制构成RS触发器,通过实现电路通断控制计数器启动/暂停及清零。 接通电源后,直接显示计时器启动,SW1处于低点平,SW2处于高电平。开关SW2接高电平(上端),电路即开始计时,将开关SW2接低电平(下端),电路就暂停计时,清零开关SW1接高电平(下端),计时清零且停止,显示器显示“0”。这样就实现了数字跑表各项基本功能。 设计要求: 1. 量程在00分00.00秒~~59分59.99秒即时间以1小时为一个周期; 2. 具有‘分’、‘秒’、‘1/100秒’十进制数字显示; 3. 要有外部开关,控制计数器直接清零、启动和暂停/连续计时功能; 4. 用7位数码管显示分、秒; 5. 画出部分和整体电路图,以及元器件及参数选择。 工作原理: 1.利用555计时器构成能产生特定脉冲多谢振荡器,产生100Hz脉冲信号,满足数字跑表脉冲需求; 2.用多功能计数器产生一百进制和六十进制,实现数字跑表计数功能; 3.利用各种门电路组合,实现数字跑表启动、暂停和清零; 4.利用译码器和数码管实现译码及显示功能。 系统框图: Altium Designer画原理图和PCB图如下:
本科生毕业论文(设计)开题报告书 题 目: 基于FPGA数字秒表设计 学生姓名: *********** 学 号: ********** 专业班级: 自动化******班 指导老师: ************ 2010年 3 月 20 日 论文(设计)题目 ISP技术及其应用研究 课题目、意义及相关研究动态: 课题设计主要目:运用所学数字电子技术基本知识和数字电子电路设计方法,将数字电子技术基础知识与EDA技术有机地联系起来,EDA电子仿真软件仿真功能强大,具有完备文件库,具有选用元器件创建电路、仿真模拟运行电路功能,并且在输入信号加入、输出信号显示上能完全模拟实际和调制过程中各种波型和操作过程。此类设计需要在EDA仿真软件上仿真进行,并利用下载工具,下载到特定硬件设备上,进行实时运行与验证,来证明所设计电路正确性。这样把所学到理论知识综合运用到一些较复杂数字逻辑电路系统中去,使我们在实践基本技能方面得到一次全面系统锻炼;这样可以使我们了解和掌握现代复杂数字系统芯片设计方法和所用到EDA工具,为走上社会进入专业电子技术公司后,能胜任各种电子产品集成化实际设计工作打下了坚实基础。 课题意义:秒表是一种常见计时工具,种类比较多。这里用EDA技术设计一种基于FPGA 数字秒表。它可以为用户提供了传统PLD技术无法达到灵活性,带来了巨大时间效益和经济效益,是可编程技术实质性飞跃。FPGA还是有其具大优势比如它高速性。 相关研究动态:现在对EDA概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指EDA技术,主要针对电子电路设计、PCB设计和IC设计。EDA 设计可分为系统级、电路级和物理实现级。 课题主要内容(观点)、创新之处: 课题设计主要内容: 1. 设计任务: 设计一个采用六位LED数码管显示分、秒,0.1s,0.01s计时方式数字秒表。使用按键开关可实现开始/结束计时操作,及复位清零操作。 2.设计要求: 要求:1、设计方案具有合理性、科学性; 2、系统工作稳定可靠; 3、系统抗干扰性能强; 4、系统硬件电路简单、程序结构明晰。 3.系统功能 1. 有启/停开关,用于开始/结束计时操作 2. 秒表计时长度为59.分59.99秒,超过计时长度,有溢出则报警,计时长度可手动设置。 3. 设置复位开关,在任何情况下只要按下复位开关,秒表都要无条件进行复位清0操作。 4. 用FPGA器件实现,用VHDL语言编程,并进行下载,仿真。 创新之处: 利用EDA技术中最为瞩目在系统可编程技术进行电子系统设计创新之处:1、用软件方式设计硬件;2、用软件方式设计系统到硬件系统转换是由有关开发软件自动完成;3、设计过程中可用有关软件进行各种仿真;4、系统可现场编程,在线升级;5、整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页

打赏作者

时间看得见

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值