资源描述:
《基于fpga的电子钟设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浙江理工大学学报,第27卷,第4期,2010年7月JournalofZhejiangSciTechUniversityVol.27,No.4,Jul.2010文章编号:16733851(2010)04059005基于FPGA的电子钟设计与实现赵文来,杨俊秀,严国红,陈秋妹(浙江理工大学信息电子学院,杭州310018)摘要:针对现行电子钟设计方案实现起来相对复杂、误差偏大等弊端,对以FPGA为核心器件的电子钟方案进行了实验研究,利用EDA技术自顶向下的设计方法,设计电子钟各模块及相应具体电路,通过编译、仿真,并下载
2、到FPGA实验平台进行测试,运行结果表明:系统能以较小的误差显示时、分、秒,并且当走时不准时,可以通过相应设置键实现校时。关键词:电子钟;FPGA;EDA;仿真;下载中图分类号:TN702文献标识码:A0引言电子钟是一种用数字电子技术实现时、分、秒自然计时的装置,与机械式时钟相比具有更高的准确性和直观性,而且使用寿命较长。现行的基于小规模数字逻辑芯片加计数器设计方案或以单片机为核心的设计方案,存在系统实现相对复杂、在系统编程不易、误差偏大等问题。随着现场可编程门阵列(fieldprogram[1]mablegate
3、array,FPGA)的出现,电子系统向集成化、大规模和高速度等方向发展的趋势更加明显,作为可编程的集成度较高的ASIC,可在芯片级实现任意数字逻辑电路,从而可以简化硬件电路,提高系统工作速度,缩短产品研发周期。故利用FPGA这一新的技术手段来研究电子钟有重要的现实意义。设计采用FPGA现场可编程技术,运用自顶向下的设计思想设计电子钟。避免了硬件电路的焊接与调试,而且由于FPGA的I/O端口丰富,内部逻辑可随意更改,使得数字电子钟的实现较为方便。1电子钟系统功能模块设计一个电子钟,要求具有计时及校时功能,同时要求:a)计时采
4、用12h方式,显示小时、分和秒;b)采用双键校时法:Mode键和Set键,前者选择时钟模式,包括计时,秒、分及小时校对,后者作为校时时钟输入。在设计过程中先将系统模块化,然后逐步实现。根据系统功能,可划分为3个模块:计时模块、校时模块及显示模块,其中计时模块[2]又包括小时、分及秒计时。系统功能模块图如图1。电子钟计时实质讲就是计数器,其中分、秒计时分别为60进制计数,小时计时为12进制计数器,且秒计时时钟信号为1Hz的秒脉图1电子钟功能模块图冲,每记满60个脉冲向分钟计数器进一,同理分每记满60向小时计数器进一,当小时显示
5、到11、分计数到收稿日期:2009-12-18作者简介:赵文来(1978-),男,河南南阳人,硕士,实验师,主要从事模拟电路、数字电路方面的研究。第4期赵文来等:基于FPGA的电子钟设计与实现59159同时秒计数到59时,再来一秒脉冲,小时、分及秒同时归零,重新开始下一个12小时循环。2基于FPGA的电子钟现场可编程门阵列(FPGA)是20世纪80年代中期出现的高密度可编程逻辑器件,它内部集成度高,具有在片上编程功能,根据逻辑关系编写硬件逻辑程序,设计并完成某个电路或系统的功能,设计出的电路按硬件方式工作,延迟时间小,工作性
6、能稳定,安装简单。FPGA设计一般采用自顶向下的原则,从系统功能要求入手,进行功能划分和结构设计。自顶向下将数字系统整体分解为各个子系统和模块,子系统如规模较大则可进一步分解为更小的子系统和模块,直到系统中各个模块关系合理,便于实现。根据设计要求及图1的功能模块划分,电子钟系统可有如下几个部分构成。2.1计时模块设计用中规模集成电路74160实现60进制计数,电路原理图及其符号表述分别如图2(a)和图2(b)所示,CLR、CLK分别表示清零端及计数时钟输入,Q[7..0]代表输出的十位及个位的BCD码,co为进位输出,12进
7、制计数类同。图260进制计数器原理图及模块符号依计时习惯,只需将秒计数器进位接至分计数器的使能端,同时分进位至小时计数器的使能端,原理图如图3所示。但该电路未实现校时功能,使用不便。图3电子钟顶层原理图2.2校时模块设计无论何种方案设计出的电子钟都或多或少会存在误差,因此必须考虑校时模块(时间调整模块)的设[3]计。当由于某种原因电子钟走时不准时,可以校对时、分、秒。系统采用双键校时法进行设计,为选择并校对时、分或秒,需设计一译码电路分别产生校时、分、秒的使能信号;为完成时、分、秒计数值的修改,需采用数据选择器来选择计数
8、使能信号和计数时钟。对应模块电路及仿真波形分别如图4、图5所示。592浙江理工大学学报2010年第27卷2.3译码、显示模块设计时钟运行后,按要求将当前时间在LED上显示出来,由于系统最后下载到FPGA开发平台进行功能测试,FPG