收藏 分销(赏)

数控分频器的设计.doc

上传人:仙人****88 文档编号:8991504 上传时间:2025-03-10 格式:DOC 页数:6 大小:1.17MB 下载积分:10 金币
下载 相关 举报
数控分频器的设计.doc_第1页
第1页 / 共6页
数控分频器的设计.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
数控分频器的设计 摘要:此设计以quartusII为开发平台,用VHDL语言设计了数控分频器,并生成原理图,完成了分频的功能,并在quartusII上仿真,验证通过。 关键词:QuartusII VHDL语言 数控分频器 仿真 Design ication of the Numerical Control Frequency Division Machine Abstract : Key words : QuartusII VHDL language Numerical Control Frequency Division Machine Emulation 0 引言 随着EDA技术的高速发展, 以大规模和超大规模器件FPGA/CPLD为载体、以VHDL(硬件描述语言)为工具的电子系统设计越来越广泛。在数字逻辑电路设计中,分频器是一种基本电路。通常用来对某个给定频率进行分频,以得到所需的频率。数控分频器的功能是在输入端输入不同数据时,对输入时钟产生不同的分频比,使输出信号的频率为输入数据的函数。他可广泛应用于数字电子系统中。用传统的设计方法设计数控分频器时,采用具有预置数据输入端的通用计数器芯片,按设计要求完成设计,其设计过程和电路都比较复杂,尤其是当分频系数比较大时,需用多片集成计数器和设计更复杂的控制电路来实现,且设计成果的可修改性和可移植性都较差。基于VHDL 的数控分频器设计,采用用软件的方法设计硬件的EDA (电子设计自动化) 技术。作为EDA 技术重要组成部分的硬件描述语言,V HDL 是一种IEEE 工业标准的建模语言。由于VHDL 具有很强的电路行为描述、系统描述能力和层次化的程序结构,用他设计的数控分频器作为一个模块,可移植到很多数字电路系统中,且极易修改,只要修改程序中的某几条语句,就可使最大分频系数得到改变。整个设计过程简单、快捷。另外由于VHDL 具有与硬件和设计平台无关的特点,设计结果可通过众多EDA 平台下载到各种CPLD 或FPGA 可编程器件中,实现单片化的数字电路,使得工作稳定、可靠。 1 实验的方法步骤 1.1 设计原理 实验原理:数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,其基本的框图如图1所示。 图1 分频器基本框图 1.2 设计流程 (1) 创建工程,并命名位fenpinqi。 (2) 打开QuartusII,建立VHDL文件,并输入设计程序。保存为DVF. (3) 选择目标器件。Acex1k—EP1K100QC208-3。 (4) 启动编译。 (5) 建立仿真波形图。 (6) 仿真测试和波形分析。 (7) 引脚锁定编译。 (8) 编程下载。 (9) 硬件测试。 1.3 设计程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS PORT ( CLK : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); FOUT : OUT STD_LOGIC ); END; ARCHITECTURE one OF DVF IS SIGNAL FULL : STD_LOGIC; BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK = '1' THEN IF CNT8 = "11111111" THEN CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL <= '1'; --同时使溢出标志信号FULL输出为高电平 ELSE CNT8 := CNT8 + 1; --否则继续作加1计数 FULL <= '0'; --且输出溢出标志信号FULL为低电平 END IF; END IF; END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULL'EVENT AND FULL = '1' THEN CNT2 := NOT CNT2; --如果溢出标志信号FULL为高电平,D触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1'; ELSE FOUT <= '0'; END IF; END IF; END PROCESS P_DIV ; END; 此程序有QuartusII进行仿真测试,仿真后用RTL Viewer观测其原理图如图2所示。 图2 Viewer 观测的原理框图 将上面的程序稍作修改,扩展成16位的分频器,其原理程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DVF IS PORT ( CLK : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(15 DOWNTO 0); FOUT : OUT STD_LOGIC ); END; ARCHITECTURE one OF DVF IS SIGNAL FULL : STD_LOGIC; BEGIN P_REG: PROCESS(CLK) VARIABLE CNT15 : STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN IF CLK'EVENT AND CLK = '1' THEN IF CNT15 = "1111111111111111" THEN CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT15 FULL <= '1'; --同时使溢出标志信号FULL输出为高电平 ELSE CNT15 := CNT15 + 1; --否则继续作加1计数 FULL <= '0'; --且输出溢出标志信号FULL为低电平 END IF; END IF; END PROCESS P_REG ; P_DIV: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULL'EVENT AND FULL = '1' THEN CNT2 := NOT CNT2; --如果溢出标志信号FULL为高电平,D触发器输出取反 IF CNT2 = '1' THEN FOUT <= '1'; ELSE FOUT <= '0'; END IF; END IF; END PROCESS P_DIV ; END; 1.4 仿真结果和下载测试结果分析 其仿真结果是正确无误的,其仿真结果如图3所示。 图3 八位分频器仿真时序图 16位分频器的仿真结果如图4所示。 图4 十六位分频器仿真时序图 下载后,改变输入不同的输入数D的数值时,蜂鸣器发出不同频率的声音,例如输入11111011时,蜂鸣器发出声音的时间间隔非常短,当输入00010110时,蜂鸣器发出的声音的时间间隔就变长了。 图5 下载测试图 2 总结和心得体会 这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难。但是经过我的缜密的分析后,重新输入clock和D的值,最后成功了。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 总的来说,这次设计的数控分频器还是比较成功的,在设计中遇到了很多问题,最后在同学的帮助下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认。 参考文献 【1】 电子技术应用 . 2009年11期 【2】 潘松,黄继业 . EDA技术实用教程(第三版). 科学出版社 . 2010-07 【3】 王金明,冷自强 . EDA技术与Verilog设计EDA Technology and Verilog Design . 科出版社.2008-08
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服