当前位置:文档之家› 基于FPGA的数字频率计的设计和实现

基于FPGA的数字频率计的设计和实现

基于FPGA 的数字频率计的设计和实现杨守良(渝西学院物理学与电子信息工程系 重庆 402168)摘 要:现场可编程门阵列的出现给现代电子设计带来了极大的方便和灵活性,使复杂的数字电子系统设计变为芯片级设计,同时还可以很方便地对设计进行在线修改。

本文以设计一个四位显示的十进制数字频率计为例,介绍了在一片F PG A 芯片上实现多位数字频率计的设计方法和实现步骤,并且给出了仿真结果。

在设计中,所有频段均采用直接测频法对信号频率进行测量,克服了逼近式换挡速度慢的缺点。

所设计的电路通过硬件仿真,下载到目标器件上运行,能够满足实际测量频率的要求。

关键词:数字频率计设计;V HDL ;现场可编程门阵列(FP GA );直接测频法中图分类号:T P 271+.82 文献标识码:B 文章编号:1004373X (2005)1111803Construction and Realization of the Digital C ymometer Based on FPGAY A NG Shouliang(Department of Physics &Elec t roni c Informa tion Eng i neeri ng ,West ern Chongqing Uni v ersit y ,Chongqi ng ,402168,China )Abstract :T he appear ance of F PG A (Field P ro gr ammable G ate A r ray )leads to t he co nvenience and flex ibility of the mo der n electr o nic construction ,w hich cha ng es the complicated dig ital electr onic sy stem co nstr uctio n into the on chip co nst ructio n .On the o ther hand ,it can a lso make so me o nline modificat ion expediently.W ith a case which describes an quadbit sho wn on t he decimal digital fr equency ,t he author intro duces the co nstr uct ion metho d and the r ealiza tio n steps o n a sing le F PG A chip.T he aut ho r show s an em ulational result.D ur ing the constr uction pro cess,the sig nal f requency of all the F requency Channel is measur ed by the way o f direct measurement ,which o ver comes the shor tcoming of lo w appr ox imate shift speed .W ith the cer tificatio n of t he har dwar e emulatio n system,t he cir cuit constructed can meet the demand of measur ing fr equency in the r eality,which has so me theor etic and pr act ical sig nificatio n.Keywords :desig n of the dig ital cymo meter ;V HDL ;F PGA (Field Pr og ram mable G ate A rr ay );dir ect frequency measur ement收稿日期:20050122 可编程逻辑器件和EDA 技术给今天的硬件系统设计者提供了强有力的工具,使得电子系统的设计方法发生了质的变化。

传统的“固定功能集成块+连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正在成为现代电子系统设计的主流。

在设计方法上,已经从“电路设计—硬件搭试—焊接”的传统方式转到“功能设计—软件模拟—下载”的电子设计自动化模式,从而大大提高了系统设计的灵活性。

本文以一个四位的十六进制频率计为例,介绍其设计和实现方法。

1 数字频率计设计实例数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

采用V DHL 编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA 芯片上实现,整个设计过程变得十分透明、快捷和方便,特别是对于各层次电路系统的工作时序的了解和把握显得尤为准确,而且具有灵活的现场可更改性。

在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能和测量频率的范围。

该数字频率计具有高速、精确、可靠、抗干扰性强、而且可根据需要进一步提高其测量频率的范围而不需要更改硬件连接图,具有现场可编程等优点。

1.1 数字频率计设计的基本原理本文以一个四位十进制、测量范围为1Hz ~16kHz 的数字频率计为例,采用SOPC /SOC 实验开发系统,以1Hz 测频控制信号,说明设计的基本原理及实现方法。

设计的数字频率计由测频控制信号发生器模块、锁存器和译码显示模块组成。

根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1s 的对输入信号脉冲计数允许的信号;1s 计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期做准备的计数器清0信号。

这3个信号可以由一个测频控制信号发生器产生,即图1中的T EST CT L ,他的设计要求是,T EST CT L 的计数使能信号CN T _EN 能产生一个1s 脉宽的周期信号,并对频率计的每一计数器CNT 10的EN A 使能端进行同步控制。

当CN T _EN 高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。

在停止计数期间,首先需要一个锁存信号LO AD 的上跳沿将计数器在前1秒钟的计数值锁118电子技术杨守良:基于FPGA 的数字频率计的设计和实现存进各锁存器REG 4B 中,并由外部的7段译码器译出,显示计数值。

设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。

锁存信号之后,必须有一清零信号RST _CN T 对计数器进行清零,为下1秒钟的计数操作做准备。

其工作时序波形如图1所示。

图1 频率计测频控制器测控时序图1.2 设计方法采用V HL 语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法进行设计。

在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。

根据本数字频率计实现原理,运用自顶向下的设计思想,设计的系统顶层电路图如图1所示。

各功能模块采用V HDL 语言描述。

1.2.1 测频控制信号发生器模块的设计要想使频率计能自动测频,还需要一个测频控制电路,要求他能产生3个控制信号:CN T _EN 、L OAD 和RST _CN T ,以便使频率计能顺利完成测频3步曲:计数、锁存和清0。

其VHDL 语言编程实现如下:L IBR A RY IEEE;U SE IEEE.ST D _LO GI C _1164.A L L ;U SE IEEE.ST D _LO GI C _U N SIG N ED.A L L ;EN T IT Y T EST CT L IS PO RT (CL K K :IN ST D _L OG IC; --1Hz CN T _EN ,R ST _CN T ,L OA D :O U T ST D _L O GIC); EN D T EST CT L ;A RCHIT ECT U RE behav O F T EST CT L IS SIG NA L DIV 2CLK :ST D _L OG IC;BEG IN PR OCESS(CL K K ) BEG IN IF CL KK ′EV EN T A N D CL K K =′1′T HEN DIV 2CL K <=N OT DIV 2CL K ; EN D IF ; EN D P ROCESS ; P RO CESS (CL K K ,DI V 2CLK ) BEGIN IF CLK K =′0′A N D Div 2CL K =′0′T HEN RST _CN T <=′1′; EL SE RST _CN T <=′0′; EN D IF ; EN D P ROCESS ; L O AD <=N O T DIV 2CL K ;CN T _EN <=DIV 2CL K ;EN D behav ;然后将本程序在QuartusII 下经过编译,其仿真波形如图1所示,由此可以看出,其设计能满足测频控制信号发生器的要求,最后生成测频控制信号元件,以便在顶层文件中调用。

1.2.2 四位锁存器的设计在本设计中,首先需要一个锁存信号L OA D 的上跳沿将计数器在前1秒钟的计数值锁存进各锁存器REG 4B 中,其锁存器的V HDL 语言编程实现如下:L IBRA RY IEEE ;U SE IEEE .ST D _L OG IC _1164.AL L ;EN T IT Y REG 4B IS P OR T (L O A D :IN ST D _L O GI C ; DIN :I N ST D _LO GI C _V ECT O R (3DO WN T O 0);DOU T :OU T ST D _L OG IC _V ECT O R (3DO W NT O 0));EN D REG 4B ;A RCHIT ECT U RE behav O F R EG 4B IS BEGINP ROCESS (LO A D ,D IN ) BEGIN IF L O AD ′EV EN T A N D LO A D =′1′T HEN D OU T <=DI N ; EN D IF ;EN D P ROCESS ;EN D behav ;同样的将此程序在QuartusII 下编译后,生成锁存器元件,以便在顶层文件中调用。

在本设计中,所需的其他模块采用普通的计数器模块和显示译码模块。

相关主题