您现在正在浏览:首页 > 职教文章 > 职教论文 > 基于FPGA的等精度数字转速表设计

基于FPGA的等精度数字转速表设计

日期: 2011/3/19 浏览: 96 来源: 学海网收集整理 作者: 贾石峰

第 29 卷 第 3 期

2010 年 6 月

兰 州 交 通 大 学 学 报

Journal of Lanzhou Jiaotong University

Vol. 29 No. 3

June 2010

  文章编号: 10014373( 2010) 03012304

基于 FPGA 的等精度数字转速表设计*

贾石峰,  王志云

( 兰州交通大学 自动化与电气工程学院, 甘肃 兰州  730070)

摘 要: 利用等精度测频原理, 设计了基于 FPGA 的等精度数字转速表. 计数部分采用了两个同步的 16 位计数器,

从而无需选择量程便可实现宽频段高精度的频率测量. 系统带有转速超限报警、转速过慢和过快报警等功能. 整个

电路在闸门时间内的总误差只有 1/ f clk , 且在整个量程中具有相同的测量精度. 系统在一片 FPGA 芯片上实现, 测

量精度高, 实时性好, 具有灵活的现场可更改性.

关键词: 等精度; 转速表; VH DL; FPGA

中图分类号: T N402      文献标志码: A

  由于传统转速表在测量时精度低, 可靠性差,

且测量精度随被测信号频率的变化而变化, 所以在

实际应用中有很大的局限性. 等精度频率计不但具

有较高的测量精度, 而且在整个频率区域能保持恒

定的测量精度. 因此, 本文给出了一种基于FPGA 的

等精度数字转速表的设计方法.

1  等精度测速原理

转速的电子测量类似于频率测量, 是将转动转

换成电脉冲, 通过计数器对脉冲计数得到转速. 等精

度测频原理如图 1 所示[ 1] .

图 1  等精度测频原理图

Fig. 1 Schematic of the equal accuracy digital tachometer

等精度测频法的闸门时间不是固定值, 而是被

测信号周期的整数倍, 即与被测信号是同步的, 在计

数允许时间内, 同时对标准信号和被测信号进行计

数, 设在闸门信号时间 T 中对被测信号的的计数值

为N x , 对标准信号的计数值为 N s , 标准信号的频率

为 Fs , 则被测信号的频率为

Fx = N x

N s

Fs (1)

由式(1) 可知, 若忽略标准Fs 的误差, 而等精度

测频可能产生的相对误差为

 = | F xe - F x |

Fxe

 100% (2)

式中: Fxe 为被测信号频率的准确值.

在测量中, 由于Fx 计数的起停时间都是由该信

号的上升沿触发的, 即门控信号是被测信号的整数

倍, 因此消除了对被测信号计数所产生的 1 误差,

在闸门时间 T 内对 F x 的计数 N x 无误差(T =

N x T x ), 对标准信号的计数 N s 最多相差一个数的误

差, 即 | N s | ! 1, 其测量频率为

Fxe = N x

(N s + N s ) Fs (3)

将式(1) 和式( 3) 代入式(2), 并整理得

 = | N s |

N s

! 1

N s

= 1

TF s

(4)

由上面可以看出, 测量频率的相对误差和被测

信号的频率无关, 仅与闸门时间和标准信号的频率

有关, 即实现了整个测量的等精度测量. 只要提高标

准信号源频率, 就可以大大提高测量精度. 闸门时间

越长, 标准频率越高, 测频的相对误差就越小. 标准

频率可用稳定度好、精度高的高频晶体振荡器产生,

在保证测量精度不变的前提下, 提高标准信号的频

率, 可使闸门时间缩短, 即提高测试速度.

* 收稿日期: 20100310

作者简介: 贾石峰( 1968) , 男, 吉林长春人, 副教授.

兰 州 交 通 大 学 学 报 第 29 卷

2  等精度测速的设计

本设计利用 FPGA 的高速数据处理能力, 完成

了等精度数字转速表计的设计. 硬件结构框图如图

2 所示, 该系统主要包括去噪模块、闸门信号控制模

块、被测信号和标准信号的测量计数模块、运算模

块、显示模块和报警模块[ 2] .

图 2  硬件结构框图

Fig. 2  Structure diagram of hardware

2. 1  噪声去除模块

从传感器上采集到的被测信号不是标准的脉冲

信号, 如果直接进行测量, 就可能产生测量的错误.

因此, 在被测信号进入计数器之前, 必须对采集到的

被测信号进行整形, 去除信号中的噪声.

去噪电路原理的波形图如图 3 所示, 这里主要

是根据单稳态触发器噪声消除电路的工作原理. 当

f in 有上升沿时, 中间信号 Ci 就置低电平, 过一定时

间后, 再置为高电平. 当Ci 遇到上升沿, 输入数据f in

就通过D 触发器传给了输出Q. 但当输入信号f in 消

失后, 输出端Q 就会输出低电平. 可以看出输入和输

出信号的周期是相等的[ 3] .

图 3  消噪电路的波形图

Fig. 3  Waveform of eliminating noise circuit

2. 2  闸门信号控制模块

由于等精度测频中的闸门信号是被测信号周期

的整数倍, 是与被测信号同步的. 系统为了产生这种

闸门信号, 首先对标准信号进行分频形成一段预闸

门信号, 当预闸门信号变为高电平时, 在被测信号的

上升沿时将实际闸门信号置成高电平; 预闸门信号

变为低电平后, 在被测信号的下一个上升沿将实际

闸门信号置成低电平, 这样就产生了与被测号同步

的实际闸门信号[ 4] .

这样以来, 测量频率的相对误差和被测信号的

频率无关, 仅与标准信号的频率有关, 即实现了整个

测量的等精度测量. 只要提高标准信号源频率, 就可

以大大提高测量精度.

2. 3  频率计数模块

频率计数模块由两个 16 位的门控带清零的高

速计数器组成, 用于分别测量标准信号和被测信号

的频率值. 当闸门信号有效时, 计数器开始同时对标

准信号和被测信号的脉冲个数进行计数, 在闸门信

号结束时, 计数器停止计数, 并产生一个控制锁存器

的信号, 以便将闸门信号下降沿时的计数器的值传

输给锁存器将其锁存.

根据实际需要, 在对被测信号的计数电路部分,

设置了一个最大转速限制, 当转速超过这个值时, 系

统会发出超速报警提示. 对于不同的系统, 这个设定

值可根据情况进行调节. 本设计该值设为 250 r/ s.

2. 4  计数值锁存模块

锁存器是一种对脉冲电平敏感的存储单元电

路, 对数据起保持作用, 它可以在特定输入脉冲电平

作用下改变状态. 当锁存信号有效时输入端的数据

被保存到输出端, 在下一个锁存信号有效时刻到来

之前, 输出端的数据状态不会改变. 在本设计中, 锁

存器模块的作用是在闸门信号关闭时, 将标准信号

计数器和被测信号计数器的计数值锁存起来, 然后

传输给运算模块进行计算[ 5] .

2. 5  运算模块

可用式(1) 来表示计算模块的功能, 这里主要

是完成一次乘法和一次除法. 由于 VHDL 语言不能

直接 实 现 乘 除 法, 所 以 在 本 设 计 中 调 用 了

M egafunction 库中 antrihmetic 里的 lpm_mult 参数

化乘法器和 lpm_divide 参数化除法器模块[ 6] .

由于硬件乘除法器只能实现整型数据的乘除

法, 那么计算转速结果的误差较大. 所以在设计中将

除法器的余数先扩大了10 000 倍, 然后再和除数 N s

相除, 将所得的商的小数点向左移动 4 位就得到了

频率计算中的小数部分. 这个设计就相当于实现了

实数的除法. 从而大大提高了系统的测量精度.

2. 6  报警模块

根据实际中对转速快慢的要求, 该模块中设置

了转速过慢、过快时报警提示. 本设计设置了在转速

124

第 3 期 贾石峰等: 基于 FPGA 的等精度数字转速表设计

低于 50 r/ s 时输出转速过慢报警信号, 在转速高于

200 r/ s 时输出转速过高报警信号. 当然, 这个转速

限制可根据实际情况来修改程序中的设定值.

3  系统设计与仿真结果

基于等精度测频的原理, 利用 VHDL 对各模块

进行设计并完成编译、仿真, 最后, 等精度转速表设

计的顶层原理图如图4 所示. 在Quartus II环境下对

电路进行了编译、仿真和编程下载. 整个系统的时序

仿真结果如图 5 所示.

图 4  等精度数字转速表的顶层原理图

Fig. 4  Top schematic of the equalaccuracy digital tachometer

图 5  系统电路仿真结果

Fig. 5  Simulation results of system circuit

  从 仿真 结 果可 知, 当标 准信 号的 周期 为

0. 1 ms, 被测信号的周期设置为 26 ms( 频率为

38. 461 53 H z) 时, 输出的转速值为 38. 461 5 r/ s.

由于转速小于 50 r/ s, 所以输出转速过慢报警信号

m alarm.

125

兰 州 交 通 大 学 学 报 第 29 卷

4  设计功能扩展

本测量电路可以和计算机结合, 将 FPGA 系统

测量的数据通过串口发送到计算机上来显示, 通过

计算机来实现对测量电路的远程控制. 在本设计的

基础上, 在 FPGA 中设计一个 RS 232 串行通信接

口模块, 将FPGA 板和计算机通过串口线连接, 即可

实现远程控制和数据显示[ 7] .

5  结束语

本设计根据等精度测频原理, 利用 VHDL 语言

完成了基于 FPGA 的等精度数字转速表设计. 设计

采用了两个同步测周期的计数器来对标准信号和被

测信号进行计数, 因此, 无需选择量程便可实现宽频

段高精度的频率测量. 此外, 通过提高测频系统的标

准信号频率, 可进一步提高测频的精度, 缩短测频时

间. 系统实现了 0 ~ 250 r/ s 的转速测量, 精度达到

1/ f clk . 整个系统速度快、精度高、稳定性好, 而且具

有可裁剪、可扩充、可升级等优势, 因此具有很好的

应用前景.

参考文献:

[ 1]  潘松, 黄继业. EDA 技术实用教程[ M] . 北京: 北京科

学出版社, 2005.

[ 2]  杨泽村, 刘大铭, 车进. 等精度数字转速表的 VHDL 设

计[ J] . 宁夏工程技术, 2007, 6( 1) : 47.

[ 3]  黄智伟, 王彦. FPGA 系统设计与实践[ M] . 北京: 电子

工业出版社, 2005.

[ 4]  王开军, 姜宇柏. 面向 CPLD/ FPGA 的 VH DL 设计

[ M] . 北京: 机械工业出版社, 2006.

[ 5]  吴蓉, 封志宏. 数字电子技术[ M] . 兰州: 兰州大学出版

社, 2005.

[ 6]  王阳光, 游大海. 微机继电保护中频率测量的 CPLD 实

现[ J] . 继电器, 2005, 33( 20) : 1922.

[ 7]  陈永刚, 杨海兴. 基于 FPGA 的通用异步收发器的设

计[ J] . 兰州交通大学学报, 2010, 29( 1) : 1620.

Design of Equalprecision Digital Tachometer Based on FPGA

JIA Shifeng,  WANG Zhiyun

( School of Automation and Electrical Engineering, Lanzhou Jiaotong University, Lanzhou 730070, C hina)

Abstract: The equalaccuracy digital tachometer is designed based on FPGA by use of equalprecision fre

quency measurement theory in this paper. T he highprecision measurement and broadband frequency can be

achieved w ithout choosing the range because tw o 16bit synchronized counters are used in counting part.

The system has alarm functions w hen the speed is overrun, too low or too fast. T he total system error is

only 1/ fclk seconds in gate time, and the same precision can be kept steadily in the w hole measuring range.

The w hole system is realized in a FPGA chip. So it has a highprecision, realtime and flexible change of

scene.

Key words: equal precision; tachometer; VHDL; FPGA

126


基于FPGA的等精度数字转速表设计.pdf

返回顶部