芯路恒电子技术论坛

 找回密码
 立即注册

扫一扫,访问微社区

热搜: 活动
查看: 1804|回复: 10

基于FPGA的8位十进制数字频率计实现

[复制链接]
  • TA的每日心情
    开心
    2019-3-17 17:17
  • 4

    主题

    14

    帖子

    426

    积分

    中级会员

    Rank: 4

    积分
    426
    QQ
    发表于 2018-5-4 18:35:11 | 显示全部楼层 |阅读模式
    本帖最后由 MCUlover666 于 2018-5-4 22:00 编辑

         跟着小梅哥学了一段时间FPGA想做个小东西,刚好赶上学校课程设计,于是就选择了数字频率计练练手,测量范围10Hz-50Mhz,通过8数数码管显示;       数字频率计的原理很简单,就是计算每秒钟内待测信号的脉冲个数,按照分模块设计的思想,分为:计数模块,数码管显示模块,控制信号模块,因为系统还需要高电平为1s的脉冲信号,所以还需要一个分频模块:
         1、计数模块
              计数器有二级制计数器和BCD计数器,因为计数器的计数结果需要经过译码送至数码管实时显示,所以选用BCD计数器,根据测量频率最大为50M,设计出计数器电路由8个4位BCD计数器级联实现;
        2、数码管显示模块
             BCD计数器的输出值为4位BCD码,经过显示译码电路送至数码管,显示译码电路通过查找表LUT设计方法实现;8位数码管同时显示8个不同的值需要通过16个IO(8位位选,8位段选)动态扫描显示,扫描间隔为1ms,AC620实验板上为了节省IO,通过两片74HC595实现串并转换,将16位串行数据转换为16位并行数据,所以采用三个IO口(工作频率SCK,存储频率RCK,数据线DIO)就可以实现数码管动态扫描显示,查阅74HC595数据手册可知,3.3V电压时工作频率SCK为1.25M;
        3、控制信号模块
             上面两个模块小梅哥都讲的很详细了,可以参考PDF或者视频,分频器最重要的就是控制信号模块,它需要产生3个控制信号:
            1)待测信号控制脉冲 —— 产生高电平时长为1s的门控信号,和待测信号经过与门;起到控制待测脉冲到达计数器的作用
            2)锁存信号控制脉冲 —— 计数器在门控信号为低电平时需要清零,以便下次计数,数码管上显示的数据需要保持,通过设计一个32位锁存器实现;在门控信号高脉冲结束时将数据送至锁存器供数码管显示

            3)计数器复位脉冲   ——  将计数结果送至锁存器后,需要将计数器清零;

        4、分频器模块
           系统需要0.5hz的门控信号,1hz的脉冲信号,利用分频器将50M系统时钟分频得到;
         一直很喜欢小梅哥的一句话,代码只是照图施工的过程,下面就是按照FPGA从上向下的设计思想实现整个设计了:

         (.....好像不是很好传verilog代码....放附件吧)

            modelsim仿真波形如图:         1.png
              
            用10hz,25khz,50mhz三个信号下板验证效果:
    aaaaaaaaa.png bbbbbbbbbb.png
    cccc.png
           第一篇帖子就结束啦,希望对一起学习的小伙伴有用~~~
    digital_frequency_meter.rar (4.45 MB, 下载次数: 234)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-2 14:50
  • 160

    主题

    299

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    12289
    发表于 2018-5-4 19:11:03 | 显示全部楼层
    传的图片太大了,耗费流量,还半天刷不出来,我已经给你修改了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-2 15:09
  • 3

    主题

    20

    帖子

    366

    积分

    中级会员

    Rank: 4

    积分
    366
    发表于 2018-5-4 19:56:18 | 显示全部楼层
    嗯嗯非常的不错,值得学习,多谢楼主的分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-6-6 11:33
  • 0

    主题

    2

    帖子

    17

    积分

    新手入门

    Rank: 1

    积分
    17
    发表于 2018-5-4 21:06:32 | 显示全部楼层
    感谢楼主的分享,我也学习一下。不过我用的是红色的老版学习板,还是要在理解原理的基础上再移植
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-5-28 22:37
  • 1

    主题

    7

    帖子

    48

    积分

    新手上路

    Rank: 2

    积分
    48
    发表于 2018-5-4 21:27:45 | 显示全部楼层
    GoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGood
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-17 17:17
  • 4

    主题

    14

    帖子

    426

    积分

    中级会员

    Rank: 4

    积分
    426
    QQ
     楼主| 发表于 2018-5-4 21:49:05 | 显示全部楼层
    admin 发表于 2018-5-4 19:11
    传的图片太大了,耗费流量,还半天刷不出来,我已经给你修改了

    谢谢小梅哥啦,下次发帖的时候一定注意~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-17 17:17
  • 4

    主题

    14

    帖子

    426

    积分

    中级会员

    Rank: 4

    积分
    426
    QQ
     楼主| 发表于 2018-5-4 21:51:58 | 显示全部楼层
    忆搁浅yu 发表于 2018-5-4 19:56
    嗯嗯非常的不错,值得学习,多谢楼主的分享

    哈哈,谢谢啦~~分享出来一起学习~                                                        
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-17 17:17
  • 4

    主题

    14

    帖子

    426

    积分

    中级会员

    Rank: 4

    积分
    426
    QQ
     楼主| 发表于 2018-5-4 21:53:34 | 显示全部楼层
    桂林小张 发表于 2018-5-4 21:06
    感谢楼主的分享,我也学习一下。不过我用的是红色的老版学习板,还是要在理解原理的基础上再移植 ...

    最关键的控制信号控制模块都是一样的,数码管显示部分应该有区别,加油^_^
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-17 17:17
  • 4

    主题

    14

    帖子

    426

    积分

    中级会员

    Rank: 4

    积分
    426
    QQ
     楼主| 发表于 2018-5-4 21:56:27 | 显示全部楼层
    中原小虾 发表于 2018-5-4 21:27
    GoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGoodGood ...

    哈哈,谢谢,这个回复很稳~                                          
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-1-2 15:09
  • 3

    主题

    20

    帖子

    366

    积分

    中级会员

    Rank: 4

    积分
    366
    发表于 2018-5-5 07:38:42 来自手机 | 显示全部楼层
    楼主你好!你这个可以在signal模块里面加一个待测信号选择模块,通过一个按键来选择要测的信号。
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|Archiver|芯路恒电子技术论坛  

    GMT+8, 2019-4-22 16:38 , Processed in 0.111140 second(s), 9 queries , File On.

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表