logo资料库

基于FPGA的数字秒表的设计.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
基于 FPGA 的数字秒表的设计 杨远成,赵创社,雷金利 (西安应用光学研究所 陕西 西安 710065) 应用 VHDL 语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了系统的开发时间,提高了工作效率。本文介绍一 种以 FPGA 为核心,以 VHDL 为开发工具的数字秒表,并给出源程序和仿真结果。 1 系统设计方案 1.1 系统总体框图 数字秒表主要有分频器、计数模块、功能控制模块、势能控制模块和显示输出模块组成。系统框图如图 1 所示。 本次的设计仿真选用以 EP1C6Q240 芯片为核心的 FPGA 开发板,该开发板提供了较完善的外围周边电路和信号接口,并提供了 一块 4 位 7 段数码管的扩展板,为本次设计提供了硬件条件。在设计中,功能控制模块根据控制选择不同的功能状态的时间输出, 通过势能控制模块和显示输出模块驱动 7 段数码管显示相应的时间。 1.2 系统功能要求 (1)具有时钟秒表系统功能要求显示功能,用 4 个数码管分别显示秒和百分秒; (2)具有 3 种功能状态:系统时间运行状态,系统时间至零状态,时钟正常显示状态,通过输入控制信号可以使系统在这 3 个状态 之间切换,使数码管显示相应状态的时间; (3)开启时间设定、关闭时间设定可通过控制信号中的时间调节来设置,在秒设置方面每按一下,秒就会自动加 1,采用 60 进制计 数,当计数到 59 时又会恢复为 00;百分秒设置方面每按一下,百分秒会自动加 1,采用 100 进制计数,当计数到 99 时,向上进
位并恢复 00。系统时间可以同单独的至零信号,将数码管显示时间直接恢复到 00.00 状态。 2 模块功能设计及仿真 2.1 分频模块 开发板提供的系统时钟为 50 MHz,通过分频模块 3 次分频,将系统的时钟信号分为 100 Hz 和 1 000 Hz 分别提供给计数模块和 势能控制模块作为时钟控制信号。该模块部分 VHDL 源程序如下: 2.2 计数模块 计数模块中,时钟信号是 100 Hz 作为秒表的百分秒输入,百分秒为 100 进制计数器,其进位输出作为秒的计数时钟,秒为 60 进
制计数器。控制信号输入端的 begin-stop 和 reset 信号控制计数器的开始、停止和至零。该模块部分 VHDL 源程序如下,方针结 果如图 2 所示: 2.3 势能控制模块 本次设计选用的开发板数码管扩展板的数码显示采用的是 4 个数码管动态扫描输出,一般只要每个扫描频率超过人的眼睛视觉暂 留频率 24 Hz 以上就可以达到点亮单个显示而不闪烁,扫描频率采用 1 kHz 信号。通过势能控制,每个数码管的显示频率为 250 Hz, 满足显示要求。该模块部分 VHDL 源程序如下:
2.4 显示控制模块 本次设计选用的开发板在 4 位数码管输入方面只提供 1 个数据接口,用来动态显示 4 位数据,在数据输入信号方面要做到和势能 控制信号同频率输出,才能保证数码显示不会出错或显示移位。该模块部分 VHDL 源程序如下:
同时通过控制信号示系统处在不同的功能状态:系统时间运行状态,系统时间至零状态,时钟正常显示状态。利用功能转换信号 实现 3 个功能状态之间的转换,并产生相应的控制信号去控制显示输出模块不同状态的正确显示。其部分源程序如下:
3 系统部分功能仿真 各部分模块完成后,用 QuartusⅡ对程序编译、仿真、得到的仿真波形如图 3 所示。 本系统采用的 FPGA 芯片为 Altera 公司的 EP1C6Q240,用 VHDL 和 QuartusⅡ软件工具开发,设计输入完成后,进行整体的编 译和逻辑仿真,然后进行转换、延时仿真生成配置文件,最后下载至 FPGA 器件,完成结果功能配置,实现其硬件功能。 4 结 语 该系统运用先进的 EDA 软件和 VHDL,采用模块法自顶向下的设计原则,并借助 FPGA 实现数字秒表的设计,充分体现了现代数 字电路设计系统芯片化,芯片化设计的思想突破了传统电子系统的设计模式,使系统开发速度快、成本低、系统性能大幅度地提 升。 本文摘自《现代电子技术》
分享到:
收藏