APP下载

基于FPGA的有限状态机计时器设计

2020-12-14杨秀兰杨玉

锦绣·上旬刊 2020年12期
关键词:计时器控制

杨秀兰 杨玉

摘要:当前FPGA应用很广,可以用来设计很多自身需求的程序以达到一定的便利。本文使用FPGA设计一个计时器,该计时器用到有限状态机的机制来实现控制,计时器可实现时分秒的精确计数,并可显示出去再液晶屏或者显示屏。最后进行功能仿真以校验时序和控制的准确性。

关键词: FPGA;计时器;控制;状态机

1.前言

当前FPGA的应用非常广,用它进行编程的人也越来越多。应用FPGA进行自身所需求的产品的设计是非常合适的,用有限状态机的机制去控制计时器,让计时器可以重置、报时等。有限状态机常常被用在自动售货机、排号机、ATM、银行业务自助机等上面。该计时器可显示时分秒,最大计时为59时59分59秒,可以清零和每隔10分钟进行报时。

2.设计与实现

该计时器由三个部分组成,这三个部分分别是控制部分、计时部分、显示和发声部分。控制部分主要由一个有限状态机完成控制,有清零和启动/暂停等按键。该有限状态机设置六个状态,分别是清零状态、零值状态、开始状态、计时状态、停止状态、启动状态。该状态机两个输入分别是清零按键(re)、启停按键(star/stop),两个输出分别是计时许可(able)、计时清零(rst),其状态机图如下图1所示:

其中,当清零按键re按下时,状态机进入清除状态,其计时许可控制输出信号able为低电平,计时清零输出信号rst为高电平,则进行清零,计时器就会清除当前所有计时,并从清零状态进入到零值的状态;而在零值状态下,当按下启停按键(star/stop)時,就会进入开始状态,则计时器开始计时;而在开始状态下时,当star/stop按键由0变成1时,则会进入自动计时状态,计时许可控制信号able为高电平,允许计数器计数;在计时状态下,当按下启停按键时即star/stop按键由1变成0时,则停止计时,会进入停止状态;在停止状态下,当star/stop按键由0变成1时,就会进入启动状态;在启动状态下,当按下启停按键时即star/stop按键由1变成0时,则又进入开始状态;当star/stop按键由0变成1时,进入计时状态,这时计数器会在原来已经计有的数字的基础上继续计时。如果想重新开始计时,则按下清零按钮(re)。

整个计时器的三个部分的输入输出模块图如图2所示,

其中,clk为FPGA开发板的时钟。时间部分为:timehh(小时高位)、timehl(小时低位)、timemh(分钟高位)、timeml(分钟低位)、timesh(秒高位)、timesl(秒低位)。显示发声部分为:ledd为输出的数据即时间,leds为寄存器选择控制输出信号,当其为低电平时,表示数据总线传输的是命令控制信号,当其为高电平时,表示数据总线传输的是数据信号;ledr为读/写控制输出信号,当其为低电平时,表示向显示屏控制芯片写数据;lede为读/写操作允许控制脉冲输出信号,高电平有效;sound为发声信号,用于统计每十分钟进行一次报时;f为使能控制信号,低电平有效,高电平时不允许占用数据总线。

3.总结

该设计制作了一个有限状态机控制的计时器,其特点是可长时间计时并报时,是一个很实用的计时器。本文以设计一个实用的计时器去了解和探索FPGA的开发,以便以后能做出更多更好更有用的设计。

参考文献

1.曾一凡, 吴思琪. 基于FPGA和有限状态机的守时系统设计[J]. 计算机测量与控制, 2014, 022(005):1565-1567.

2.孙兆伟, 刘源, 徐国栋,等. 基于FPGA内置RAM的抗辐射有限状态机设计[J]. 航空学报, 2010(05):118-124.

作者简介:杨玉(1977-),女,广西玉林人,学士,助教,研究方向:流动力学,为本文通讯作者。

资助基金:二本院校离散数学MOOC改革与应用(2020XJJGZC10)

猜你喜欢

计时器控制
松鼠的计时器
社会转型期行政权控制的路径探索
会计预算控制现状及方法
浅谈高层建筑沉降监测关键环节控制
保险公司财务风险管理及控制研究
竖向固定电火花打点计时器的技巧
听过实时游戏吗?Chronos Conquest将发!