0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习系列:34. 频率计的设计

FPGA学习交流 2018-08-28 16:16 次阅读

设计背景:

频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。频率计主要由四个部分构成:时基(T)电路、输入电路、计数显示电路以及控制电路

频率,即使信号周期的倒数,也就是说,信号每单位时间完成周期的个数,一般去一秒为基本单位时间。

设计原理:

本次的设计主要是一个简单的二选一数据选择器,我们的设计主

频率=1s/T,T=高电平的时间+低电平的时间。时间=周期数*周期。占空比=(高电平的时间/周期)100%。我们的时间单位都是以ns来计算的,所以要把1s换成1_000_000_000ns,驱动时钟是50MHz的,周期为20ns。计算占空比的时候,我们把周期20ns全部省略了。所以计算公式如下:

freq = 1_000_000_000/(low_time * 20 + high_time * 20);

duty_cycle = (high_time * 100)/(high_time + low_time);

设计架构图:

image.png


设计代码:

设计模块

0modulefreq_meter (clk,rst_n,wave,freq,duty_cycle);//端口列表

1

2 inputclk;//时钟

3 inputrst_n;//复位

4 inputwave;//被测频率

5 output[25:0]freq;//输出频率

6 output[6:0]duty_cycle; //输出占空比

7

8 reg[25:0]low_cnt;

9 reg[25:0]high_cnt;

10 reg[25:0]low_time;

11 reg[25:0]high_time;

12 regstate;

13

14 localparamhigh_state =1'b0;

15 localparamlow_state =1'b1;

16

17 always@(posedgeclk ornegedgerst_n)

18 begin

19 if(!rst_n)

20 begin

21 low_cnt <=26'd0;

22 high_cnt <=26'd0;

23 low_time <=26'd0;

24 high_time <=26'd0;

25 state <=high_state;

26 end

27 else

28 begin

29 case(state)

30 high_state :begin

31 if(wave ==1'b1)//判断输入为高电平

32 begin

33 high_cnt <=high_cnt +1'b1;

34 state <=high_state;

35 end

36 else

37 begin

38 high_cnt <=26'd0;

39 high_time <=high_cnt;

40 state <=low_state;

41 end

42 end

43

44 low_state :begin

45 if(wave ==1'b0)//判断输入为低电平

46 begin

47 low_cnt <=low_cnt +1'b1;

48 state <=low_state;

49 end

50 else

51 begin

52 low_cnt <=26'd0;

53 low_time <=low_cnt;

54 state <=high_state;

55 end

56 end

57 default:state <=low_state;

58 endcase

59 end

60 end

61

62 assignfreq =1_000_000_000/(low_time *20+high_time *20);//求频率

63 assignduty_cycle =(high_time *100)/(high_time +low_time);//求占空比

64

65endmodule

测试模块

0`timescale1ns/1ps

1modulefreq_meter_tb;

2 regclk;

3 regrst_n;

4 regwave;

5 wire[25:0]freq;

6 wire[6:0]duty_cycle;

7

8 initialbegin

9 clk =1'b1;

10 rst_n =1'b0;

11

12 #200.1

13 rst_n =1'b1;

14 #1_000_000_0//仿真10ms

15 $stop;

16 end

17

18 always#10clk =~clk;

19

20 initialbegin

21 wave =1'b1;

22 foreverbegin//产生占空比为60%,频率为1KHz的方波

23 #600_000

24 wave =1'b0;

25 #400_000

26 wave =1'b1;

27 end

28 end

29

30 freq_meter freq_meter_dut(

31 .clk(clk),

32 .rst_n(rst_n),

33 .wave(wave),

34 .freq(freq),

35 .duty_cycle(duty_cycle)

36 );

37

38endmodule

仿真图:


由于在前面没有测完一个周期出现了不稳定的因素,就出现了不准确的数值,当测试完一个周期以后,测到的数值就比较的准确,基本的没有什么误差。

相对的,如果测试的频率越大,测到的数值就越准确。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21667

    浏览量

    601843
  • 频率计
    +关注

    关注

    8

    文章

    174

    浏览量

    44334
收藏 人收藏

    评论

    相关推荐

    频率计数器的技术原理和应用场景

    频率计数器,又称频率计,是一种专门用于测量信号频率的电子测量仪器。以下是对其技术原理和应用场景的详细分析:一、技术原理频率计数器的技术原理基于周期计数技术,即将已知时间长度的标准时钟信
    发表于 10-18 14:03

    频率计数器的工作原理是什么

    频率计数器是一种电子测量仪器,用于测量信号的频率,即单位时间内的周期数。它广泛应用于科学、工程、通信和医疗等领域,用于测试和校准电子设备。
    的头像 发表于 05-31 15:53 1054次阅读

    频率计测试波形如何设置?

    频率计是一种用于测量信号频率的电子测量仪器。它可以测量各种周期性波形的频率,包括正弦波、方波等。
    的头像 发表于 05-30 16:35 681次阅读

    频率计的使用方法

    频率计,作为电子测量领域的重要工具,主要用于测量信号的频率。在现代电子工程、通信、航空航天等领域,频率计的应用日益广泛。然而,对于许多初学者或新用户来说,如何正确使用频率计可能是一个挑
    的头像 发表于 05-15 16:52 1060次阅读

    频率计的工作原理和分类详解

    在电子工程、通信和科研领域,频率计是一种不可或缺的电子测量仪器。它以其高精度、高速度和高分辨率的频率测量能力,为科研和工程实践提供了极大的便利。本文将深入解析频率计的工作原理,并详细介绍其分类,以期为读者提供全面而深入的了解。
    的头像 发表于 05-15 16:52 2201次阅读

    频率计的基本概念和组成部分

    在现代电子科技领域,信号的频率测量是不可或缺的一部分。频率计,作为专门用于测量信号频率的电子设备,其精准度和可靠性对于电子设备的调试、维护和研发都至关重要。本文将详细介绍频率计的基本概
    的头像 发表于 05-15 16:52 1002次阅读

    频率计的基本原理及分类 频率计的功能特点及应用场景

    在现代电子技术领域中,频率是一个极其重要的物理量。无论是无线通信、雷达探测,还是音频处理、电子测量,频率的准确测量和控制都至关重要。因此,频率计作为专门用于测量信号频率的仪器,其性能和
    的头像 发表于 05-10 15:27 3221次阅读

    频率计的使用方法和注意事项

    首先,选择与被测信号频率范围相匹配的频率计,并确保其工作正常。
    的头像 发表于 05-08 18:21 1912次阅读

    频率计有哪些作用

    频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。其主要由四个部分构成:时基(T)电路、输入电路、计数显示电路以及控制电路。又称为频率计数器,是一种专门对被测信号
    的头像 发表于 05-08 18:16 1300次阅读

    频率计的原理

    公司主营出售/回收:示波器、频谱分析仪、网络分析仪、信号发生器、万用表/示波器校准仪、手机综合测试仪、噪声系数分析仪、数据采集器、NI-GPIB卡、阻抗/LCR测试仪,音频分析仪、蓝牙/WANL测试仪、电源、电池测试仪、探头/配件、天馈线测试仪、光谱分析仪 频率计、功率
    的头像 发表于 04-03 17:00 704次阅读

    基于FPGA设计频率计方案介绍分享

    off。 2频率计介绍 频率计又称为[频率计数器],是一种专门对被测信号频率进行测量的电子测量仪器。频率计主要由四个部分构成:时基(T)电
    发表于 03-31 16:22

    基于51单片机的智能频率计毕设,C代码,仿真,原理图,论文

    设计要求 (1)以MCS-51系列单片机为控制器件,用C语言进行程序开发,结合外围电子电路,设计一款数字频率计; (2)能够对1HZ~20MHZ正弦波、三角波、方波信号等周期信号的频率进行测量
    发表于 03-18 12:57

    基于单片机的数字频率计的实现论文分享

     频率计测频原理方框图如图1所示。被测输入信号通过脉冲形成电路进行放大与整形(可由放大器与门电路组成),然后送到单片机入口,单片机计数脉冲的输入个数。计数结果经LED数码管显示,从而得到被测信号频率
    发表于 02-15 16:17 528次阅读
    基于单片机的数字<b class='flag-5'>频率计</b>的实现论文分享

    是德频率计53220A-开机自检报错维修

    近日某院校送修一台是德频率计53220A,客户反馈仪器开机自检报错,对仪器进行初步检测,确定与客户描述故障一致。本期将为大家分享本维修案例。 下面就是是德-53220A维修情况   是德频率计
    的头像 发表于 01-10 16:20 465次阅读
    是德<b class='flag-5'>频率计</b>53220A-开机自检报错维修

    微波数字频率计的基本工作原理是什么?

    微波数字频率计的基本工作原理是什么? 微波数字频率计是一种用于测量微波信号频率的仪器。它通过将输入信号与参考信号混合,然后通过数字处理技术来测量频率。下面将详细介绍微波数字
    的头像 发表于 12-21 15:37 787次阅读