基于eda数字频率计设计

上传人:206****923 文档编号:42980076 上传时间:2018-06-04 格式:DOC 页数:13 大小:339.50KB
返回 下载 相关 举报
基于eda数字频率计设计_第1页
第1页 / 共13页
基于eda数字频率计设计_第2页
第2页 / 共13页
基于eda数字频率计设计_第3页
第3页 / 共13页
基于eda数字频率计设计_第4页
第4页 / 共13页
基于eda数字频率计设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于eda数字频率计设计》由会员分享,可在线阅读,更多相关《基于eda数字频率计设计(13页珍藏版)》请在金锄头文库上搜索。

1、1专业班级: 学生姓名: 指导教师(签名): 一、课程设计(论文)题目一、课程设计(论文)题目数字频率计的设计二、本次课程设计(论文)应达到的目的二、本次课程设计(论文)应达到的目的通过课程设计使学生能熟练掌握一种 EDA 软件(MAXPLUS2)的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。通过课程设计使学生能利用 EDA 软件(MAXPLUS2)进行至少一个电子技术综合问题的设计(内容可由老师指定或自由选择) ,设计输入可采用图形输入法或 VHDL 硬件描述语言输入法。通过课程设计使学生初步具有分析、寻找和排除电子电路中常见故障的能力,培养学生的自我能力和独立分析、解决问题的

2、能力。包括:查阅参考资料、工具书,掌握数字系统仿真调试的一般规律。通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、 设计要求等)设计要求等) 设计一个能测量方波信号的频率的频率计。测量的频率范围是 0999999Hz。结果用十进制数显示。 四、应收集的资料及主要参考文献:四、应收集的资料及主要参考文献: 1、赵曙光等编著 可编程逻辑器件原理、开发与应用 西安:西安电子科技大学出版社,20002、IC 设计基

3、础. 任艳颖,王彬编著. 西安:西安电子科技大学出版社.20033、FPGA 设计及应用.褚振勇,翁木云编著. 西安:西安电子科技大学出版社,20024、数字系统设计和 HDL 相关书籍和资料 五、审核批准意见五、审核批准意见教研室主任(签字)教研室主任(签字) 2目录目录一:课程设计名称:数字频率计的设计一:课程设计名称:数字频率计的设计33二二 :设计思想及系统框图:设计思想及系统框图.3.3三三 实现方法实现方法.4.4四四 具体模块和实现具体模块和实现.4.41 1 计数电路计数电路442 2 控制电路控制电路663 3 锁存模块锁存模块994 4 099999099999 计数器实现

4、计数器实现1010五:系统工作时序图五:系统工作时序图1111六:误差分析及总结六:误差分析及总结1111参考文献参考文献12123基于基于 VHDLVHDL 的数字频率计设计的数字频率计设计一:课程设计名称:数字频率计的设计一:课程设计名称:数字频率计的设计要求:设计一个能测量方波信号的频率的频率计,其技术要求如下:(1)测量频率范围:0Hz999999Hz。(2)结果用十进制数显示。二二 :设计思想及系统框图:设计思想及系统框图所谓频率,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔 T 内测得这个周期信号的重复变化次数为 N,则其频率可表示为 f=N/T当被测信号的频率较

5、低时,采用测频方法由量化误差引起的测频误差太大,为此应先测周期 Tx,然后计算 fx=1/Tx 。用标准时钟给定闸门信号,在已知时间内(1s)计算脉冲个数,得到的就是该未知信号的频率。由于信号较低时,1s 内的个数较少,计算误差太大,所以计时改为 10s,计数值除以十,便是频率。所以要能实现闸门的改变,实现自动切换。系统框图:测量频率系统框图如图所示,系统由控制器和处理器组成,控制器接收外部标准时钟和系统复位信号。处理器由计数器和锁存器和显示器组成COUNT_CLR 信号用于在每次测量开始时,对计数模块复位,以清除上次测量的结果。该复位信号高电平有效,持续半个时钟周期的时间。COUNT_EN

6、信号为计数允许信号,高电平有效。在信号的上升沿开始,对输入信号的频率进行测量。计数器开始对被测信号的脉冲数进行计数,即为信号的频率。锁存器的功能是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁4三三 实现方法实现方法用 maxplus2 编程实现底层模块,组装成高层模块,烧入指定芯片中,在指定数字电路板上测试功能。详细资料查看实验室资料和相关说明。四四 具体模块和实现具体模块和实现最底层模块和程序:1 计数电路十进制计数电路,满十输出一个正脉冲,提供高位计数器的计数脉冲,6 个组合可以实现 0999999 的计数,为基本计数单元。其程序源代码:library ieee;use ieee.

7、std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt102 isport( clk : in std_logic; -时钟信号clr : in std_logic; -清零信号ena : in std_logic; -时钟使能信号cq : buffer std_logic_vector(3 downto 0);cout : out std_logic -进位信号);end cnt102;architecture one of cnt102 isbeginprocess(clk,clr,ena)5beginif clr=1 t

8、hen cq=“0000“;elsif clkevent and clk=1 thenif ena=1 thenif cq=“1001“ then cq=“0000“;else cq=cq+1;end if;end if;end if;end process;process(cq)beginif cq=“1001“ then cout=0;else cout=1;end if;end process;end;生成模块(CNT102):6说明: ENA:为闸门信号,高电平有效,在有效时,允许计数,否则计数器停止计数并保持计数值不变。CLR:清零信号,下降沿有效,有效时计数器计数寄存器清零。CLK

9、:计数输入脉冲,计数的基本单位。Q3.0:计数值寄存器,输出计数值。COUT:进位脉冲。时序图2 控制电路控制闸门时间长度,实现时间长度自动切换,为控制电路核心模块。程序源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ct isport( clk : in std_logic;clr:out std_logic;ena : out std_logic;7lock : out std_logic);end ct;architecture ct_ac of ct issignal

10、 x : std_logic;beginprocess(clk)variable cnt : integerrange 999 downto 0;beginif clkevent and clk=1 thenif cnt999 thencnt:=cnt+1;else cnt:=0;x=not x;end if;if clk=0 and x=0then clr=1; else clr=0;end if;end if;8end process;ena=x;lock=not x;end ct_ac;生成模块(CT)说明:ENA:为闸门信号,高电平有效,在有效时,允许计数,否则计数器停止计数并保持计数

11、值不变。CLR:清零信号,下降沿有效,有效时计数器计数寄存器清零。CLK:标准时间脉冲,为已知脉宽信号,分频得到确定高电平宽度的脉冲 即 DOOR 信号。为系统工作的基准时间。LOCK:锁存控制信号,下降沿有效,有效时,将输入计数值锁存。时序图:93 锁存模块实现锁存计数值和比较计数值是否有效(在允许误差范围内),并输出相应结果信号,提供反馈信号。程序源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg4 isport( clk : in std_logic;cq : in

12、 std_logic_vector(3 downto 0);led : out std_logic_vector(3 downto 0);end reg4;architecture one of reg4 isbeginprocess(clk,cq)begin if clk=1 then led=cq;end if;end process;10end;生成模块(REG4)说明:CQ3.0:计数输入值,为锁存对象。LED3.0:4 位寄存器,为锁存输出,数值无效是输出全 1。CLK:标准时间脉冲,为已知脉宽信号,分频得到确定高电平宽度的脉冲即 DOOR 信号。为系统工作的基准时间。时序图:以上为

13、基本模块,下面构成高层模块,实现他们之间连接。4 :099999 计数器实现:11五:系统工作时序图五:系统工作时序图:说明:在 clk 输入周期为 1ms 的情况下,输入周期为 0.01s 的信号,得到对应 的频率为 100hz ,即为数字频率计测得的结果。 六:误差分析及总结六:误差分析及总结在实际使用在中(测试时),跟源输出频率有一定的误差(在误差允许范围内)。分析程序有以下几个位置会导致误差:121 闸门时间长度。在产生闸门信号宽度时,采用计数方式分频,得到需要的脉宽。当需要0.1 秒是器计数值应为 102.4,但计数值不能有小数,所以该为 102,使计数时间变短,造成误差。2 标准信号的脉冲宽度不标准由系统工作时序图知,标准信号是系统工作的基准,其准确性直接影响闸门宽度。周期为 1/1024=0.0009765625s,频率源提供有误差的频率会造成误差。3 数字信号本生的局限性信号频率是连续的,但数字信号本生是离散的,用离散量去代替连续量会有误差,但能够做得足够精确,以达到误差要求。低频时误差较大。课程设计总结:这次实验是典型的用软件来设计硬件,底层模块结合构成顶层模块,数字化系统,程序化实现,自动控制。虽然实现该功能不难,但其思想很重要,层次化设计流程,思路要清晰,目的要明确,方法要经得住推敲,现在模拟系统在中测试通过再

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号