唐家博
摘 要:利用FPGA制作数字秒表,外围电路简单,可靠性高,集成度高。本设计方法主要采用VerilogHDL语言进行仿真与设计,集成开发环境是Altera公司的quartusII。并把最终的结果用数码管进行显示。
关键词:FPGA;VerilogHDL;数字秒表;quartusII
1 引言
FPGA,全称是Field-Programmable Gate Array,即现场可编程门阵列,顾名思义该芯片的内部电路逻辑是不确定的,可以通过软件进行编程,这与传统的cpu、mcu等存在着明显的差异,而后者的内部电路逻辑是确定的。对FPGA的编程也与普通的软件编程是不一样的,对FPGA的编程实际上是对FPGA内部的电路逻辑进行编程,也就是所谓的HDL(hardware description language),即硬件描述语言。
目前主流的HDL包括VHDL与VerilogHDL,使用更为广泛的是VerilogHDL,在开发者中占80%左右的份额,而本文也将以VerilogHDL为例,介绍利用该硬件描述语言来实现数字秒表的设计。
2 设计要求与目标
a、能够从0.00秒一直计时到59.99秒
b、精度要求是10ms
c、设有清零键,能够一键清零
d、设有使能键,能够提供计时暂停功能
3 硬件系统的搭建
时钟信号:由于数字秒表对时间精度的要求度高,所以我们采用晶体振荡器来提供时钟信号,晶体振荡器具有频率稳定、受外界影响小等特点。我们可以通过利用数字电路元件对晶体振荡器进行分频,并得到一个1MHz的时钟信号,并利用该时钟信号进行后面的设计。
译码与显示:我们利用译码器进行译码,通过数码管进行显示。其中译码管我们采用74HC164显示译码管。由于每个数码管要显示的数字从0开始最大到9为止,所以我们输出信号的位宽设计为4位即可。
使能键与清零键:为提高系统的可靠性,我们采用电平触发的按键,并且我们采用异步使能与异步清零的方式,并且清零端的优先级要高于使能端的优先级。
计时与计数功能:这部分是整个秒表的核心部分,将通过对FPGA的编程来实现。芯片采用altera公司的Cyclone系列,该系列的芯片价格适中,足以实现秒表系统的设计。
5 结语
本数字秒表的实现主要是利用文本输入来完成,通过VerilogHDL设计若干10进制计数器和6进制计数器来完成对时钟信号的计数和计时的功能,然后通过译码管进行译码并最终用数码管显示出来。由于本设计方法中采用晶体振荡器,震荡频率稳定,所以计时精确,可靠性高。
参考文献
[1]潘松 黄继业 潘明 《EDA技术实用教程》第四版 科学出版社 2010
[2]周立功 《EDA实验与实践》 北京航天航空大学出版社 2007