基于FPAG的简易数字频率计设计
一、设计要求
- 1、 设计四位十进制的简易数字频率计,能够利用系统时钟产生1KHZ-9999KHZ方波信号,并且设计模块对1KHZ-9999KHZ的方波信号进行频率测量;
- 2、测量的方波频率值要在4位数码管上进行显示
- 3、此频率计要设有一个整体复位控制(有reset 按键),可恢复初始状态;
- 4、利用2个按键控制方波频率在1KHZ-10MHZ可调,步进1kHZ。1个按键按下频率增加1KHZ,另外一个按键按下频率减少1KHZ;
二、设计思路
- 1、分析要求,由设计要求知简易频率计可以分为两个部分:
第一部分:频率范围是:1KHZ-9999KHz,且频率可调,步进值为1kHz的方波发生器;
第二部分:简易的频率计;
- 2、通过顶层化设计思想,可以将任务分为四个模块:
第一部分:按键模块,(四个按键:复位、模式选择、频率加、频率减),其需要包含按键消抖模块;
第二部分:数码管显示模块,需要显示:方波发生器的方波频率;和频率计的测量频率;其需要一个BCD码转换模块和模式按键作为选择端的二选一模块;
第三部分:方波发生模块,其需要一个分频可键控的分频器;
第四部分:频率计模块,采用预置闸门法进行频率测量,因此需要一个计数器和分频器产生一个预置闸门;
三、模块讲解
第一部分:按键模块
1、按键消抖原理讲解
- 对于单按键的消抖模块,其接口如图所示,接口声明功能描述如下
- 按键消抖经常使用状态机来进行消抖,按照状态机的状态可以分为以下四个状态:为按下空闲时IDLE、按下抖动滤除状态FILTER0、按下稳定状态DOWN、释放抖动滤除状态FILTER1.其状态转换图如下:
其转移条件入下表所示:
2、按键具体模块
1)单bit信号同步
- 按键信号对于FPGA内部信号来说是一个异步信号,如果不进行处理直接输入,很容易出现时序违例出现亚稳态。因此需要将按键信号先同步到FPGA的时域里面,常见的方法便是二级触发器,其结构如图所示:
Verilog代码:
2) 边沿检测电路
- 通过上述状态机可以以看出,在转换条件中需要边沿检测电路,因此设计边沿检测电路,其原理图如图:
- 其检测过程:
根据上图可知,其为比较两个时钟输入信号电平是否一样,当前一个时钟为1,后一个时钟为0时:pos_out=1;反之neg_out=1;其他状态两个口为0;
Verilog代码:
3)状态机消抖设计
代码请参考上传资料;
第四部分:显示模块
1、数码管动态显示
对于数码管显示模块,其接口如图所示,接口声明功能描述如下
数码管逻辑图为:
子模块功能描述
第三部分:频率计模块
1、预置闸门法原理
- 对于数码管显示模块,其接口如图所示
- 其逻辑图为:
D触发器的功能:对应 CK 端上升沿,D端的信号传送到Q端。
由于D触发器的同步作用,计数器Ⅰ所记录的 NA已不存在 ±1 字误差的影响。 但是,实际的闸门时间T已不等于预置的闸门时间TP。因此,还需要同时测量实际的闸门时间T的大小。为了测量实际的闸门时间T,设置了计数器Ⅱ,并用标准时钟 f0 进行计数来确定实际闸门时间T的大小。
2、预置闸门法代码
具体代码请参考上传的文件内容;
由于频率计部分原理同分频器一致再次不进行叙述;
三、最后视图
最后代码,及原理图均已上传,详情参照具体代码;
下载地址:https://download.csdn.net/download/weixin_42348938/12063614
基于FPAG的简易数字频率计设计相关推荐
- 单片机c语言数字频率计的课程设计,基于单片机的简易数字频率计设计报告(最终版)最新版...
<基于单片机的简易数字频率计设计报告.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的简易数字频率计设计报告(最终版)>相关文档资源请在帮帮文库(www.woc88 ...
- 基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板)
基于FPGA的简易数字频率计+上板测试(小梅哥AC620FPGA开发板 目录 主要架构 1.计数模块 2.数码显示模块 3.控制信号模块 4.分频模块 例化模块 上板测试图 附:74HC595移位寄存 ...
- 简易电子琴c语言程序,基于单片机的简易电子琴设计(C语言编程).docx
单片机课程设计报告 基于单片机的简易电子琴设计 摘 要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器.它在现代音乐 扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经 ...
- 基于STM32F103的简易示波器设计
基于STM32F103的简易示波器设计(基于正点原子mini开发板) 摘要 本设计采用STM32F103微控制器,硬件为正点原子的MiniSTM32开发板,设计一个示波器,能够测量输入信号的频率.最大 ...
- 基于STM32F407的简易菜单设计+LCD+按键
基于STM32F407的简易多级菜单设计+LCD+按键 实现原理 主要使用 双向链表 结构实现的菜单: 结构体包含7个变量,分别是菜单中功能项的个数,当前菜单标题,菜单中各功能项标题,功能项的类型,然 ...
- 基于单片机的简易电子琴设计(电路+程序)
博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...
- 基于单片机的简易数字电压表设计(电路+程序)
博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...
- 基于单片机的简易电子钟设计
1.摘 要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广.发展很快.单片机体积小.重量轻.抗干扰能力强.环境要求不高.价格低廉.可靠性高.灵活性好.开发较为 ...
- 【Proteus仿真】【51单片机】简易数字频率计设计
文章目录 一.主要功能 二.硬件资源 三.软件设计 四.实验现象 联系作者 一.主要功能 1.可调节频率 2.LCD频率和周期 二.硬件资源 1.51单片机核心模块 2.NE555模块 3.LCD16 ...
最新文章
- 《评人工智能如何走向新阶段》后记(再续21)
- CommonJS规范与AMD规范的理解
- 轻松入门React和Webpack
- 内存是新的硬盘,硬盘是新的磁带
- Mysql 5.5的编译安装 在ubuntu 10平台上面
- 三个数相减的平方公式_快收好这份小学数学公式大全!孩子遇到数学难题时肯定用得上...
- http状态码批量查询工具V2.0
- VC学习笔记:简单绘图
- ORACLE 11g r2 RAC 安装实施规划
- VCF虚拟融合架构--企业IT基础架构建设新趋势-李飞 秦贵松 (VCF 虚拟融合架构 )
- 【数据结构】树(六)—— 二叉平衡树(C语言版)
- Linux(九、十)文件权限及网络配置管理
- test dword ptr [eax],eax ; probe page. 是怎么回事?
- 在谷歌地图上显示您的位置
- C语言:自定义函数中调用自定义函数的方法
- 敬告青年---陈独秀
- 16信号量(semaphore)
- SAPUI5是什么?Fiori告诉我们将来UI开发用哪种技术?
- Linux内核jump label与static key的原理与示例
- 中国网络优化行业发展前景预测分析及投资风险评估报告2021-2027年