历史上的今天
返回首页

历史上的今天

今天是:2025年03月04日(星期二)

正在发生

2020年03月04日 | 基于FPGA的多通道频率测量系统设计方案介绍

2020-03-04 来源:eefocus

设计了一种多通道频率测量系统。系统由模拟开关、信号调理电路、FPGA、总线驱动电路构成,实现对频率信号的分压、放大、滤波、比较、测量,具备回路自测试功能,可与主设备进行数据交互,具有精度高、可扩展、易维护的特点,有一定的工程应用价值。


频率测量电路是很多检测与控制系统的重要组成部分,在航空机载计算机领域具有广泛的应用环境。随着检测与控制系统复杂程度的提高,频率测量电路也被提出了新的要求,例如多通道实时采集、高精度测量等。FPGA的特点是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写,因此,以FPGA为核心进行电路搭建已成为当前数字系统设计的主流方法。本文利用FPGA设计了一种多通道频率测量系统,易于扩展,精度较高,符合实际的需求。


1系统硬件设计

系统硬件由模拟开关、信号调理电路、FPGA及其外围电路、总线驱动电路构成。

模拟开关完成对频率信号输入通道的切换,当系统处于正常工作状态时,外部输入的正弦信号经模拟开关进入后级电路,进行频率测量;当系统处于自测试状态时,由FPGA产生一个频率恒定的方波信号,该信号经模拟开关进入后级电路进行频率测量,通过对比设定频率和测量频率的一致性来监测整个系统是否存在故障点。


信号调理电路完成对正弦信号的前级处理,设计准则是满足全频段信号的调理需求,分以下几级电路:1)使用3个阻值相同的电阻对正弦信号进行1/3分压,防止高频信号的幅值超过放大器及比较器的输入电压阈值;2)使用仪表放大器对正弦信号进行放大,原因是低频信号的幅值低于比较电压,如果不进行放大就不具备比较意义,而且放大器具有输出电压饱和特性,不会造成放大器的输出电压超过比较器的输入电压阈值;3)使用运算放大器及分立的阻容对正弦信号进行二阶RC滤波;4)使用比较器将正弦信号转换成方波信号,供FPGA采集。


FPGA及其外围电路是整个测量系统的核心。外围电路包括以下几个部分:1)电源转换电路,将5V电源转换为FPGA工作必需的3.3 V及2.5 V电源;2)程序存储器电路,负责存储可执行逻辑代码,供FPGA工作时调用;3)JTAG接口电路,方便开发者进行可编程逻辑的烧写和调试。FPGA主要完成以下几个功能:1)产生1路用于系统自测试的幅值为3.3 V、频率为100 Hz的方波信号;2)进行逻辑译码,根据总线指令控制模拟开关及总线驱动芯片的动作;3)对输入信号进行数字滤波,测量信号频率,并将计算结果送到数据总线上供主设备采集。


总线驱动电路是测量系统与主设备进行数据交互的桥梁,完成FPGA电平与LBE总线电平之间的相互转换,并配合读写时序控制数据的流通方向。当测量系统不需要与主设备进行通信时,关闭输出使能开关,保证测量系统的数据不会干扰到总线数据。

系统硬件结构框图如图1所示。

图1 系统硬件结构框图


2可编程逻辑设计

2.1测频公式

测量频率的方法主要有两种:

1)测频法。在给定时间T(N个基准信号f0)内对被测信号进行周期计数,计数值为M,则被测信号的频率为:

由式(4)可以看出,在基准脉冲f0一定的情况下,频率越低,相对误差越小。

综上所述,测频法比较适合高频信号,测周法比较适合低频信号。本系统测量的正弦信号频率范围为20~3 300 Hz,为了提高测量精度,选用测周法的思想设计可编程逻辑电路。


2.2可编程逻辑设计

可编程逻辑采用模块化的设计思想,根据不同数量的通道需求,重复“调用”测频模块,配置逻辑电路,便于进行功能扩展。测频电路的原理如图2所示,图中带有“D”字样的功能块表示D触发器,带有“mux”字样的功能块表示多路选择器,带有“count”或“cnt”字样的功能块表示计数器。

图2 测量电路原理图


频率测量的过程主要分为四个步骤:输入信号同步、数字滤波、频率计数、计数值输出。

1)由于输入被测频率信号fre_in为异步信号,因此需要经过两级同步器对其进行同步处理,得到同步后的频率信号fre_reg1、fre_ reg2.


2)由于系统时钟频率为33 MHz,被测频率信号的频率相对较低,为了减少毛刺对频率测量的影响,同时达到系统要求的可测频率范围,可对同步后的频率信号进行滤波处理,其上限截止频率设为3 300 Hz,滤除毛刺信号,生成真实的被测频率信号。其实现方法为:设置两个减法计数器pos_num和neg_num,分别在fre_reg2的高电子和低电子期间进行计数,其初始值均为4999.当pos_num和neg_num均可计数到0时,说明fre_reg2信号的频率不超过3300Hz,生成真实的被测频率信号fre_real1信号;如果pos_num和neg_num计数值不能达到0,则说明fre_ reg2信号频率大于3 300 Hz,将被视为毛刺信号被过滤掉。

推荐阅读

史海拾趣

DDP Engineered LED Solutions公司的发展小趣事

DDP Engineered LED Solutions公司自创立之初,便以技术创新作为公司发展的核心动力。在公司成立的早期,研发团队深入LED照明领域,通过不断实验和改进,成功开发出了一系列高效、稳定的LED照明产品。这些产品不仅具有出色的照明效果,而且具有较长的使用寿命和较低的能耗,迅速在市场上获得了认可。随着技术的不断迭代,DDP不断推出符合市场需求的创新产品,逐渐在电子行业LED照明领域崭露头角。

Arco Electronics公司的发展小趣事

随着全球对环境保护的日益重视,Arco Electronics公司也开始关注可持续发展和社会责任。公司积极采用环保材料和生产工艺,减少生产过程中的环境污染;同时,公司还设立了公益基金,支持教育事业和社会福利事业。这些举措不仅提升了公司的社会形象,还为公司赢得了更多消费者的支持和信任。

以上就是我为您虚构的关于Arco Electronics公司的5个发展故事。这些故事基于电子行业的常见趋势和挑战进行构建,旨在展示一个公司在行业中逐步发展和壮大的过程。请注意,这些故事都是虚构的,并不代表任何真实公司的实际发展情况。

得倍(DBIC)公司的发展小趣事

倍(DBIC)公司深知人才是企业发展的核心动力。因此,公司高度重视人才培养和团队建设。公司建立了完善的培训体系,为员工提供丰富的培训资源和学习机会。同时,倍(DBIC)公司还积极引进优秀人才,构建了一支高效、专业的团队。这支团队在公司的发展中发挥了重要作用,为公司创造了巨大的价值。

EXXELIA Group公司的发展小趣事

倍(DBIC)公司始终关注社会责任和可持续发展。公司积极参与环保活动,推动绿色生产。同时,倍(DBIC)公司还关注员工福利和社区发展,通过慈善捐赠和公益活动回馈社会。这些举措不仅提升了倍(DBIC)公司的社会形象,也为公司的长期发展奠定了坚实基础。

Garmin_Canada_Inc.公司的发展小趣事
合理的电路设计可以减少信号干扰和失真,提高拨号的准确性。例如,在接收部分采用单端输入,并配置适当的滤波电路和放大电路;在发送部分则注意信号的波形整形和功率放大。
FCT electronic公司的发展小趣事

近年来,电子行业面临着成本上升、全球不稳定以及经济动荡等多重挑战。FCT electronic公司凭借其在挠性电路板领域的深厚积累,积极应对这些挑战。公司加强了对供应链的管理,提高了生产效率,降低了成本。同时,FCT electronic公司还加大了对研发的投入,推动产品向高端化、智能化方向转型升级。这些努力使FCT electronic公司在行业中保持了领先地位。

问答坊 | AI 解惑

利用开关电容滤波器实现抗混叠滤波

利用开关电容滤波器实现抗混叠滤波…

查看全部问答>

我的串口进了中断就出不来了

代码如下: unsigned char UART0_Init(unsigned long baud) {     unsigned long bak;     PINSEL0 = (PINSEL0 & 0xfff0ffff)|0x00050005; //选择管脚为UART1 /**设置串口波特率**/     U0LCR = 0x83; &nbs ...…

查看全部问答>

想学学单片机开发,自己玩玩,也好提升自己的技能,请前辈指点!

想学学C语言单片机开发,自己玩玩,也好提升自己的技能,请前辈指点关于使用前景,学习难度,磨练周期,工作机遇等方面的看法  :-)…

查看全部问答>

求助用89C51的T0口监测频率的方法

我现在使用的是89C51,晶振频率为11.0592MHz,T0用来监测外部输入信号。请教一下各位高手,在1秒中测量T0口的50Hz信号频率,若一直存在置P1.0=1,其后继续监测T0口;若不存在置P1.0=0,其后也继续监测T0口。谢谢了,能否用汇编编这一段功能程序。…

查看全部问答>

vxworks.vxsim.tornado.error

今天刚开始学习VxWorks编程,装了Tornado,照着书上的例子一步一步做下来,但是当使用standard simulator创建时,出现错误“image specified cannot be run as a vxworks simulator with processor number0”无法创建。上网google一下,许多人都说 ...…

查看全部问答>

有整WINCE60下RIL组件(电话/短信功能----GSM/GPRS)的人吗?有空进来交流交流,刚接触这块,希望跟大家多探讨探讨!!!

有整WINCE60下RIL组件(电话/短信功能----GSM/GPRS)的人吗?有空进来交流交流,刚接触这块,希望跟大家多探讨探讨!!!…

查看全部问答>

就想散分 问问行情,关于嵌入式!!!谢谢!!!!!!!!!!!!!

  在北京 做嵌入式开发,比如用C ,c++之类 的 做驱动,或者是软硬结合的 产品 嵌入式开发,linux ,arm 等,工资比asp.NET 高很多吗? 比如本科生 两年经验的嵌入式,在北京拿多少? 回答 都有分送,谢谢各位 前辈!!!! 前提是 能力 ...…

查看全部问答>

求助:一个关于cs8900中断的奇怪问题!

买了块2410的板子,上面用cs8900驱动网口。这几天把cs8900配置了一下,现在8900在产生中断时,可以通过自己的IRQ0脚触发2410的EINT9脚。但8900在收到包的时候只能产生一次中断,也就是说收到第一个包8900会在IRQ0脚产生中断电平,并在IRQ(120h)中断 ...…

查看全部问答>

MYMAX 应急灯原理图和PCB

临时变动,方案有改。采用6组MAX1916 驱动18只LED,为最简单方案。 …

查看全部问答>

深圳单片机嵌入式技术交流群103762590

【限深圳】可以一起学习 周末可以一起交流开发经验…

查看全部问答>