基于FPGA的闸门时间为1s的计频器

  • 听歌
  • 前言
  • 功能
  • 总体思路
  • 流程图
  • 模块功能说明
  • 硬件方面
  • Vivado工程链接

听歌

The sound of silence----Simon & Garfunkel
老歌了。

《寂静之声》The Sound of Silence 超越半个世纪的经典

前言

这是学校的电子设计比赛中的一道题,我们队伍用basys3开发板做了这么一个计频器,下面提到的功能基本上都达到了,程序上略微还有一些瑕疵。

功能

  1. 测量正弦波信号的频率,1Hz-10MHz,峰峰值在20mV-1000mV,相对误差误差在10e-2以内;
  2. 测量两个同频不同相位的方波信号的时间间隔,峰峰值在100mV-1000mV,相对误差误差在10e-2以内;
  3. 测量方波信号的占空比,相对误差误差在10e-2以内;

测得的数据稳定,刷新时间不大于2s,自动显示单位。
(其实就是2015年全国电赛计频器的弱化版)

总体思路

1.测量频率:不断检测目标信号,一直到出现上升沿,此时打开1s的闸门,记录1s钟之内出现的上升沿、下降沿个数以及高电平、低电平的持续时间。如果上升沿的个数=下降沿的个数就说明上升沿的个数与高电平的时间是匹配的;如果上升沿的个数>下降沿的个数则说明下降沿的个数与低电平的时间是匹配的;由于是出现上升沿的时候开启闸门,所以理论上不会出现下降沿个数>上升沿个数的情况。

上升沿的个数>下降沿的个数 --> 频率=高电平时间/上升沿个数
上升沿的个数=下降沿的个数–> 频率=低电平时间/下降沿个数

2.测量时间间隔:将两路信号做异或运算,高电平的时长即时间间隔。需要注意的是当两路信号的相位差正好是180°时异或运算得到的信号全为高电平,这种情况为妨碍测量,需要特殊情况特殊处理。

3.占空比测量:在一个上升沿和一个下降沿之间,记高电平和低电平的时间

流程图



















































































选择功能









检测模块







频率数据处理模块







时间间隔数据处理模块







占空比数据处理模块









LCD1602








模块功能说明

检测模块:①测量闸门时间内的上升沿个数、下降沿个数、高电平时间、低电平时间。 ②测量两路信号异或后的信号的高电平时间。③测量一个周期内的高电平时间和低电平时间。

数据处理模块:以频率数据处理模块为例,首先凭借检测模块给出的原始数据计算出频率的值,然后通过加三移位法把二进制的频率转换成BCD码,然后对BCD码进行编码转换成LCD1602需要的数据。其余俩数据处理模块基本大同小异。

LCD1602:用简单的状态机就可以驱动。

硬件方面

题目给的电压都在1V以下,甚至有低于100mV的情况,这种电压不经处理的话显然FPGA是无法识别的,因此我们需要做两件事,第一件事是把电压放大至一个稳定的大小,第二件事是把正弦波整型成方波。需要用到AGC电路和TLV3501一类的电路,这部分网上资料很多,在这里我就不多说了。不过硬件方面确实要多花些时间,比起FPGA硬件对精度的影响要大的多。

Vivado工程链接

https://download.csdn.net/download/YIZHI_W/18669789

基于FPGA的闸门时间为1s的计频器相关推荐

  1. CASE_03 基于FPGA的等精度数字频率计

             该系类博客序言和资源简介可浏览该博客:PREFACE FPGA经典案例序言 快速了解该系列博客的内容与可用 资源. 目录 1. 简介 2.数字频率计的基本原理 2.1 数字频率计的设 ...

  2. 基于FPGA的频率计设计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.频率计是什么 二.使用步骤 1.测量方法 2.测周方法: 3.系统框图 总结 前言 所谓"频率" ...

  3. 基于FPGA的音乐播放器系统设计_kaic

    摘 要 音乐播放器随处可见,广播.CD.MP3.车载播放器.智能家居等系统,都用播放器娱乐着我们的生活.FPGA以硬件描述语言完成的电路设计,具有运算速度快,编程简单又稳定性,长期维护,成本等优点,本 ...

  4. 基于FPGA的通信显示系统设计

    一.系统介绍 本设计给出了一种基于FPGA的通信显示系统设计方法,采用EDA作为开发工具,QuartusII作为运行程序的平台,结合所学知识设计一个基于FPGA的通信显示系统设计,通过串口调试器发送图 ...

  5. 基于FPGA的时间数字转换(TDC)设计(五:基于Carry4的高精度TDC设计)

    1.基于Carry4进位链设计原理 常见的基于FPGA开发的TDC有直接计数法,多相位时钟采样法,抽头延迟线法等,之前内容为基于多相位的TDC,本章节中,主要讲解基于抽头延迟线法.在Xilinx FP ...

  6. 基于fpga的数码管动态扫描电路设计_【至简设计案例系列】基于FPGA的密码锁设计(altera版)...

    秦红凯 明德扬FPGA科教 一.项目背景概述 随着生活质量的不断提高,加强家庭防盗安全变得非常重要,但传统机械锁的构造过于简单,很容易被打开,从而降低了安全性.数字密码锁因为它的保密性很高,安全系数也 ...

  7. 基于FPGA的呼吸灯设计

    一:背景介绍: 网上类似的标题很多,有一些呼吸灯的设计是基于单片机的,还有一部分设计是基于FPGA的,我也一时手痒,将这两天自己重新写的verilog描述语句晒出来,免得压箱底放久了,出现发霉点. 为 ...

  8. 基于fpga的直流电机vhdl+论文+开题报告+(csdn免费下载)

    下载资料链接 摘要 直流电机是日常生活中常见的一种能量转换装置,它应用广泛,功能强大,在生产生活中占据着重要位置.直流电机的控制方法多种多样,控制系统的组成更是五花八门.本文将采用现场可编辑门阵列FP ...

  9. 【频率计】基于FPGA的频率计设计

    利用Altera公司的FPGA器件为主控器:在软件上,采用VHDL硬件描述语言编程,再MAXPLUSII中开发,极大地减少了硬件资源的占用.该数字频率计的lHz-10MHz输入被测脉冲信号具有频率测量 ...

最新文章

  1. halcon create_ocr_class_svm 使用SVM分类器创建OCR分类器
  2. 拥抱开源!除了微软红帽,这些国际大厂你认识几个?
  3. 云顶之弈机器人法爆_LOL云顶之弈机器人出装怎么选
  4. CSS中属性的值和单位
  5. ajax jsp模糊查询源码,Ajax动态执行模糊查询功能
  6. C#中获取当前时间:System.DateTime.Now.ToString()用法
  7. imageloader图片基本加载
  8. 百度地图显示服务器地址,百度地图_根据地图上标记位置获取街道信息,以及经纬度信息...
  9. python相对路径import 方法_Python 从相对路径下import的方法
  10. 在java中创建线程有几种办法_Java中创建线程的几种主流方式
  11. python中plot画图_matplotlib基础绘图命令之errorbar的使用
  12. Resharper:还记得NHibernate之夏中那如梦般的代码自动工具吗?
  13. mysql基础之mariadb集群主从架构
  14. spss主成分综合得分_权重赋值之“主成分分析法”
  15. 7-3 小L的难题 (15 分)
  16. c语言电话订餐管理系统
  17. C#--图表控件(Chart)
  18. 文字识别总结(OCR)
  19. # Day8:类的方法、三大特征、装饰器、组合、多态、设计模式
  20. 【隔离的CAN通信接口-1Mbps】

热门文章

  1. 超详细的OPA364AIDBVR规格参数介绍
  2. BZOJ 2423: [HAOI2010]最长公共子序列
  3. 基于Halcon的MFC窗口实现读图检测显示数据的功能
  4. 巯基活性染料FAM maleimide, 6-isomer
  5. java农机收割机租赁预约系统springboot+Vue
  6. 【Unity】摄像机锁定z轴
  7. python-tkinter编写计算器_Python-Tkinter计算器计算limi
  8. scrapy时尚网站onylady图片分类爬虫
  9. 真4K(12G/60Hz SDI)信号的采集压缩传输技术
  10. java开发门磁系统,你一定听过智能家居门禁,但它的系统门磁原理你知道吗?...