基于单片机与 FPGA 的等精度频率计设计

摘要 : 利用准等精度测频原理,提出了一种基于单片机与 FPGA 的等精度频率计设计方案 。 该频率计的测频范围可达 1Hz ~ 40MHz ,测量范围内频率测量的精度达到 10 -7 。
关键词 : 单片机与 FPGA ; 等精度测频; 频率计
频率是指周期性信号在单位时间( 1 s ) 内的变化次数 。频率检测是电子测量领域的最基本测量之一,在工作及生产中有着重要的作用 。 在自动检测系统中,人们常把压力、 转速 、 振动等信号转换为频率信号进行测量,因而频率检测的精确度也就成了影响检测结果准确度的一个重要因素 。 介绍了一种采用单片机与 FPGA 相结合的准等精度测频电路,从而能够以较低的成本来实现频率的高精度测量。

1 影响测频精度的因素

一般常见的影响测频精度的因素主要有 2 个方面,一方面是脉冲信号的形状,另一方面就是测频方法的选用。 在自动检测中,为了得到比较理想的脉冲形状,要注意传感器的初始安装位置,另外通常也会在信号的输入端加入脉冲放大整形电路,从而使脉冲的形状符合要求。 而在测频方式方法上,伴随着电子技术软、 硬件技术的发展,在现代测频技术中应用最多的是电子计数法。
电子计数法就是采用电子计数器对一个周期信号在单位时间内重复变化的次数进行计数,从而得到信号的频率值。 此方法的测量精度主要取决于基准时间和计数的量化误差。 电子计数法中较典型的测频方法有 M 法( 脉冲数定时测频法) 测频、 T 法( 脉冲周期测频法) 测频 。M 法测频是在确定时间 t c 内记录待测脉冲个数 m ,然后用所得的脉冲数 m 除以测量时间 t c ,就可得到频率 f 。 M 法测频适合于频率较高的场合,影响其测量精度的因素主要是所记录的脉冲个数 m 和 t c 的大小 。 例如,若脉冲的频率 f = 10 000 Hz,tc = 1 s 时,此时的测量精度可达 0. 01% 左右; 而当频率较低时,若脉冲的频率 f = 100 Hz ,tc 仍为 1 s 时,此时的测量精度就降低到 1% 左右了 。 另外 t c 的长短也会影响测量精度。 虽然 t c 取得较长时,测量精度较高,但不能反映被测量( 如转速) 的瞬时变化,不适合动态测量。 t c 也不能取得太小,太小会导致在 t c 时间段内得到的脉冲数太少,从而使测量精度降低。
T法测频则是在待测信号的一个周期 T x 内,记录标准频率信号变化次数 n ,然后用 n 除以 T x 得到频率 f 。 T 法测频适合于频率较低的场合。 例如,若脉冲的频率 f = 10 Hz ,标准频率信号的频率为 f s = 10 kHz 时,测量精度可达 0.1%左右; 但当频率较高时,若脉冲的频率 f = 1 000 Hz ,标准频率信号的频率 f s 仍为 10 kHz ,测量精度则会降低至 10% 左右 。由以上分析可见,不管是 M 法测频或 T 法测频都无法使频率信号在整个测量范围内得到一个同样的精度。 其精度会随着输入频率的高低不同而发生变化。 要想不论被测信号频率高低,测频精度始终保持不变,通常需采用多周期同步测频法。

2 多周期同步测频法的原理

多周期同步测频是指由被测信号控制门控信号的开启,在被测信号的多个时间周期内测量信号频率。 其原理波形图如图 1 所示 。

由图 1 可看出,这里所介绍的多周期同步测频只是对被测信号同步,对标准时钟信号并不同步,因此这只是一种准同步。 但由于闸门时间与被测信号同步,因此就消除了对被测信号计数产生的 ± 1 个字误差,使测频精度与待测信号的频率无关,从而可以实现在整个测频范围内的等精度测量。设在闸门时间 T 内,被测信号被计数为 N 个脉冲,标准时钟脉冲被计数为 M 个脉冲,那么被测信号的频率则为

相关推荐
2CM_Embed15 小时前
Altium Designer 原理图与 PCB 快速相互定位:Cross Probe 交叉探针
嵌入式硬件·pcb·altium designer·c2000
恒锐丰-罗生16 小时前
宽压大电流同步降压优选|CN3906 DC-DC 电源芯片,车载 / 工控 / IoT 全能供电方案
嵌入式硬件·硬件工程
happygrilclh19 小时前
STM32,串口单字节中断接受,每次上电后,会收到一个0x00的解决办法。
单片机·嵌入式硬件
鬼手点金20 小时前
FPGA常用型号参考
fpga开发·verilog·vivado·xilinx·vhdl·altera·lattice
智闲电子设计20 小时前
STM32 独立看门狗 IWDG 实战:系统跑飞,它来兜底复位
stm32·单片机·嵌入式硬件
zcmodeltech1 天前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
程序员与背包客_CoderZ1 天前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
嵌入式阿蔡1 天前
HAL库 vs LL库 vs 寄存器:到底用哪个?
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
天空'之城1 天前
单片机基础核心知识点汇总(三)
单片机·嵌入式硬件
嵌入式阿蔡1 天前
CAN总线入门:从协议帧到STM32实战
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库