基于FPGA的等精度数字转速表设计
第 29 卷 第 3 期
2010 年 6 月
兰 州 交 通 大 学 学 报
Journal of Lanzhou Jiaotong University
Vol. 29 No. 3
June 2010
文章编号: 10014373( 2010) 03012304
基于 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)
由上面可以看出, 测量频率的相对误差和被测
信号的频率无关, 仅与闸门时间和标准信号的频率
有关, 即实现了整个测量的等精度测量. 只要提高标
准信号源频率, 就可以大大提高测量精度. 闸门时间
越长, 标准频率越高, 测频的相对误差就越小. 标准
频率可用稳定度好、精度高的高频晶体振荡器产生,
在保证测量精度不变的前提下, 提高标准信号的频
率, 可使闸门时间缩短, 即提高测试速度.
* 收稿日期: 20100310
作者简介: 贾石峰( 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 equalaccuracy 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) : 47.
[ 3] 黄智伟, 王彦. FPGA 系统设计与实践[ M] . 北京: 电子
工业出版社, 2005.
[ 4] 王开军, 姜宇柏. 面向 CPLD/ FPGA 的 VH DL 设计
[ M] . 北京: 机械工业出版社, 2006.
[ 5] 吴蓉, 封志宏. 数字电子技术[ M] . 兰州: 兰州大学出版
社, 2005.
[ 6] 王阳光, 游大海. 微机继电保护中频率测量的 CPLD 实
现[ J] . 继电器, 2005, 33( 20) : 1922.
[ 7] 陈永刚, 杨海兴. 基于 FPGA 的通用异步收发器的设
计[ J] . 兰州交通大学学报, 2010, 29( 1) : 1620.
Design of Equalprecision Digital Tachometer Based on FPGA
JIA Shifeng, WANG Zhiyun
( School of Automation and Electrical Engineering, Lanzhou Jiaotong University, Lanzhou 730070, C hina)
Abstract: The equalaccuracy digital tachometer is designed based on FPGA by use of equalprecision fre
quency measurement theory in this paper. T he highprecision measurement and broadband frequency can be
achieved w ithout choosing the range because tw o 16bit 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 highprecision, realtime and flexible change of
scene.
Key words: equal precision; tachometer; VHDL; FPGA
126
基于FPGA的等精度数字转速表设计.pdf