基于FPGA的数字频率计的设计和实现
杨守良
(渝西学院物理学与电子信息工程系重庆402168)
摘要:现场可编程门阵列的出现给现代电子设计带来了极大的方便和灵活性,使复杂的数字电子系统设计变为芯片级设
计,同时还可以很方便地对设计进行在线修改。本文以设计一个四位显示的十进制数字频率计为例,介绍了在一片FPGA
芯片上实现多位数字频率计的设计方法和实现步骤,并且给出了仿真结果。在设计中,所有频段均采用直接测频法对信号
频率进行测量,克服了逼近式换挡速度慢的缺点。所设计的电路通过硬件仿真,下载到目标器件上运行,能够满足实际测
量频率的要求。
关键词:数字频率计设计;VHDL;现场可编程门阵列(FPGA);直接测频法
中图分类号:TP271+.82 文献标识码:B 文章编号:1004-373X(2005)11-118-03
Con struct ion and Rea l iza t ion of the D ig ita l Cymometer Ba sed on FPGA
YAN G Shouliang
(Department of Physics & Elect ronic Info rmat ion Engineering,W estern Chongqing U niversity, Chongqing, 402168,Ch ina)
Abs tra c t: The appearance of FPGA (F ield P rogrammable Gate A r ray) leads to the convenience and f lexibility of the modern elect ronic
const ruct ion,w h ich changes the comp licated digital elect ronic system const ruct ion into the on ch ip const ruct ion1O n the o ther hand, it
can also make some onlinemodif icat ion expedient ly1W ith a casew h ich descr ibes an quadbit show n on the decimal digital f requency, the
autho r int roduces the const ruct ion method and the realizat ion step s on a single FPGA ch ip1The autho r show s an emulat ional
result1Dur ing the const ruct ion p rocess, the signal f requency of all the F requency Channel is measured by the w ay of direct
measurement, w h ich overcomes the sho r tcom ing of low app roximate sh if t speed1W ith the cer t if icat ion of the hardw are emulat ion
system, the circuit const ructed can meet the demand of measur ing f requency in the reality, w h ich has some theo ret ic and p ract ical
signif icat ion1
Ke yw o rds: design of the digital cymometer;VHDL; FPGA (F ield P rogrammable Gate A r ray) ; direct f requency measurement
可编程逻辑器件和EDA技术给今天的硬件系统设计者提供了强有力的工具,使得电子系统的设计方法发生了
质的变化。传统的“固定功能集成块+连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正在成为
现代电子系统设计的主流。在设计方法上,已经从“电路设计—硬件搭试—焊接”的传统方式转到“功能设计—软
件模拟—下载”的电子设计自动化模式,从而大大提高了系统设计的灵活性。本文以一个四位的十六进制频率计为
例,介绍其设计和实现方法。
1、数字频率计设计实例
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用VDHL编程设计实现
的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整
个设计过程变得十分透明、快捷和方便,特别是对于各层次电路系统的工作时序的了解和把握显得尤为准确,而且
具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能和测
量频率的范围。该数字频率计具有高速、精确、可靠、抗干扰性强、而且可根据需要进一步提高其测量频率的范围
而不需要更改硬件连接图,具有现场可编程等优点。
1.1数字频率计设计的基本原理
本文以一个四位十进制、测量范围为1Hz~16kHz的数字频率计为例,采用SOPCöSOC实验开发系统,以1
Hz测频控制信号,说明设计的基本原理及实现方法。设计的数字频率计由测频控制信号发生器模块、锁存器和译码
显示模块组成。根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1s的对输入信号脉冲
计数允许的信号;1s计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期做准备的计数器清0信号。
这3个信号可以由一个测频控制信号发生器产生,即图1中的TESTCTL,他的设计要求是,TESTCTL的计数使
能信号CNT_EN能产生一个1s脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。
当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁
存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显
示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须
有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作做准备。其工作时序波形如图1所示。
图1频率计测频控制器测控时序图
112设计方法
采用VHL语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方
法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形
式则由下一层模块来描述。根据本数字频率计实现原理,运用自顶向下的设计思想,设计的系统顶层电路图如图1
所示。各功能模块采用VHDL语言描述。
1.2.1 测频控制信号发生器模块的设计
要想使频率计能自动测频, 还需要一个测频控制电路, 要求他能产生3 个控制信号: CN T_ EN、LOAD 和
RST_ CN T, 以便使频率计能顺利完成测频3 步曲: 计数、锁存和清0。其VHDL 语言编程实现如下:
L IBRARY IEEE;
U SE IEEE1STD_ LO GIC_ 11641ALL;
U SE IEEE1STD_ LO GIC_ UN S IGN ED1ALL;
EN T ITY TESTCTL IS
PORT (CL KK : IN STD_ LO GIC; - - 1Hz
CN T_ EN , RST_ CN T,LOAD: OU T STD_ LO GIC) ;
END TESTCTL;
ARCH ITECTU RE behav O F TESTCTL IS
S IGNAL D IV 2CL K : STD_ LO GIC;
BEGIN
PROCESS ( CL KK )
BEGIN
IF CL KK′ EV EN T AND CL KK = ′ 1′THEN
D IV 2CL K < = NO T D IV 2CL K;
END IF;
END PROCESS;
PROCESS (CL KK,D IV 2CL K)
BEGIN
IF CL KK = ′ 0′ AND D iv2CL K = ′ 0′THEN RST_
CN T < = ′ 1′ ;
EL SE RST_ CN T < = ′ 0′ ;
END IF;
END PROCESS;
LOAD < = NO T D IV 2CL K; CN T_ EN < = D IV 2CL K;
END behav;
然后将本程序在Q uar tus II下经过编译, 其仿真波形如图1 所示, 由此可以看出, 其设计能满足测频控制信号
发生器的要求, 最后生成测频控制信号元件, 以便在顶层文件中调用。
来源:工业仪表与自动化装置