




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书 数字钟控制器设计院 、 部: 电气与信息工程学院 学生姓名: 指导教师: 职称 副教授专 业: 班 级: 完成时间: EDA技术课程设计任务书学院:电气与信息工程学院 适应专业: 级电子信息工程和通信工程 指导教师学生姓名课题名称数字钟控制器设计内容及任务一、设计内容设计一个数字电子钟,可以用于显示时、分、秒24小时制的数字钟。要求控制器由时钟、分频、时、分、秒计数、译码、显示等电路组成。二、主要任务:(1) 确定总体方案.(2)运用EDA技术完成各模块的软件设计,运用所学的电路及电子技术知识完成硬件模块设计仿真.(3)进行软件设计仿真,结合硬件进行调试。撰写课程设计说明书,汇总电路设计图纸,实验原始数据等设计资料。拟达到的要求或技术指标一、拟达到的要求:(1)恰当地运用所学理论知识,对总体方案进行必要的技术、经济比较,然后选定较佳的设计方案。(2) 编写各模块VHDL源程序,绘制原理框图、顶层电路模块划分图、系统总原理图电路图、流程图采用规范的标准绘制,要求设计参数正确、布局合理。二、技术指标:电子钟的具体设计指标要求如下。(1)计时功能:这是电子钟最基本的功能。要求用6位LED数码管来显示时间,显示格式为时/分/秒。(2)校时功能:用户可以更改当前时间。用户按下某个键进入校时状态,然后连续输入6个BCD数表示更改后的时间值。输入确认键后,新的时间值才生效并返回计时状态。在校时状态下,用户也可以按取消键退出校对时间状态,并且返回计时状态。(3)设置闹钟时间:设置闹钟时间,要求操作过程与校时过程式一样。(4)闹钟功能开关:闹钟设定为开启或关闭两种状态。当闹钟功能开关开启时,如果当前时间性与设置的闹钟时间一致,则发出最多长达1分钟的闹铃声。在闹钟响的时候,用户可以手动停止闹铃声。当闹钟功能开关关闭时,则不发出闹铃声。主要参考资料1 林明权.VHDL数字控制系统设计范例M.北京:电子工业出版社,20032 刘欲晓等.EDA技术与VHDL电路开发应用实践M.北京:电子工业出版社,20093 刘延飞等.基于ALTERA FPGA/CPLD的电子系统设计及工程实践M. 北京:人 民邮电出版社,20094 刘江海.EDA技术M. 武汉:华中科技大学出版社, 20135 艾明晶.EDA设计实验教程M. 北京:清华大学出版社,20146 陈苏婷.EDA设计与应用基础M. 北京:气象出版社, 20157 范秋华.EDA技术及实验教程M.北京:电子工业出版社, 20158 马玉清.EDA技术(VHDL版) M.合肥:中国科学技术大学出版社,20149 李俊.EDA技术与VHDL编程M.北京:电子工业出版社.201210 陈炳权,曾庆立.EDA技术及实例开发教程M.湘潭:湘潭大学出版社,2013指导教师意见签名:年 月 日教研室意见签名:年 月 日摘 要本设计按照设计要求和设计目的,使用Quartus II软件,对VHDL语句进行仿真,设计分为分秒模块、时模块、整点报时模块、分频模块和消抖模块。其中分秒模块和时模块为计数显示作用,为核心模块;整点报时模块作为闹钟输出,外接扬声器:分频模块作为时钟脉冲的输入;消抖模块消除按键所产生的抖动,提高设计的正确性。各个模块设计完之后,生成顶层文件,根据分频提供标准秒脉冲送入秒计数,秒计数的进位输出送入分计数的时钟输入,分计数的时钟输入送入时计数的时钟输入,三个模块外接6位数码管;外接一个清零输入和两个置数输入的原理绘制原理图,再根据实验箱电路结构模式7进行引脚锁定,在实验箱上下载测试。下载测试时,6位数码管显示成功时、分、秒的计数,同时通过按键可以调节时钟和分钟、清零,在每一个整点到来时,扬声器都会有声音发出,完成所要达到的目标。所以,设计正确。关键词 :计时;模块设计;电子时钟目 录1 绪论1 1.1 EDA技术的介绍1 1.2 EDA技术的必要性1 1.3 Quartus II简介22 方案设计33 模块设计4 3.1 分秒模块4 3.2 时模块6 3.3 消抖模块7 3.4 整点报时模块8 3.5 分频模块10 3.5.1 分频1Hz模块10 3.5.2 分频1000Hz模块114 顶层原理图135 下载测试18结束语20参考文献21致 谢221 绪论1.1 EDA技术的介绍 EDA是电子设计自动化(Electronic Design Automation)缩写,EDA是以计算机为工具,根据硬件描述语言HDL(Hardware Description language)完成的逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和设配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转化和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实验的硬件结构参数,它的功能就是将软件描述和给定的硬件结构用一定的方法联系起来。1.2 EDA技术的必要性数字电路课程设计是数字电路设计型实验中的重要部分,它要求运用电子技术课程中有关的理论知识和实验方法,完成一些综合性较强的设计课题。由于目前在数字电路实验教学中,大部分院校仍然用中小规模的通用集成电路来实现设计功能,当设计的数字电子钟系统比较复杂,需要多个集成芯片和大量连线时,就增加了设计电路板的难度和故障调试难度,延长了设计周期,降低了学生的学习兴趣;同时,常用中小规模集成芯片的大量重复使用也大大增加了设计成本。因此,在数字电路课程设计中引入EDA技术,采用当前国际先进的设计方法和理念,改革传统的课程设计方法,已经成为一种趋势。在学校电子技术实验的课程教学中,最让实验老师感到头痛的有两个方面:一是由于电路的连接、电子元件的损坏或仪器毛病,为了查找这些问题,使得一个实验在相对短暂的时间内难以完成;二是仪器坏了要修理,元件坏了要拆换,连接导线、电缆线损坏也要调换等等。这些不仅大大增加了实验的开支,同是实验室的管理也非常困难。应用EDA虚拟的电子实验平台,让学生坐在计算机旁进行各种电子线路的仿真实验与在实验室使用真实的仪器、进行电子线路实验,具有同样的感受和更具有真实的实验效果。学生可以在虚拟的元器件库中拿取元器件;可以在虚拟的仪器库中拿取仪器与仪表;同样可以用导线与电缆连接电路;可以选择器件的参数,可以对电路进行调试、分析;可以在示波器的显示屏上观测到所测电压、电流的波形,可以通过仪表读取被测参数的值,这一切都非常逼真。做仿真实验一般不会损坏仪器,不会烧坏仪器(除非把计算机损坏)。只要按照规定的方法进行实验,都能够达到预期的实验目的。可见,用EDA软件进行仿真电子实验的确可以达到事半功倍的效果。所以在数字电路课程设计中学习EDA技术是非常必要的。1.3 Quartus II简介Quartus II是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。2 方案设计数字电子钟的主体由时、分、秒三个模块组成,其中分秒模块同为60进制计数,所以编写成一个VHDL语句,时模块以24进制计数。由分频模块提供脉冲,1Hz脉冲送入秒模块的时钟信号,当计满60个脉冲时,产生进位信号,送给分模块的时钟信号;当分模块产生进位信号时,就将进位信号送入时脉冲的时钟信号,再通过六位数码管显示。闹钟模块接入分秒模块的显示输出,当到达整点时,将信号输出给扬声器,通过扬声器报时。外接两个按键,经过消抖模块,调整时、分模块的进位,从而实现置数功能。同时再外接一个按键作为清零信号输入。设计的系统框图如图1所示。图1 数字钟控制器系统框图3 模块设计3.1 分秒模块分秒模块作为核心模块,以60进制计数,电路运行时,从0开始计数,到59时,计满一个周期,就产生进位信号,输给下一个模块,然后重新计数。通过按键控制清零信号。不过分模块比秒模块多连接一个按键,控制置数输入,其次,秒模块的时钟信号来自分频模块分出的1Hz频率信号,而分模块则来自秒模块的进位信号。由VHDL语句生成的顶层文件如图2所示。图2 分秒模块顶层文件VHDL源程序描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT_S IS PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC); END CNT_S; ARCHITECTURE ONE OF CNT_S IS SIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK,CLR) BEGIN IF CLK EVENT AND CLK=1 THENIF S_L(3 DOWNTO 0)1001 THEN S_L(3 DOWNTO 0)=S_L(3 DOWNTO 0)+1; C=0;ELSIF S_H(3 DOWNTO 0)0101 THENS_L(3 DOWNTO 0)=0000;S_H(3 DOWNTO 0)=S_H(3 DOWNTO 0)+1;ELSES_L(3 DOWNTO 0)=0000;S_H(3 DOWNTO 0)=0000;C=1;END IF;END IF;IF CLR=1 THENS_L(3 DOWNTO 0)=0000;S_H(3 DOWNTO 0)=0000;END IF; OUT_H=S_H;OUT_L=S_L;END PROCESS;END ONE; 波形仿真如图3和图4所示。图3 分秒模块波形仿真图4 进位输出显示由波形仿真可看出,当CLR为高电平时,时钟清零,停止计数。当计数到59时,下一个时钟上升沿到来时重新计数,并且产生进位信号,符合设计要求。3.2 时模块时模块采用24位进制,每计满24个脉冲后重新计数。时钟脉冲来自分模块的进位信号,当进位信号来临时,时模块开始计时。同时通过按键控制清零信号和置数信号。由VHDL语句生成的顶层文件如图5所示。图5 时模块的顶层文件图VHDL源程序描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT_H IS PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END CNT_H; ARCHITECTURE ONE OF CNT_H IS SIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR)BEGINIF CLR=1 THEN S_H=0000;S_L=0000; ELSIF CLK=1 AND CLKEVENT THEN IF S_H=0010 AND S_L=0011 THENS_L=0000;S_H=0000; ELSIF S_L1001 THEN S_L=S_L+1; ELSE S_L=0000; S_H=S_H+1; END IF; END IF; END PROCESS; OUT_H=S_H; OUT_L10 THEN DOUT=1;T:=T-1; ELSE DOUT=0; END IF; END IF; ELSE DOUT=0;T:=0; END IF; END PROCESS;END RTL;波形仿真图如图8所示。 图8 消抖模块波形仿真图由波形看出,扫描信号DIN产生的高电平很短时,将被认为是抖动,会被去除,不会产生输出信号DOUT,只有当DIN的高电平持续一段时间,才能输出DOUT信号,去除抖动成功,符合设计要求。3.4 整点报时模块整点报时模块的输入信号为分、秒的输出显示信号。当达到整点,即分、秒都显示为00的时候,将输出高电平,给扬声器,实现到达整点报时的功能。由VHDL语句生成的顶层文件如图9所示。图9 整点报时模块顶层文件图VHDL源程序描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ZDBS ISPORT( CLK:IN STD_LOGIC; TENM,ONEM,TENS,ONES : IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q : OUT STD_LOGIC);END ZDBS;ARCHITECTURE BEHAV OF ZDBS ISBEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN IF TENM=0000 AND ONEM=0000 AND TENS=0000 AND ONES=0000 THEN Q=1; ELSE Q=0; END IF; END IF;END PROCESS;END BEHAV;波形仿真图如图10所示。图10 整点报时模块波形仿真图 由波形可以看出,只有当四个输入端全为0000时,输出端Q才会产生高电平的信号,符合设计要求。3.5 分频模块由于设计中需用到两个不同的频率1Hz和1000Hz,而我们只能从实验箱中得到1Hz的频率,得不到1000Hz的频率。所以,决定用分频器将20MHz的频率分出我们所需要的1Hz和1000Hz。3.5.1 分频1Hz模块由VHDL语句生成的顶层模块如图11所示。图11 分频1Hz顶层文件图 VHDL源程序描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN1 IS PORT(CLK_IN:IN STD_LOGIC; FOUT:OUT STD_LOGIC);END;ARCHITECTURE ONE OF FENPIN1 IS SIGNAL CNT: INTEGER RANGE 0 TO 5000000; SIGNAL CLK_OUT:STD_LOGIC;BEGINPROCESS(CLK_IN) BEGIN IF CLK_INEVENT AND CLK_IN = 1 THEN IF CNT=4999999 THEN CNT =0; CLK_OUT =NOT CLK_OUT; ELSE CNT=CNT+1; END IF; END IF;END PROCESS;FOUT=CLK_OUT;END ONE;波形仿真图如图12所示。图12 分频1Hz波形仿真图 这个分频模块主要输出时长1s的脉冲,输出给秒模块、闹钟模块,使秒模块开始计数,给整个时钟提供开始计时的脉冲信号。同时提供给整点报时需要的高低频率信号。3.5.2 分频1000Hz模块由VHDL语句生成的顶层文件如图13所示。 图13 分频1000Hz顶层文件图VHDL源程序描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN1000 IS PORT(CLK_IN:IN STD_LOGIC; FOUT:OUT STD_LOGIC);END;ARCHITECTURE ONE OF FENPIN1000 IS SIGNAL CNT: INTEGER RANGE 0 TO 5000; SIGNAL CLK_OUT:STD_LOGIC;BEGINPROCESS(CLK_IN) BEGIN IF CLK_INEVENT AND CLK_IN = 1 THEN IF CNT=4999 THEN CNT =0; CLK_OUT =NOT CLK_OUT; ELSE CNT=CNT+1; END IF; END IF;END PROCESS;FOUT=CLK_OUT;END ONE;波形仿真图如图14所示。图14 分频1000Hz模块波形仿真图 这个分频模块提供消抖模块所需的高低频率信号,使消抖模块能够实现正常的运行。4 顶层原理图顶层原理图各个模块的顶层文件图构成。主要有分秒模块、时模块、整点报时模块、消抖模块、分频1Hz模块和分频1000Hz模块。各模块按照输入信号和输出信号之间的联系进行连接。时钟输入为20MHz,首先经过分频1Hz模块,送入作为秒计数的分秒模块,当秒计满60个脉冲时,通过输出进位信号,输入给作为分计数的分秒模块,分开始进行计数。当分产生进位信号时,将信号送入时模块的输入,时开始计数,三个模块的输出接6位数码管显示。分、秒的输出同时接入整点报时模块的输入,当4位输入都为00时,输出。外接两个输入,经过消抖模块,控制时、分的输入,完成置数功能。消抖模块的时钟脉冲由分频1000Hz模块得到。外接另一个按键,作为清零信号输入。顶层原理图如15所示。图15 顶层原理图VHDL源程序描述如下:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CLOCK IS PORT ( CLK0 : IN STD_LOGIC; -输入1MHZ CLR0 : IN STD_LOGIC; KEY1_M : IN STD_LOGIC; -调时调分键 KEY2_H : IN STD_LOGIC; SPEAK: OUT STD_LOGIC; SECH : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); -时分秒输出 SECL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); MINH : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); MINL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); HOUH : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); HOUL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END;ARCHITECTURE ONE OF CLOCK IS SIGNAL SCLK,SCLK_X : STD_LOGIC; SIGNAL SCO1,SCOM : STD_LOGIC; SIGNAL SCO2,SCOH : STD_LOGIC; SIGNAL S1,S2 : STD_LOGIC; SIGNAL SMINH,SMINL :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL SSECH,SSECL:STD_LOGIC_VECTOR (3 DOWNTO 0);COMPONENT CNT_S -分和秒模块PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C:OUT STD_LOGIC);END COMPONENT;COMPONENT CNT_H -时模块PORT(CLK,CLR:IN STD_LOGIC; OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT FENPIN1 -分至1HZPORT( CLK_IN:IN STD_LOGIC; FOUT:OUT STD_LOGIC);END COMPONENT;COMPONENT FENPIN1000 -分至1000HZPORT( CLK_IN:IN STD_LOGIC; FOUT:OUT STD_LOGIC);END COMPONENT;COMPONENT ZDBS -整点报时PORT( CLK : IN STD_LOGIC; TENM,ONEM,TENS,ONES : IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q: OUT STD_LOGIC);END COMPONENT;COMPONENT XIAODOU -消抖模块PORT(DIN,CLK:IN STD_LOGIC; DOUT:OUT STD_LOGIC);END COMPONENT;BEGIN PROCESS(CLK0,KEY1_M,KEY2_H,SCO1,SCO2) -调时调分 BEGIN IF CLK0EVENT AND CLK0=1 THEN IF SCO1=1 OR S1=1 THEN SCOM=1; ELSE SCOM=0; END IF; IF (SCO2=1 AND SCO1=1) OR S2=1 THEN SCOH=1; ELSE SCOHSCLK,CLR=CLR0,C=SCO1, OUT_L=SSECL,OUT_H=SSECH);U 2:CNT_S PORT MAP (CLK=SCOM,CLR=CLR0,C=SCO2, OUT_L=SMINL,OUT_H=SMINH); U3 : CNT_H PORT MAP (CLK=SCOH,CLR=CLR0,OUT_L=HOUL,OUT_H=HOUH); U4 : XIAODOU PORT MAP (DIN=KEY1_M,CLK= SCLK_X,DOUT=S1); U5 : XIAODOU PORT MAP (DIN=KEY2_H,CLK= SCLK_X,DOUT=S2); U6 : FENPIN1 PORT MAP(CLK_IN=CLK0,FOUT=SCLK); U7 : FENPIN1000 PORT MAP(CLK_IN=CLK0,FOUT=SCLK_X); U8 : ZDBS PORT MAP(CLK=SCLK,TENM=SMINH,ONEM=SMINL,TENS=SSECH,ONES=SSECL,Q=SPEAK); SECL=SSECL; SECH=SSECH; MINL=SMINL; MINH=SMINH; END;波形仿真图如图16和图17所示。图16 顶层原理图计数仿真波形图17 顶层原理图清零仿真波形 由波形仿真可以看出,时、分、秒各自实现了各自进制的计数功能,当秒计数计满59时,分计数进位,当分计数计满59时,时计数进位。当清零信号为高电平时,时钟清零。当时钟显示全为00时,SPEAK即闹钟信号为高电平输出。实现了所要实现的功能,符合设计要求。5 下载测试 由于设计为数字钟控制器,所以选择模式7下载测试。根据模式7的引脚控制、数码管显示,结合顶层原理图的设计,完成引脚锁定。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商公司大挑战活动方案
- 美术居家活动方案
- 祈雨庙会活动方案
- 端午ktv活动方案
- 端午假期安全活动方案
- 福利商品活动方案
- 端午节艾灸馆活动方案
- 餐饮业2025年环保餐饮产品开发与市场分析报告
- 餐饮业2025年应对突发事件的企业应急管理文化建设策略报告
- 2025辽宁营口市大石桥市消防救援大队政府合同制专职消防队员招聘30人考试参考题库及答案解析
- 房屋预告登记申请书
- 公司内部审计制度范本(四篇)
- 绿色建筑材料和建筑设备
- 可靠性试验管理办法
- 蓄电池组充放电记录表格格式模板
- 全国中学生物理竞赛复赛实验考查
- 智慧交通典型城市案例及启示
- 国家开放大学《人文英语4》边学边练参考答案
- 医疗器械设计开发流程培训课件
- 语法填空公开课课件市公开课一等奖省名师优质课赛课一等奖课件
- 《认识分式》教学课件【初中数学】公开课
评论
0/150
提交评论