基于FPGA的多功能全同步数字频率计设计
基于FPGA的数字频率计的设计
沈 磊 , 善 化 ( 徽 理 工 大 学 电气 与信 息 工 程 学 院 , 徽 淮 南 2 2 0 ) 姚 安 安 3 0 1
S e e, o Sh n h a( e、 i I n fr t nE gn e igC l g , h i nv ri f h nLi Ya a — u El t dI omai n ie r ol e (r a a n o n e An u i s yo U e t
t n a t A of r ca f r Max pls Im a fc ur t a d i fa ED on s t o r wa e lto m + u I . nua t es i h r war lc r i uibo r。 wnla t e p o ed e t h P A s e ee ti cr t c c a d. do O ds “ f l r C ur o t e F G
现场 可 编 程 门 阵
图 1数 字频 率计 的原 理 框 图
片 F G (idPorm b a s Ⅱ 广 P AFe rga malG t a l e eA
列) 片上 , 个 系统 非 常 精 简 , 够 达 到 I 的 技术 指 标 。 芯 整 并能 川样 根
据 不 同 的需要 还 可以 重新 编 程 下载 , 行 升 级} 进 I 。
S in e& T c n l yAn u Hu ia 3 0 1 ce c e h oo . h i an n2 2 0 1 g
摘 要 : 硬件描 述语 言 V D 对 频率t 用 H L t 系统进 行设 计 , 此程序 在 E A软件平 台 M D pu I 上编 译仿 真后 , 作 lsI 制 出其 硬件 电路板 , 再将 程序 下载 到 F G P A模块 中实现 。 件设 计 中只需一 个下载 芯片 E 2 5 剩余 皆是输 入输 出部 硬 PC , 分, 包括 时钟 和数码 管驱动 以及发 光二檄 管 , 大大 地简化 了电 路结构 的复杂性 。 又提高 了电路 的稳 定性 。
基于FPGA的数字频率计的设计
Abstract:The frequency meter with digital frequency meter is directly in the decimal to display the measured signal of the frequency of a measuring instrument. This design in CPLD device with Verilog HDL on its digital frequency meter frequency measurement system, to be able to use the decimal digital display measured the frequency of the signal, able to measure the sine wave, square wave, triangle wave and the frequency of the signal, but also to other a variety of physical quantity measurement. The advantages of small size, high reliability, low power consumption characteristics. Digital frequency plan is a computer, communication equipment, audio video in scientific research production field indispensable measuring instrument. Based on frequency measurement principle and FPGA design thought, this paper presents a new digital frequencymeasurement system, the design of the system Verilog HDL language, using the top-down design thought, system function will take according to the division of the step by step a hierarchical design method. In the specific implementation, with FPGA for central processor to be measured frequency signal sampling period, by calling the macro Quartus II module occupies emptiescompared calculation.
基于FPGA的数字频率计设计
基于FPGA的数字频率计设计摘要数字频率计是一种常用的电子测量仪器,在工程领域中广泛应用。
与传统的模拟频率计相比,数字频率计具有精度高、响应快、体积小等优点,在现代电子技术领域中广泛应用。
本文将介绍如何使用FPGA设计数字频率计,并通过示例演示FPGA的应用。
介绍数字频率计是一种将输入信号的频率转换成计数信号输出的电子工具,它可以测量频率、周期和时间间隔等参数。
频率计通常采用数字进制计数方式,其测量精度取决于计数器的精度和时钟频率。
在电子电路测试、无线通信、音频、视频等领域中,数字频率计起着至关重要的作用。
FPGA(Field Programmable Gate Array)是一种具有灵活性、可编程性和高速性的逻辑芯片,适用于数字电路的设计和实现。
与ASIC(Application-Specific Integrated Circuit)相比,FPGA具有短设计周期、可重构、低成本等特点。
在数字系统中,FPGA作为计数器的电子部件,使得数字频率计的设计变得更加灵活和简便。
FPGA数字频率计设计系统框图FPGA数字频率计的系统框图如下:FPGA数字频率计系统框图FPGA数字频率计系统框图如图所示,FPGA数字频率计的输入端连接到待测信号,经过放大和滤波处理后送入计数器中进行计数,计数器输出的计数值存储在FPGA的存储器中并进行处理,最终形成数字频率读数并显示在数码管上。
输入端FPGA数字频率计的输入端通常使用低噪声前置放大器和有限带宽滤波器的组合,以保证待测信号的准确度和稳定性。
实际设计中应根据待测信号的具体情况选择合适的放大系数和滤波器参数。
计数器数字频率计的计数器是FPGA实现的核心部件。
计数器根据输入端计数触发信号进行计数,并将计数器输出的计数值存储在FPGA的存储器中。
计数器的计数值越大,频率读数的分辨率就越高。
在FPGA中,计数器可以采用累加计数器或移位寄存器计算,具体实现取决于设计者的需求和性能要求。
基于FPGA的数字频率计的设计与实现
基于FPGA的频率计的设计和实现金鹏湖北理工学院湖北省黄石市 435000摘要频率计是一种重要的电子测量仪器,本文主要针对使用FPGA(Field Programmable Gate Array)制作一个简单的频率计。
以FPGA(Field Programmable Gate Array)为核心,基于Verilog HDL语言来设计与实现数字频率计。
该频率计具有体积小,性能稳定的特点。
使用FPGA可以顺利设计和实现数字频率计。
关键词:FPGA,频率计,Verilog HDLDesign and implementation of FPGA based on the frequency meterJin pengHubei institute of technology Huangshi city of hubei provinceAbstractFrequency meter is an important electronic measuring instruments, and this article is focused on using FPGA (Field Programmable Gate Array) produced a simple frequency meter. FPGA (Field Programmable Gate Array), design and realization of the digital frequency meter based on Verilog HDL language. The frequency meter has a small size, stable performance characteristics. FPGA can successfully design and implement digital frequency meter.Key words: FPGA, frequency meter, Verilog HDL1总体方案1.1引言频率计又称为频率计数器,频率计最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T。
基于FPGA多功能频率计的设计设计
基于FPGA多功能频率计的设计设计基于FPGA的多功能频率计的设计目录摘要 (3)Abstract (4)第一章绪论 (5)1.1 研究背景及意义 (5)1.2 论文的研究内容及结构安排 (5)第二章频率测量原理概述 (7)2.1 开发平台及FPGA/CPLD简介 (7)2.1.1 Quartus II简介 (7)2.1.2 FPGA/CPLD简介 (7)2.2 数字频率计工作原理概述 (8)2.3 测频方法及误差分析 (10)2.3.1 常用测频方案 (10)2.3.2 等精度测频原理 (11)2.3.3 误差分析 (12)2.4 本章小结 (13)第三章等精度频率计的系统设计与功能仿真 (14)3.1 系统的总体设计 (14)3.2 信号源模块 (16)3.2.1 预分频 (16)3.2.2 分频模块 (17)3.3 按键控制模块 (19)3.4 测频控制信号模块 (20)3.5 锁存器 (21)3.6 计数器模块 (22)3.7 周期模块 (23)3.8 显示模块 (26)3.8.1 数据选择器 (26)3.8.2 数码管显示驱动 (26)3.9 本章小结 (27)第四章总体设计验证 (28)第五章总结与展望 (30)致谢 (31)参考文献 (32)附录文献翻译 (33)英文文献1 (33)英文文献2 (37)译文1 频率调制 (39)译文2 振幅键控 (43)摘要数字频率计是一种基本的测量仪器。
本设计根据等精度的测量原理进行设计,克服了传统的频率计的测量精度随被测信号频率的变动而改变的缺点。
等精度的测量方法在具有较高测量精度的同时,在整个频率区域保持有恒定的测试精度。
本文论述了利用FPGA/CPLD进行频率测量技术,设计了一个8位数字显示的等精度频率计。
它采用Verilog/VHDL硬件描述语言编写程序,在Quartus II软件开发集成环境下进行仿真,包括设计输入、编译、软件仿真、下载和硬件仿真等全过程。
基于 fpga 的数字频率计的设计与实现
基于 FPGA 的数字频率计的设计与实现随着现代科技的不断发展,我们对数字信号处理的需求也越来越高。
数字频率计作为一种用来测量信号频率的仪器,在许多领域有着广泛的应用,包括无线通信、雷达系统、声音处理等。
在这些应用中,精确、高速的频率测量常常是至关重要的。
而基于 FPGA 的数字频率计正是利用了 FPGA 高速并行处理的特点,能够实现高速、精确的频率计算,因此受到了广泛关注。
本文将从设计思路、硬件实现和软件调试三个方面,对基于 FPGA 的数字频率计的设计与实现进行详细讲解。
一、设计思路1.1 频率计原理数字频率计的基本原理是通过对信号进行数字化,然后用计数器来记录单位时间内信号的周期数,最后根据计数器的数值和单位时间来计算信号的频率。
在 FPGA 中,可以通过硬件逻辑来实现这一过程,从而实现高速的频率计算。
1.2 FPGA 的优势FPGA 作为一种可编程逻辑器件,具有并行处理能力强、时钟频率高、资源丰富等优点。
这些特点使得 FPGA 在数字频率计的实现中具有天然的优势,能够实现高速、精确的频率测量。
1.3 设计方案在设计数字频率计时,可以采用过采样的方法,即对输入信号进行过取样,得到更高精度的测量结果。
还可以结合 PLL 锁相环等技术,对输入信号进行同步、滤波处理,提高频率测量的准确性和稳定性。
二、硬件实现2.1 信号采集在 FPGA 中,通常采用外部 ADC 转换芯片来对输入信号进行模数转换。
通过合理的采样率和分辨率设置,可以保证对输入信号进行精确的数字化处理。
2.2 计数器设计频率计最关键的部分就是计数器的设计。
在 FPGA 中,可以利用计数器模块对输入信号进行计数,并将计数结果送入逻辑单元进行进一步的处理。
2.3 频率计算通过对计数结果进行适当的处理和归一化,可以得到最终的信号频率。
在这一过程中,需要注意处理溢出、误差校正等问题,以保证频率测量的准确性和稳定性。
三、软件调试3.1 FPGA 开发环境在进行基于 FPGA 的数字频率计设计时,可以选择常见的开发工具,例如 Xilinx Vivado 或 Quartus II 等。
基于FPGA的数字式频率计设计报告
湖南大学电气与信息工程学院本科生课程设计题目:数字频率计课程:电子技术综合设计专业:电子信息工程班级:1703指导老师:设计时间:目录一、选题 (1)二、要求 (1)三、方案原理 (3)四、框图 (4)五、单元电路说明 (6)1分频模块 (6)2 显示模块六、参考资料 (21)一、选题数字式频率计的VERILOG设计二、要求对输入FPGA开发板的一定频率的输入信号的频率进行测量,并通过LCD进行显示,并使可测量范围尽可能大,精度尽可能高三、方案原理(1)L CD显示原理本次设计中使用的是基于HD44780的LCD1602。
管脚定义图如下:要实现液晶显示功能有如下关键步骤:1.确定字符显示位置:要在液晶上的某个位置上显示某个字符,就是要向DDRAM的某个地址写入要显示的数据代码。
屏幕物理位置与DDRAM地址的对应关系如下:2.确定显示字符的内容:液晶要显示某个字符时,实质上就是显示该字符的字模, ,即向DDRAM里写数,数据与字模对照表如下:3.将数据写入LCD:执行以下步骤:清屏指令->功能设置指令->进入模式设置指令->显示开关控制指令->设定DDRAM地址指令->数据写入DDRAM指令,相关指令如下:液晶读数据时序:把数据写入液晶时序:由上图可知要保证液晶能正常显示,在E的下降沿时,数据要有效。
(2)频率测量原理利用分频模块获得一个1HZ的clk脉冲,同时设定一个计数脉冲,clk 脉冲作为时基,同时设定一个计数脉冲,每当clk脉冲跳变时,将计数寄存器中的数据送至显示寄存器,同时清零计数寄存器,并显示寄存器中的内容送至LCD显示模块,即可完成频率测量功能模块例化思路分频模块产生多种频率的信号供不同模块使用顶层文件脉冲计数count门控信号二-十进制转换模块LCD1602模块显示频率(最小单位1Hz)和占空比(最小单位0.1%)Clk_In,sysclkClk_GateClk_500Cnt7~Cnt0countClk_500。
基于fpga的数字频率计设计
基于FPGA的数字频率计设计随着科学技术的不断进步,数字电子技术在各个领域都得到了广泛的应用。
其中,FPGA(现场可编程门阵列)作为一种灵活、可编程、可重构的数字电路设备,具有较高的性能和灵活性,被广泛应用于数字信号处理、通信、图像处理等各个领域。
本篇文章将介绍基于FPGA的数字频率计设计。
一、概述数字频率计是一种用于测量信号频率的设备,可以方便快速地获取信号的频率信息。
传统的数字频率计通常采用微处理器或专用集成电路来实现,但是这些方案在某些应用场景下存在着局限性。
使用FPGA来设计数字频率计,既可以充分利用FPGA的灵活性和并行性,又可以实现高性能和低功耗的设计。
二、基于FPGA的数字频率计设计原理基于FPGA的数字频率计主要通过计数器和时钟信号来实现。
其设计原理可以分为以下几个步骤:1. 时钟信号同步:通过FPGA内部的PLL(锁相环)模块,可以实现时钟信号的同步和稳定。
2. 信号输入:将待测信号输入FPGA,可以通过外部接口或模拟输入模块实现。
3. 计数器设计:利用FPGA内部的计数器模块,对输入信号进行计数,从而获取信号的频率信息。
4. 频率计算:根据计数器的计数值和时钟信号的周期,可以计算出输入信号的频率信息。
三、基于FPGA的数字频率计设计实现基于上述原理,可以利用FPGA内部的逻辑资源,设计出一个高性能的数字频率计。
具体实现步骤如下:1. 确定输入信号的接口:选择适合的输入接口,可以是数字信号接口、模拟信号接口或者通用IO口。
2. 设计计数器模块:根据待测信号的频率范围和精度要求,设计合适的计数器模块,可以结合FPGA的时钟管理模块实现高精度计数。
3. 编写频率计算算法:根据计数器得到的计数值和时钟信号的周期,设计频率计算算法,可以采用移位运算、累加运算等实现高效的频率计算。
4. 实现显示与输出:设计合适的显示模块和输出接口,将测得的频率信息在显示屏或者外部设备上进行输出。
四、基于FPGA的数字频率计设计应用基于FPGA的数字频率计设计可以广泛应用于各种领域,如通信、测控、仪器仪表等。
基于FPGA的多功能频率计的设计与实现
基于FPGA的多功能频率计的设计与实现频率是电信号中重要的物理量,在电子、通信系统中,信号的频率稳定度决定了整个系统的性能,准确测量信号的频率是系统设计的重要内容。
单片机广泛地应用于电子系统设计,其性价比高,大量的外围接口电路,使基于单片机的电子系统设计方便,周期缩短。
然而,单片机的串行工作特点决定了它的低速性和程序跑飞,另外还存在抗干扰能力不强等缺点。
EDA(Electronic Design Automation)技术以计算机为工具,在Quartus II 软件平台上,对以硬件描述语言Verilog HDL/VHDL 为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、综合及优化、逻辑仿真,直至对特定目标芯片的适配、编译、逻辑映射和编程下载等工作,FPGA 是纯硬件结构,具有较强的抗干扰能力。
文中在FPGA 芯片中嵌入MC8051 IP Core,作为控制核心,利用Verilog HDL 语言进行编程,设计了以MC8051 IPCore 为核心的控制模块、计数模块、锁存模块和LCD 显示模块等模块电路,采用等精度测量法,实现了频率的自动测量,测量范围为0.1 Hz~50 MHz,测量误差小于0.01%。
1 8051IP(Intelligent Property)软核8051 单片机是以由VQM 原码(Verilog Quartus Mapping File)表达的,在QuartusII 环境下能与VHDL、Verilog HDL 等其他硬件描述语言混合编译综合,并在单片FPGA 中实现全部硬件系统。
MC8051 单片机核含有8 位复杂指令CPU,存储器采用哈佛结构,其结构框图如图1 所示。
MC8051 的指令系统与8051/2、8031/2 等完全兼容,硬件部分也基本相同,例如可接64KB 外部存储器,可接256 字节内部数据RAM,含两个16 位定时/。
基于FPGA的数字频率计的设计
基于FPGA的数字频率计的设计摘要:数字频率计(FREQ)是一种用于计算信号频率的设备。
本文提出了一种基于FPGA的数字频率计的设计方案,使用Verilog HDL实现了数字频率计,可以实现输入信号频率的测量和显示。
该数字频率计的设计具有快速响应、低延迟、高精度的特点,并且适用于各种频率范围的输入信号。
关键词:数字频率计;FPGA;Verilog HDL;测量;显示;精度1. 简介数字频率计是一种用于测量信号频率的设备,广泛应用于电子、通信、计算机等领域。
传统的频率计一般采用模拟电路实现,但其精度和速度有限,且易受到噪声和温度等因素的影响,难以应用于高精度和高速测量。
随着FPGA技术的不断发展,基于FPGA的数字频率计逐渐成为一种新的解决方案。
2. 设计方案本文提出了一种基于FPGA的数字频率计的设计方案,使用Verilog HDL实现了数字频率计,可以实现输入信号频率的测量和显示。
数字频率计的核心是计数器,通过计数器来测量输入信号的周期,并计算出信号的频率。
本设计方案采用了高速计数器的设计思路,具体步骤如下:(1) 输入信号经过芯片引脚电路,进入FPGA芯片。
(2) FPGA内置的输入输出模块将输入信号进行采样和滤波处理,得到纯净的数字信号。
(3) 数字信号经过计数器进行计数,计数值存储在计数器的寄存器中。
(4) 计数值经过时钟分频和计算,得到输入信号的周期和频率。
(5) 输入信号的频率通过显示模块在数码管或LCD显示屏上显示,同时可以通过按键或旋转编码器进行设置和控制。
3. 实验结果本设计方案采用ALTERA CYCLONE III系列FPGA芯片,频率范围从1Hz到50MHz,精度为0.01Hz。
实验结果表明,数字频率计响应速度快,延迟较低(约为100ns),精度高(误差小于0.1%),同时可以适应各种信号频率范围的测量。
4. 总结本文提出了一种基于FPGA的数字频率计的设计方案,采用了高速计数器的设计思路,具有快速响应、低延迟、高精度的特点,并且适用于各种频率范围的输入信号。
基于FPGA的多功能频率计的设计
MC 0 1的指 令 系 统 与 8 5 / 、0 1 85 0 1 8 3/ 2 2等 完 全 兼 容 。 件 硬 部 分也 基本 相 同 , 如 可接 6 K 例 4 B外部 存 储 器 , 接 2 6字 节 可 5 内 部 数 据 R M, 两 个 1 A 含 6位 定 时 / 数 器 , 双 工 串 口 . 节 计 全 含 省 功耗 工作 模 式 , 中断 响应 结 构 等 。 不 同 之 处 主 要 有 : 1 M 8 5 是 以 网 表 文 件 的方 式 存 在 的 ,只 有 通 过 编 译 )C01 综 合 , 载入 F G 中才 以硬件的方式 工作 , 普 通 85 并 PA 而 0 1总 是 以硬 件 方 式 存 在 的 :
XENL TRAl AD I 一 N _ —
fC T L f O R NO
厂■ 一
.
; I lDSN P A RSG E LA EIl C D
I : : :
C r 核 心 的 控 制 模 块 、 数 模 块 、 存 模 块 和 L D 显 示 模 o e为 计 锁 C 块 等 模 块 电路 , 用 等 精 度 测 量 法 , 现 了频 率 的 自动 测 量 , 采 实
频 率 是 电 信 号 中 重 要 的物 理 量 , 电子 、 信 系 统 中 , 在 通 信 号 的频 率 稳 定 度 决 定 了整 个 系 统 的 性 能 , 确 测 量 信 号 的 频 准 率 是 系统 设 计 的 重要 内容 。
单 片 机 广 泛 地 应 用 于 电 子 系 统 设 计 . 性 价 比 高 . 量 其 大 的 外 围接 口 电路 , 基 于 单 片 机 的 电 子 系 统 设 计 方 便 , 期 使 周
基于FPGA的数字频率计设计
.E D A课程设计题目基于FPGA的数字频率计设计系别计电系专业应用电子技术班级:06应电组员一:X俊组员二:杨利鲜组员三:董明超指导老师8位十进制显示数字频率计(带周期测量)功能要求:1、能测量1—99999999Hz的方波信号频率,(能测量10uS—1000mS的周期)[1MHZ/1us--1HZ/1000ms],并以十进制的方式显示。
2、具有工作方式转换控制键、开始键、停止键等控制键。
3、数值显示用LED数码管动态显示。
1、频率计的工作原理本文要设计一个8位十进制数字频率计,需要由四种器件来组成,即:测频控制信号发生器(FTCTRL)、有时钟使能的十进制计数器(T10)、32位锁存器(REG32B)、除法器模块(division). 因为是8位十进制数字频率计,所以计数器T10需用8个,7段显示LED7也需用8个.频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。
为此,测频控制信号发生器FTCTRL应设置一个控制信号时钟CLKK,一个计数使能信号输出端T_EN、一个与T_EN输出信号反向的锁存输出信号Load、和清零输出信号RST_T。
如CLKK的输入频率为1HZ,则输出信号端T_EN输出一个脉宽恰好为1秒的周期信号,可以作为闸门信号用。
由它对频率计的每一个计数器的使能端进行同步控制。
当T_EN高电平时允许计数,低电平时停止计数,并保持所计的数。
在停止计数期间,锁存信号Load的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B,由7段数码管稳定显示。
设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
锁存信号之后,清零信号RST_T对计数器进行清零。
为下1秒钟的计数操作作准备。
测频控制信号发生器的工作时序如图1示。
图1 测频控制信号发生器的工作时序图图2 电路设计原理框图2、用VHDL语言设计频率计频率计所需四种器件的VHDL文件(频率计的底层文件)及波形仿真结果2.1 测频控制信号发生器FTCTRLLIBRARY IEEE; --测频控制电路USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL ISPORT (CLKK : IN STD_LOGIC; -- 1HzT_EN : OUT STD_LOGIC; -- 计数器时钟使能RST_T : OUT STD_LOGIC; -- 计数器清零Load : OUT STD_LOGIC ); -- 输出锁存信号END FTCTRL;ARCHITECTURE behav OF FTCTRL ISSIGNAL Div2CLK : STD_LOGIC;BEGINPROCESS( CLKK )BEGINIF CLKK'EVENT AND CLKK = '1' THEN -- 1Hz时钟2分频Div2CLK <= NOT Div2CLK;END IF;END PROCESS;PROCESS (CLKK, Div2CLK)BEGINIF CLKK='0' AND Div2CLK='0' THEN RST_T<='1';-- 产生计数器清零信号ELSE RST_T <= '0'; END IF;END PROCESS;Load <= NOT Div2CLK; T_EN <= Div2CLK;END behav;图3测频控制信号发生器的波形仿真图2.2带时钟使能十进制计数器T10LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY T10 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END T10;ARCHITECTURE behav OF T10 ISBEGINPROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器复位ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数IF CQI < "1001" THEN CQI := CQI + 1; --允许计数ELSE CQI := (OTHERS =>'0');--大于9,计数值清零END IF;END IF;END IF;IF CQI = "1001" THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';END IF;CQ <= CQI; --将计数值向端口输出END PROCESS;END behav;图4带时钟使能十进制计数器的波形仿真图2.3. 除法器模块(division)library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_UNSIGNED.all;use IEEE.STD_LOGIC_ARITH.all;entity division isport(en:in STD_LOGIC;fx: in STD_LOGIC_VECTOR(31 downto 0);shang: out STD_LOGIC_VECTOR(31 downto 0));end division;architecture behav of division isbeginprocess(en,fx)beginif en = '1' thenshang<=CONV_STD_LOGIC_VECTOR(1000000/((conv_integer(fx(31 downto 28)))*10000000+(conv_integer(fx(27 downto 24)))*1000000+(conv_integer(fx(23 downto 20)))*100000+(conv_integer(fx(19 downto 16)))*10000+(conv_integer(fx(15 downto 12)))*1000+(conv_integer(fx(11 downto 8)))*100+ (conv_integer(fx(7 downto4)))*10+(conv_integer(fx(3 downto 0)))),32);else shang<=fx;end if;end process;end behav;图5除法器的波形仿真图2.4 32位锁存器REG32BLIBRARY IEEE; --32位锁存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B ISPORT ( LK : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B;ARCHITECTURE behav OF REG32B ISBEGINPROCESS(LK, DIN)BEGINIF LK'EVENT AND LK = '1' THEN DOUT <= DIN;END IF;END PROCESS;END behav;图6锁存器REG32B的波形仿真图3. 顶层原理图的设计输入在以上四个器件正确设计的基础上,再按设计原理图的要求将这四种器件连接起来,形成顶层文件,件编成电路图的形式,并在此基础上建立为一个新的工程,进行综合仿真.模块连接图如图2 电路设计原理框图所示。
基于FPGA的多功能全同步数字频率计设计
基于FPGA 的多功能全同步数字频率计设计饶成明1,2,马希直1(1.南京航空航天大学机电学院 江苏南京 210016;2.无锡职业技术学院 江苏无锡 214121)摘 要:在分析比较现有测频方法优缺点的基础上,介绍全同步测频原理,给出采用A T89C51单片机实现控制,并通过FP GA 芯片,在Max +Plus Ⅱ中运用V HDL 语言编程,设计出一个多功能全同步数字式频率计。
该设计可以兼顾频率计对速度、资源和测频精度等各方面的优化需求。
关键词:FP GA ;多功能;全同步;频率计;V HDL中图分类号:TN74;TP368.1 文献标识码:B 文章编号:10042373X (2010)022151203Design of Multi 2f unctional Full 2synchronization Digital FrequencyMeter B ased on FPG ARAO Chengming 1,2,MA Xizhi 1(1.College of Mechanical and Electrical Engineering ,Nanjing University of Aeronautics and Ast ronautics ,Nanjing ,210016,China ;2.Wuxi Institute of Technology ,Wuxi ,214121,China )Abstract :Based on the analysis of f requency 2measuring methods ,the f ull 2synchronization theory is introduced ,and a multi 2functional f ull 2synchronization digital frequency meter controlled by SCM 2A T89C51and V HDL Language is used for develo 2ping a program in Max +Plus Ⅱthrough FP GA chip is presented.This design methods can meet the needs of measurements for rate ,resource and f requency accuracy of the f requency meter.K eywords :FP GA ;multi 2f unction ;f ull 2synchronization ;f requency meter ;V HDL收稿日期:2009208224基金项目:无锡职业技术学院创新基金资助项目(2008DX004)0 引 言在电子技术领域内,频率是最基本的参数之一。
基于FPGA的数字频率计的设计课案
基于FPGA的数字频率计的设计学生专业:学生姓名:指导教师:摘要数字频率计是近代电子技术领域的重要测量工具之一,同时也是其它许多领域广泛应用的测量仪器。
它在规定的基准时间内把测量的脉冲数记录下来,换算成频率并以数字形式显示出来。
在许多测量方案以及测量结果中都会涉及到频率测量的相关问题,频率精确测量的重要性显而易见。
本设计在了解频率计的基本原理的基础上,基于直接测频法的测试手段,即在一定闸门时间内测量被测信号的脉冲个数;设计频率计的测量范围为1Hz-99.99MHz。
将设计分为六个模块,即顶层模块,分频模块,计数模块,单位选择模块,数码管位选模块,转换模块。
采用硬件描述语言Verilog HDL编写了各个模块的代码,并且利用Quartus II软件平台进行了功能的仿真,从而完成输入被测频率,通过选择不同档位,精确输出测量值,达到了预期目标。
关键词数字频率计;直接测频法;Verilog HDL;Quartus IIAbstractDigital frequency meter modern electronic technology is one of the important measurement tools and other areas widely used measuring instrument. It stipulated in the benchmark time to measure the number of pulses recording, the conversion into frequency and displayed in digital form. In many survey scheme and measurement results involve frequency measurements of related problems, the importance of accurate measurement of frequency is obvious.This design in understanding the basic principle of the frequency meter, on the basis of direct frequency measurement method based on the means testing, that is, in a certain gate time measurement of the measured signal pulse number; Design the frequency meter measuring range of 1 Hz-99.99 MHz. Will design is divided into six parts, a top-level module, points frequency modules, count module, the unit choose module, digital tube a chosen module, conversion module The hardware description language Verilog HDL write each module of the code, and make use of Quartus II software platform functions of the simulation. Then measured input frequency, by choosing different rank, precise output measured values, and reach the expected goal.Keywords Digital frequency plan;Direct frequency measurement method ;Verilog HDL;Quartus II目录摘要 (I)Abstract (II)第1章绪论 (1)1.1课题背景和意义 (1)1.2国内外发展情况 (1)第2章频率计测量原理及Verilog HDL概述 (3)2.1数字频率计测量原理 (3)2.1.1 直接计数测频法 (3)2.1.2 等精度测频法 (5)2.1.3 全同步测频法 (6)2.2Verilog HDL概述 (7)2.2.1 Verilog HDL介绍 (7)2.2.2 Verilog HDL程序开发流程 (8)2.3本章小结 (8)第3章数字频率计模块设计 (9)3.1数字频率计设计指标 (9)3.2数字频率计各个模块 (10)3.2.1 顶层模块fre_counter (10)3.2.2 分频模块clk_gen (12)3.2.3 计数模块count (14)3.2.4 单位控制模块count_4units (15)3.2.5 数码管位选模块led_sel (15)3.2.6 转换模块transform (17)3.3本章小结 (18)第4章数字频率计仿真 (19)4.1分频模块仿真波形 (19)4.2计数模块仿真波形 (19)4.3单位控制模块仿真波形 (20)4.4数码管位选模块 (20)4.5转换模块 (21)4.6本章小结 (21)第5章芯片介绍和管脚分配 (22)5.1FPGA芯片介绍 (22)5.2代码管脚分配图 (22)5.3顶层原理图效果图 (23)5.4本章小结 (23)结论 (24)致谢 (25)参考文献 (26)附录1程序源代码 (28)CONTENTSAbstract(Chinese) (I)Abstract(English) (II)Chapter 1 Introduction (1)1.1 Background and Significance (1)1.2 Domestic and foreign development (1)Chapter 2 Principle and Verilog HDL overview (3)2.1 Measuring principle (3)2.1.1 Direct count frequency measurement method (3)2.1.2 Precision frequency measurement method (5)2.1.3 With all BuCe frequency method (6)2.2 Verilog HDL overview (7)2.2.1 Verilog HDL introduction (7)2.2.2 Verilog HDL program development processes (8)2.3 Chapter summary (8)Chapter 3 Digital frequency plan module design (9)3.1 Digital frequency plan design index (9)3.2 Digital frequency plan each module (10)3.2.1 Fre_counter top-level module (10)3.2.2 Points clk_gen frequency modules (12)3.2.3 Count count module (14)3.2.4 The unit control module count_4units (15)3.2.5 Digital tube a choose led_sel module (15)3.2.6 Conversion module transform (17)3.3 Chapter summary (18)Chapter 4 Digital frequency plan simulation (19)4.1Points frequency modules simulation waveform (19)4.2 Count module simulation waveform (19)4.3 The unit control module simulation waveform (20)4.4 Digital tube a chosen module (20)4.5 Conversion module (21)4.6 Chapter summary (21)Chapter 5 Chip introduction and tube foot distribution (22)5.1 Introduced FPGA chip (22)5.2The code to pin assignment graph (22)5.3 Top principle diagram rendering (23)5.4 Chapter summary (23)Conclusion (24)Acknowledgement (25)References (26)Appendix 1 program (28)第1章绪论1.1课题背景和意义随着数字电路应用越来越广泛,传统的通用数字集成电路芯片已经很难满足系统功能的要求,而且随着系统复杂程度的不断增加,所需通用集成电路的数量呈爆炸性增长,使得电路板的体积迅速膨胀,系统可靠性难以保证[1]。
基于FPGA的全同步数字频率计的设计与实现
2008年第22卷第2期测试技术学报V o l.22 N o.2 2008 (总第68期)JOURNAL OF TEST AND M EASURE M ENT TECHNOLOG Y(Sum N o.68)文章编号:167127449(2008)022*******基于FPGA的全同步数字频率计的设计与实现Ξ包本刚1,何怡刚2,谭永宏1(1.湖南科技学院电子工程与物理系,湖南永州425100;2.湖南大学电气学院,湖南长沙410082)摘 要: 利用全同步频率测量原理,通过FPGA(F ield P rogramm albe Gata A rray)芯片,运用V HDL语言编程设计一个全同步数字式频率计,消除了±1的计数误差,测频范围在DC~100M H z,给出了各模块的V HDL设计方法和仿真波形.并且可以利用FPGA芯片构成系统板,具有较高的实用性和可靠性.关键词: FPGA;全同步;频率计;V HDL语言中图分类号: T P27 文献标识码:AI m plem en tation of a Com plete Synchron izationD ig ital Frequency M eter Based on FPGABAO B engang1,H E Y igang2,TAN Yonghong1(1.D ep t.of Physics and E lectrical Engineering,H unan U niversity of Science and Engineering,Yongzhou425100,Ch ina;2.Co llege of E lectrical and Info r m ati on Engineering,H unan U nivsity,Changsha410082,Ch ina)Abstract: A com p lete synch ron izati on digital frequency m eter is designed u sing FPGA ch i p by V HDL language p rogramm ing acco rding to the com p lete synch ron izati on m easu rem en t theo ry.It eli m inates±1 coun t erro r w ith an accu rate frequency2m easu ring range of DC~100M H z.T h is paper gives the design app roach by V HDL and the si m u lati on w avefo r m of every m odu le of the m eter.A system board can be m ade w ith the FPGA ch i p,w h ich has h igher p racticab ility and reliab ility.Key words:FPGA;com p lete synch ron izati on;frequency m eter;V HDL0 引 言频率测量不仅在工程应用中有非常重要的意义,在高精度定时系统中也处于核心地位,±1个计数误差通常是限制频率测量精度进一步提高的重要原因.由于测频技术的重要性,使测频方法也有了很大的发展,常用数字频率测量方法有M法、T法和M T(等精度测量法)法.M法、T法和M T法都存在±1个计数误差问题:M法存在被测闸门内±1个被测信号的脉冲个数误差,T法或M T法也存在±1个字的计时误差,这个问题成为限制测量精度提高的一个重要的原因.西安微电子技术研究所的魏西峰先生在2005年提出了全同步频率测量法[1],从根本上消除了限制Ξ收稿日期:2007209211 基金项目:湖南省教育厅基金资助项目(04C512),湖南科技学院科学研究资助项目 作者简介:包本刚(19762),男,讲师,硕士生,主要从事电子设计和测试研究.测量精度提高的±1个计数误差问题,从而使频率测量的精度和性能大为改善.基于对FPGA 器件和EDA 技术以及全同步测频方法的研究[1,6],介绍一种利用FPGA 实现DC ~100M H z 全同步数字频率计的实现方法,并给出实现V HDL 代码和仿真波形.整个系统在研制的FPGA CPLD 实验开发系统上调试通过.本设计采用了高集成度的现场可编程门阵列FPGA (F ield P rogramm ab le Gata A rray )F lex EPF 10k 20TC 14424芯片[3],通过软件编程对目标器件的结构和工作方式进行重构,能随时对设计进行调整,使得本设计具有集成度高,结构灵活,开发周期短,可靠性高的优点.1 全同步测频原理M 法、T 法的测量精度不仅取决于基准时间和计数器的计数误差,还取决于频率的高低,频率不同则精度不一样,M 法在高频段的准确度相对较高,T 法在低频段的准确度较高.M T 法(等精度测量法)则在整个测试频段的精度一样,闸门信号是被测信号周期的整数倍,即与被测信号同步,因此大大减少了误差,但由于只与被测信号同步,而不与标准时钟同步,因此还是存在着±1计数误差.其测频原理图如图1所示,误差计算为Ρ= f x -f ′x f x ×100◊= ∃M 0M 0≤1M 0=1t 0f 0,(1)式中:f x 为被测信号频率真实值;f ′x 为被测信号频率测量值;t 0为闸门时间;f 0为标准时钟频率.由式(1)可知,误差与闸门时间和时钟频率有关,闸门时间越长,标准时钟频率越高,误差越小.由于用等精度测频法时所取的标准时钟频率比较高(10M H z 以上),因此±1计数误差相对很小.标准时钟频率不可能无限制提高,并且随着频率提高,产品成本成倍增加,对于生产应用没有意义.因此本设计用改进的等精度频率测量方法全同步测量来实现数字频率计的设计.在全同步的情况下,闸门信号不仅与被测信号同步,还与标准时钟同步.其原理图如图2所示.图1 等精度测频原理F ig .1 T he equal p recisi on m easurem ent theory 图2 全同步测频原理F ig .2 T he comp lete synch ronizati on m easurem ent theo ry 设开启闸门时脉冲同步时间差为∃t 1,关闭闸门时脉冲同步时间差为∃t 2,脉冲同步检测最大误差为∃t ,则有∃t 1≤∃t ,∃t 2≤∃t .频率测量的相对误差为Ρ= f x -f ′x f x ×100◊= ∃t 1+∃t 2 t 0≤2 ∃t t 0,(2)由式(2)可知,误差只与脉冲检测电路准确度有关.显然,控制来提高频率测量精度是有效的,而且实现起来比提高标准时钟频率更容易.在以上分析的基础上,本设计采用FPGA 来实现全同步数字频率计.其系统原理框图如图3所示.由图3可知,设计的绝大部分由FPGA 完成,只有脉冲同步检测电路由74L S 系列与非门来实现以及显示部分由数码管构成.001测试技术学报2008年第2期2 全同步数字频率计模块设计FPGA 内部模块电路设计原理如图4所示.工作原理如下:被测频率与标准时钟分别送给脉冲同步检测电路与两个计数器,当脉冲同步检测电路检测到被测频率与标准时钟相位同步时,脉冲同步检测电图4 模块电路设计原理图F ig .4 T he p rinci p le diagram of model circuit design 路发出同步信号,2个计数器开始计数,当脉冲同步检测电路再次检测到同步信号时,又发出同步信号,计数器停止计数.同时计数器的计数值锁存到锁存器,时序乘法器从锁存器中取得被测频率的计数值与标准时钟频率进行乘法运算,然后再将乘法器运算所得的值与标准时钟的计数值送给除法器,乘法器的结果为被除数,标准时钟的计数值为除数,运算所得结果就是被测信号的频率,然后再经过20进制转换变成BCD 码,送给数码管显示.本设计采用10M H z 的标准时钟,由于乘法器输入是27位二进制,相当于9位10进制数,而10M H z 的标准时钟为107H z ,因此用被测频率的计数值乘以108可得到一位小数点.以下介绍各模块电路的功能及实现过程.2.1 脉冲同步检测电路脉冲同步检测电路如图5所示.U 1~U 8为74L S 系列与非门,同步检测电路利用门电路的延时来构成.当被测信号及标准时钟都处图5 脉冲同步检测电路F ig .5 Pulse synch ronizati on check circuit在低电平时,U 1,U 2输出为高电平,U 3,U 4的输出为高电平,U 5,U 6输出为低电平,则U 8输出为低电平.当被测信号(F x )及标准时钟的上升沿同时到来时,由于门电路具有延时特性,因此U 1,U 2并不马上变为低电平,而是要经过一个延时才变为低电平.于是U 3,U 4的输入端都是高电平,则U 3,U 4输出为低电平,U 5,U 6的输出为高电平,则U 8输出为高电平.但是当且仅当F x 与CL K 的上升沿在在延时时间内同时到达时U 8才会输出高电平.74L S 系列与非门的延时最小为4n s ,最大为15n s ,因此最大误差为11n s .根据式(2)得Ρ=2 ∃tt 0=2×11×10-9t 0=22109t 0.(3)当t 0为1s 时,其精度可达到10-7,如再减小相位误差,则可提高频率计的精确度.2.2 FPGA 芯片内部模块电路设计和仿真结果模块电路经过V HDL 编程,得到各模块的V HDL 设计实体(其中的各个模块都是针对本设计专门开发的),然后对各模块的设计实体在M A X +PLU S 中进行仿真,验证各模块的正确性.最后再设计一个顶层文件把各模块按图4连接起来,便构成了一个全同步数字频率计的FPGA 内部硬件电路.图6给出顶层文件的仿真结果,由仿真结果看出,124×108÷93=13333333,但是由于使用的是10M H z 的晶振,因此还有一位小数点最终显示的结果应该是1333333.3H z .图6可知,小数位在数码管的第二位上有效,其余位均无效.仿真结果与期望结果一致.至此,本设计得到成功验证.101(总第68期)基于FPGA 的全同步数字频率计的设计与实现(包本刚等)图6 仿真结果F ig .6 Em ulate result3 结束语利用AL T EA R 公司的FPGA 芯片F lex EPF 10k 20TC 14424[5],使用V HDL 语言设计了全同步数字频率计,在M A X +PLU S 中进行了各模块的仿真,达到了预期结果.全同步数字频率计是目前精度最高的频率计之一.在高速时钟随处可见的现代电子系统,有着非常广泛的研究价值.从某种程度上说它是以牺牲时间来换取精确度的,但一般情况下测频系统对时间的要求并不高,并且由于电子系统对系统时钟的准确度越来越高,因此全同步数字频率计有着广泛的应用空间.参考文献:[1] 魏西峰.全同步数字频率测量方法的研究[J ].现代电子技术,2005,203(12):1012105.W ei X ifeng .Comp lete synch ronizati on digital frequency m easure m ethod ’s research [J ].M odern E lectronic T echnique ,2005,203(12):1012105.(in Ch inese )[2] 徐成,刘彦,李仁发,等.一种全同步数字频率测量方法的研究[J ].电子技术应用,2004,38(12):43246.Xu Cheng ,L iu Yan ,L i R enfa ,et al .A comp lete synch ronizati on digital frequency m easure m ethod ’s research [J ].P licati on of E lectronic T echnique ,2004,38(12):43246.(in Ch inese )[3] A ltera Co rpo rati on .FL EX 10K P rogramm able L ogic D evice Fam ily D ata Sheet [EB OL ].200721213.h ttp : www .altera .com .cn p roducts devices flex 10k f 102index .h tm l.[4] 谢小东,李良超.基于FPGA 的等精度数字频率计设计[J ].实验科学与技术,2005,3(z 1):1772179.X ie X iaodong ,L i L iangchao .D esign of frequency m eter w ith equal p recisi on m easurem ent based on FPGA [J ].Experi m ent Science &T echno logy ,2005,3(z 1):1772179.(in Ch inese )[5] 莫琳.基于FPGA 的等精度频率计的设计与实现[J ].现代电子技术,2004,177(10):81283.M o L in .D esign and realizati on of frequency m eter w ith equal p recisi on m easurem ent on FPGA [J ].M odern E lectronic T echnique ,2004,177(10):81283.(in Ch inese )[6] 黄智伟.FPGA 系统设计与实践[M ].北京:电子工业出版社,2005.[7] 潘松,黄继业.EDA 技术实用教程[M ].北京:科学出版社,2002.201测试技术学报2008年第2期。
基于FPGA的数字频率计设计
基于FPGA的数字频率计设计-机电论文基于FPGA的数字频率计设计荆科科(郑州城市职业学院,河南新密452370)【摘要】设计是以FPGA为处理模块,以VHDL做为描述语言。
20MHz的晶振做为主时钟,外部两个按键分别是使能按键和复位按键,便于进行人工控制。
该设计通过直接测量的方法对被测信号的频率进行检测并显示。
详细介绍了系统的各个设计模块,并对调试过程进行说明。
该设计可以做成便携式手持设备用于测量手机中的实时时钟信号频率,还可以对音频信号的频率进行检测。
关键词FPGA;频率计;VHDL;模块设计;元件例化0引言频率计是根据其应用来设计的。
频率计数器最常见的应用是确定发射机和接收机的特性。
发射机的频率必须进行检验和校准,才能符合有关规章制度的要求。
频率计数器能对输出频率和一些关键的内部频率点(如本振)进行测量,查明无线电发射时候是否满足技术指标。
频率计数器的另一些应用包括计算机领域,在此领域中的数据通信、微处理器和显示器中都使用了高性能时钟。
对性能要求不高的应用领域包括对机电产品进行测量。
本设计采用FPGA作为控制核心,利用直接测量法对被测信号的频率进行测量显示。
1 设计要求1)设计4位十进制数字显示的频率计,其频率测量范围为10k—9999kHz;2)要求量程能够自动转换;3)当输入的信号小于10kHz时,输出显示全0;当输入的信号大于9999kHz 时,输出显示全F。
2设计原理本设计利用直接测量法进行测量计算,用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率,也就是周期性的被测信号在单位时间内变化的次数。
计数器是严格按照f=N/T的定义进行测频,其对应的测频原理方框图如图1所示。
工作时间波形如图2所示。
频率计的系统主要由被测信号、计数器电路、锁存器电路、时分复用、译码显示、时钟输入和分频电路组成2.1 整体设计思路本设计以频率为20MHz的晶振作为主时钟,在设计中,需要用到的信号有频率为5Hz的闸门信号,25Hz的按键消抖延时信号以及200Hz的数码管动态显示扫描信号;这三种信号由分频器产生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的多功能全同步数字频率计设计作者:饶成明马希直来源:《现代电子技术》2010年第02期摘要:在分析比较现有测频方法优缺点的基础上,介绍全同步测频原理,给出采用AT89C51单片机实现控制,并通过FPGA芯片,在Max+Plus Ⅱ中运用VHDL语言编程,设计出一个多功能全同步数字式频率计。
该设计可以兼顾频率计对速度、资源和测频精度等各方面的优化需求。
关键词:FPGA;多功能;全同步;频率计;VHDL中图分类号:TN74;TP368.1文献标识码:B文章编号:1004-373X(2010)02-151-03Design of Multi_functional Full_ synchronization Digital FrequencyMeter Based on FPGARAO Chengming1,2,MA Xizhi1(1.College of Mechanical and Electrical Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing,210016,China;2.Wuxi Institute of Technology,Wuxi,214121,China)Abstract:Based on the analysis of frequency_measuring methods,the full_synchronization theory is introduced,and a multi_functional full_synchronization digital frequency meter controlled by SCM_AT89C51 and VHDL Language is used for developing a program in Max+Plus Ⅱ through FPGA chip is presented.This design methods can meet the needs of measurements for rate,resource and frequency accuracy of the frequency meter.Keywords:FPGA;multi_function;full_synchronization;frequency meter;VHDL0 引言在电子技术领域内,频率是最基本的参数之一。
由于测频的重要性,也使测频方法有了很大的发展。
常用的数字频率测量方法有M法(直接测量法)、T法(周期测量法)和M/T法(等精度测量法),但这三种方法都存在±1个计数误差的问题。
全同步测量法的提出,从根本上消除了测量精度±1个计数误差问题[1],从而使频率测量的精度和性能大为改善。
基于传统测频方法的频率计测量精度随被测信号频率的变化而变化,且功能单一,成本较高,在实用中有很大的局限性[2]。
全同步测量不但有很高的测量精度,而且在整个频率区域能保持恒定的测量精度,同时通过功能的扩展,可以解决电信号和非电量的多个参数测量,从而实现功能的多样化。
在此,基于对单片机控制技术、FPGA器件和全同步测量方法的研究,给出一种利用FPGA实现DC-50 MHz多功能全同步数字频率计的实现方法及其仿真波形。
整个系统在研制FPGA/CPLD实验开发系统上调试通过。
采用这种方法,可以大幅度缩短设计周期,并使设计产品具有小型化,功耗低,速度高,集成度和可靠性高的优点。
1 全同步测频原理M/T法的测量精度不仅取决于基准时间和计数器的计数误差,还取决于频率,频率不同,则其精度不一样。
M法在高频段的准确度相对较高,T法在低频段的准确度较高,M/T法在整个测试频段的精度一样。
闸门信号是被测信号的整数倍,与被测信号同步,因此大大减少了误差,但由于只与被测信号同步,而不与标准时钟同步,因此还是存在着±1个计数误差。
其测量频率原理如图1所示[3]。
图1 等精度测频原理若不计标准时钟误差,则测量的相对误差计算为:-式中为被测信号频率的真实值为被测信号频率的测量值为闸门时间为标准时钟频率。
由式(1)可知,误差与闸门时间及时钟频率有关,闸门时间越长,标准时钟频率越高,误差越小。
由于用等精度频率法测量时所取的标准时钟一般都比较高,因此±1个计数误差相对很小。
标准时钟频率不可能无限制提高,并且随着频率的提高,产品成本成倍增加,对于生产应用没有意义。
因此该设计采用改进的等精度频率测量方法,即全同步测量来实现数字频率计的设计。
在全同步的情况下,闸门信号不仅与被测信号同步,还与标准时钟同步,其原理图如图2所示[4]。
图2 全同步测频原理设开启闸门时脉冲同步时间差为关闭闸门时脉冲同步时间差为脉冲同步检测最大误差为Δt,则有Δt。
频率测量的相对误差为:-由式(2)可知,误差只与脉冲检测电路的准确度有关,采用控制误差的方式可有效地提高频率测量精度,而且实现起来比提高标准时钟频率更容易。
在以上分析的基础上,该设计采用FPGA 实现多功能数字频率计,由74LS系列与非门来实现脉冲全同步检测。
脉冲同步检测电路如图3所示[5]。
图3 脉冲同步检测电路图3中为74LS系列与非门,同步检测电路由门电路的延时构成。
当且仅当与CLK的上升沿在延时时间内同时到达时才会输出高电平。
74LS系列与非门的延时最小为4 ns,最大为15 ns,因此最大误差为11 ns。
根据式(2)可得:-当时,其精度可达到10-7,如果再减少相位误差,则可提高频率计的精确度。
2 多功能全同步频率计模块设计该设计选用的是Altera公司生产的FPGA(Field Programmable Gate Array) 芯片,该芯片型号为EP1C6Q240C8,属应用VHDL语言数据类型,它的结构是层次化的,利用这些丰富的数据类型和结构模型,可对复杂的数字系统进行逻辑设计,并用计算机进行仿真。
在对其逐步完善后,再进行自动综合,最后下载到可编程逻辑器件中,从而完成设计任务。
2.1 硬件电路设计系统原理图系统组成原理框图如图4所示[6]。
该系统由一片FPGA完成各种测试功能,并实现计数。
系统控制由AT89C51单片机完成,包括对键盘信号、测量结果、FPGA测量过程、LED显示等信号和数据的处理[7]。
被测信号通过整形电路整形后,送入FPGA芯片测频计数。
单片机由外接12 MHz标准晶振提供时钟电路。
用50 MHz的有源晶振作为FPGA的标准频率。
电源部分采用220 V交流电压变压、滤波、稳压后得到5 V电压供整个系统使用。
图4 系统原理框图2.2 FPGA实现模块在电子设计领域,可编程逻辑器件(Programmable Logic Devices,PLD)的出现,改变了传统系统设计由门级电路到模块再到系统的设计方法,而是由顶层到底层的设计,使系统设计和升级具有极大的方便性和灵活性。
FPGA是目前应用最广泛的可编程器件之一。
它的设计需在专用的设计环境下,经过设计输入、编译、仿真、综合等步骤[8],再通过下载器下载到与FPGA配套的储存器件中,当系统工作时,FPGA会自动读取数据,从而实现预定的电路设计功能。
该频率计的测试功能都由FPGA完成。
根据测频原理,利用VHDL语言编写各个部分逻辑模块,实现框图如图5所示。
设计原理图主要由脉冲同步检测电路、控制器、计数器、相位测量、脉宽/占空比测量、多路选择器电路等组成。
以测频为例,工作原理如下:被测信号TCLK及标准时钟BCLK分别送给脉冲同步检测电路及测频电路中的两个计数器,当脉冲同步检测电路检测到TCLK与BCLK 同步时,脉冲同步检测电路发出同步信号,两个计数器开始计数,同时控制器发出指令,由多路选择器选择测频开始;当脉冲同步检测电路再次检测到同步信号时,又发出同步信号,测频模块中两个计数器停止计数,同时计数器所得数据传输给外围控制电路运算,所得结果就是被测信号的频率。
图5 FPGA模块电路原理图2.3 软件设计各种测试功能流程如图6所示[9]。
以测频为例,在系统初始化后,由键盘扫描子程序读入要执行的功能键;读入键之后,立刻跳转到测频子程序;测频子程序先置测频控制位SPUL,CL,SEL,将FPGA内的计数清零,然后将预置门的时间值读入单片机再打开预置门进行测频计数,等预置门时间到后,关断预置门;然后FPGA给单片机一个结束信号,单片机读到结束信号后,通过DATA 端,分四次将测频结果的32位数据读入单片机,计算后将结果转换为BCD码送入LED显示输出。
由于测控主程序较长,这里不给出。
图6 单片机主程序流程图2.4 FPGA芯片顶层设计及仿真结果根据图5所示的模块电路设计原理,并经过VHDL编程,得到各模块的VHDL设计实体。
对各模块的设计实体在Max+Plus Ⅱ中进行仿真,验证各模块的正确性。
设计一个顶层文件把各模块按图5连接起来,便构成了一个全同步多功能数字频率计的FPGA内部硬件电路。
图7给出测频顶层文件的仿真结果。
图7 测频顶层文件仿真波形图3 结语与传统的频率计相比,基于EDA技术设计的频率计简化了电路板的空间,提高了系统设计的可靠性。
在设计中采用全同步和两个同步的32位计数器,无需选择量程便可实现宽频高精度的频率测量,并在FPGA中实现系统集成,达到预期效果。
该频率计还具有扩展功能,配上相应的转换器可测量电压、电流、功率和电阻等电量;配合传感器还可以测量长度、位移、重量、压力、温度、转速、速度等非电量[10]。
因此,全同步多功能频率计有着广泛的应用空间。
参考文献[1]徐成,刘彦,李仁发.一种全同步数字频率测量方法的研究[J].电子技术应用,2004,38(12):43-46.[2]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.[3]李云鹏,王思明.基于FPGA的等精度频率计设计[J].电子元器件应用,2007,9(11):54-55.[4]魏西峰.全同步数字频率测量方法的研究[J].现代电子技术,2005,28(12):101-105.[5]包本刚,何怡刚,朱湘萍.全同步数字频率计的VHDL设计与仿真[J].现代电子技术,2007,30(20):176-178.[6]林占江,林放.电子测量仪器原理与应用[M].北京:电子工业出版社,2006.[7]孙涵芳.MCS51/96系列单片机原理及应用[M].北京:北京航空航天大学出版社,1994.[8]谭会生.EDA技术及应用[M].西安:西安电子科技大学出版社,2004.[9]金西.VHDL与复杂数学系统设计[M].西安:西安电子科技大学出版社,2003.[10][美]Michael John,Sebastian Smith.专用集成电路[M].北京:电子工业出版社,2007.。