- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
TOC \o 1-3 \h \z \u 前 言 1
1. 总体设计方案 2
1.1 总体设计方案 2
2. 单元模块设计 2
2.1 十进制计数器设计 2
2.1.1 十进制计数器原件cnt10设计 2
2.1.2 位十进制计数器顶层设计 4
2.2 闸门控制模块EDA设计 5
2.2.1 定时信号模块Timer 5
2.2.2 控制信号发生器模块T_con 7
2.3 译码显示模块 8
2.3.1 显示寄存器设计 8
2.3.2 译码扫描显示电路 9
2.3.3 译码显示模块顶层电路设计 12
3. 软件测试 13
3.1 测试环境 13
3.2 调试和器件编程 14
4. 设计总结 15
5. 参考文件 16
前 言
在电子技术高度发展今天,多种电子产品层出不穷,而频率作为设计最基础参数之一,而且和很多电参量测量方案、测量结果全部有十分亲密关系,所以,频率测量就显得更为关键。测量频率方法有多个,其中电子计数器测量频率含有精度高、使用方便、测量快速,和便于实现测量过程自动化等优点。
数字频率计是一个用十进制数字显示被测信号频率数字测量仪器,它基础功效是测量正弦信号、方波信号、尖脉冲信号和其它多种单位时间内改变物理量。当今中国外厂家生产数字频率计在功效和性能方面全部比较优良,而且还在不停发展中,但其结构比较复杂,价位也比较高,在测量正确度要求比较低测量场所,使用这些数字频率计就不够经济合算。我所设计这款数字频率计能够可靠实现频率显示功效,原理及结构也比较简单此次所做课程设计就是一个数字频率计,能测量1HZ~9999HZ矩形波信号,并正确地显示所测信号频率值。
数字频率计是数字电路中一个经典应用,实际硬件设计用到器件较多,连线比较复杂,而且会产生比较大延时,造成测量误差、可靠性差。伴随现场可编程门阵列FPGA广泛应用,以EDA工具作为开发手段,利用VHDL等硬件描述语言语言,将使整个系统大大简化,提升了系统整体性能和可靠性。?? 采取FPGA现场可编程门阵列为控制关键,经过硬件描述语言VHDL编程,在Quartus‖仿真平台上编译、仿真、调试 ,并下载到FPGA芯片上,经过严格测试后,能够较正确地测量多种常见波形信号频率,而且还能对其它多个物理量进行测量。
1. 总体设计方案
1.1 总体设计方案
数字频率计基础原理是用计数器来计算1S内输入信号周期个数。图1所表示是4位十进制数字频率计系统方框原理图,当系统正常工作时,脉冲发生器提供1 Hz输入信号,经过测频控制信号发生器进行信号变换,产生计数信号,被测信号经过信号整形电路产生同频率矩形波,送入计数模块,计数模块对输入矩形波进行计数,将计数结果送入锁存器中,确保系统能够稳定显示数据,显示译码驱动电路将二进制表示计数结果转换成对应能够在七段数码显示管上能够显示十进制结果。
图1 总体设计方案
2. 单元模块设计
2.1 十进制计数器设计
2.1.1 十进制计数器原件cnt10设计
十进制计数器即可采取Quartus‖宏元件74160,也可用VHDL语言设计,其源程序以下。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY cnt10_v IS
PORT(CLK,RST,EN:IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT:OUT STD_LOGIC );
END cnt10_v;
ARCHITECTURE behav OF cnt10_v IS
BEGIN
PROCESS(CLK,RST,EN)
VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST=1THEN CQI:=(OTHERS=0); --计数器异步复位
ELSIF CLKEVENT AND CLK=1 THEN --检测时钟上升沿
IF EN=1 THEN --检测是否许可计数(同时使能)
IF CQI9 THEN CQI:=CQI+1; --许可计数,检测是否小于9
ELSE CQI:=(OTHERS=0); --大于9,计数值清零
END IF;
文档评论(0)