eda技术多功能数字钟系统的设计.docx

上传人:b****5 文档编号:3964841 上传时间:2022-11-26 格式:DOCX 页数:38 大小:569.51KB
下载 相关 举报
eda技术多功能数字钟系统的设计.docx_第1页
第1页 / 共38页
eda技术多功能数字钟系统的设计.docx_第2页
第2页 / 共38页
eda技术多功能数字钟系统的设计.docx_第3页
第3页 / 共38页
eda技术多功能数字钟系统的设计.docx_第4页
第4页 / 共38页
eda技术多功能数字钟系统的设计.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

eda技术多功能数字钟系统的设计.docx

《eda技术多功能数字钟系统的设计.docx》由会员分享,可在线阅读,更多相关《eda技术多功能数字钟系统的设计.docx(38页珍藏版)》请在冰豆网上搜索。

eda技术多功能数字钟系统的设计.docx

eda技术多功能数字钟系统的设计

 

EDA技术多功能数字钟系统的设计

摘要

近年来,随着电子技术和通信技术的飞速发展,要求设计研究方面运用电子设计自动化(ElectronicDesignAutomation,简称EDA)工具进行开发。

在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。

本设计为通过EDA仿真软件MAX+PLUSII设计一个多功能数字钟,并下载到硬件中实现。

本系统的设计电路由计时电路、动态显示电路、闹钟电路、控制电路、显示电路等部分组成。

本系统采用动态显示的原理在数码管上显示12小时计时的时刻,具有清零、保持、校时、报时的功能,并在此基础上增加了闹铃、秒表、12小时制计时、A/P显示等功能。

在设计过程中,将各部分均模块化,各模块间相互独立,又相互联系。

本实验吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。

本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。

关键词数字钟、计数器、多功能、动态显示、原理图、仿真、模块化

 

Abstract

Recently,withtherapiddevelopmentofelectronicandcommunicationtechnology,itisrequiredtouseElectronicDesignAutomation(EDA)asatoolindesigningsystems.EDAderivesfromtheconceptsofComputerAidedDesign,ComputerAidedManufacture,ComputerAidedTestandComputerAidedEngineeringinthe1990s.DesignersuseHardwareDescribeLanguagetoaccomplishdesigningfilesontheplatformofsoftware.Then,computerwillfinishtheworkoflogicalcompiling,simplification,division,synthesis,optimizing,layout,trackingandsimulatingautomatically,anditcanalsoaccomplishtheworkofpropercompiling,logicalprojectinganddownloadingofthetargetchip.Asaresult,itevidentlyimprovestheefficiencyandreliabilityofthecircuitdesign,anditalsolightendesigner’sworkload.

ThisexperimenthasdesignedamultifunctionaldigitalclockviausingtheMAX+PLUSII,andthebasicandextendedperformancesandfunctionsaresuccessfullyrealizedinthehardware.Thissystemincludestimecircuit,alarmcircuit,dynamicdisplaycircuit,controlcircuit,displaycircuit.Inthesystem,thesegmentdisplaycandisplaytimeinthe24-hourformat,itincludessuchfunctionsasclear,hold,checkthetimeandsoon.Wecanalsoaddalarm,stopwatch,12-hourformatdisplayandotherfunctionsonthatbasic.Inthedesigningprocess,manypartsaremodularized,theyarenotonlyindependentbutalsorelated.Manyfunctionsarefinishedbythesoftware.Soitsimplesthecircuitandenhancesthestabilityofthesystem.Notonlyallthebasicandextendedperformancesandfunctionsaresuccessfullyrealized,butalsoaccomplishsomeinnovationfunctions.

Keywords:

Digitalclock,arithmometer,multifunctional,dynamicdisplay,schematicdiagram,simulate,modularization

 

 

1、引言

多功能数字钟数字钟是采用数字电路实现对时,分,秒。

数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

数字钟计时的标准信号应该是频率相当稳定的1HZ秒脉冲,所以要设置标准时间源。

数字钟计时周期是24小时,因此必须设置24小时计数器,应由模为60的秒计数器和分计数器及模为24的时计数器组成,秒、分、时由七段数码管显示。

为使数字钟走时与标准时间一致,校时电路是必不可少的。

设计中采用开关控制校时直接用秒脉冲先后对“时”“分”“秒”计数器进行校时操作。

能进行整点报时。

在从59分50秒开始,每隔2秒钟发出一次低音“嘟”的信号,连续五次,最后一次要求最高音“嘀”的信号,此信号结束即达到正点。

本文基于数字钟的的设计原理,利用Altera公司出品QuartusII软件以及相应的实验平台完成设计。

通过实验了解QuartusII的各种功能,学习对个子模块设计后的仿真基本方法。

利用所学数字电路知识,用电路元件设计数字钟基本部分,经过仿真调试后下载到实验箱上。

此次设计的数字钟具有清零、校时和校分功能、计时显示功能、整点报时功能。

 

2、EDA技术介绍

2.1EDA技术概况

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度

2.2ALTERAQUARTUSII软件介绍

  QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

  QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。

具有运行速度快,界面统一,功能集中,易学易用等特点。

  QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。

对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。

  此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

  MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。

目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。

Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。

  AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。

该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。

Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

支持MAX7000/MAX3000等乘积项器件

在本次设计中,用的软件是Alter公司的QUARTUSII5.0英文版,如下图,就是QUARTUSII5.0启动时出现的界面。

3、设计电路的内容和功能要求

3.1设计内容简介

综合运用所学的数字逻辑电路和系统设计的知识,学会采用层次化设计的概念,将此次任务分成若干模块,规定某一模块的功能和各模块之间的接口,然后将各模块组合起来构成系统框图。

任务要求设计一个多功能数字时钟电路,可以完成00:

00:

00-11:

59:

59的计时功能,并且具有清零功能、快速校分校小时、整点报时等基本功能。

3.2设计功能要求

1、能进行正常的时、分、秒计时功能;

2、分别由六个数码管显示00小时00分00秒到11小时59分59秒的计时;

3、键1是系统的启停(键1为0停止运行,键1为1时正常工作);

4、键2是系统的清零(键2为0清零,键2为1时不清零);

5、键3是系统的校时开关(键3为0正常工作,键3为1时可以快速校时);

6、键4是系统的校分开关(键4为0正常工作,键4为1时可以快速校分);

7、可增加数字钟的附加功能,例如数字钟的闹钟功能、彩铃的报时和闹铃功能等。

3.374153芯片功能简介

74153是一种常用的双4选1数据选择器。

图4(a)为74153的逻辑符号,符号顶部为公共控制框,因此地址A1A0是公用的;下部为两个相同的单元框,每单元有4路输入通道,另有一选通控制端ST,ST为低电平有效,用EN说明它的使能作用,由于这个EN后面无数字,所以它对本单元的所有输入均起作用,故可称之为单元选通端。

当ST=1时,则该单元禁止工作,或称未被选中,输出为0。

根据图(b)可写出每单元的输出表达式为:

 

 

系统层次图如图3.4

计数控制

模块

调时

调分计时时间显示输出

整点

报时控制

reset

clk蜂鸣器输出

动态显示

模块

时间显示

闹钟控制

模块

调时

调分闹钟时间显示输出

闹钟

报时控制

reset

clk蜂鸣器输出

整点报时模块

clk

分频器

模块

1024Hzsoundsound

1024Hz512Hz时间

4Hz

闹钟报时模块

1Hzclk

sound

时间

图3.

4、硬件语言——VerilogHDL语言简介

4.1VerilogHDL发展史

VerlogHDL的发展历史:

  1、1981年GatewayAutomation(GDA)硬件描述语言公司成立。

  2、1983年该公司的PhilipMoorby首创了VerilogHDL,Moorby后来成为VerrlogHDL-XL的主要设计者和Cadence公司的第一合伙人。

  3、1984-1985年Moorby设计出第一个关于VerilogHDL的仿真器。

  4、1986年Moorby对VerilogHDL的发展又做出另一个巨大的贡献,提出了用于快速门级仿真的XL算法。

  5、随着VerilogHDL-XL的成功,VerilogHDL语言得到迅速发展。

  6、1987年Synonsys公司开始使用VerilogHDL行为语言作为综合工具的输入。

  7、1989年Cadence公司收购了Gateway公司,VerilogHDL成为Cadence公司的私有财产。

  8、1990年初Cadence公司把VerilongHDL和VerilongHDL-XL分开,并公开发布了VerilogHDL.随后成立的OVI(OpenVerilogHDLInternational)组织负责VerilogHDL的发展,OVI由VerilogHDL的使用和CAE供应商组成,制定标准。

  9、1993年,几乎所有ASIC厂商都开始支持VerilogHDL,并且认为VerilogHDL-XL是最好的仿真器。

同时,OVI推出2.0版本的VerilongHDL规范,IEEE接收将OVI的VerilongHDL2.0作为IEEE标准的提案。

  10、1995年12月,IEEE制定了VerilongHDL的标准IEEE1364-1995.

  任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。

  VerilogHDL就是在用用最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。

1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。

1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。

1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995.

4.2VerilogHDL概念

VerilogHDL是一种硬件描述语言(HDL:

HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

4.3VerilogHDL特点

VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。

与之相比,VHDL的学习要困难一些。

但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意

4.2VerilogHDL应用实例

一个简单的VerilogHDL的例子:

(12位寄存器)

  //VerilogExample

  //User-DefinedMacrofunction

  modulereg12(d,clk,q);

  `definesize11

  input[`size:

0]d;

  inputclk;

  output[`size:

0]q;

  reg[`size:

0]q;

  always@(posedgeclk)

  q=d;

endmodule

 

5、方案论证

5.1设计方案

方案一:

利用AT89C2051单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。

此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。

它的计时周期为12小时,显示满刻度为12时59分59秒99毫秒,另外应有校时功能。

电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。

用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。

根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。

构成秒、分、时的计数,实现计时的功能。

显示器件选用LED七段数码管。

在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。

针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路

方案二:

采用自顶向下的设计方法,它由秒计数模块,分计数模块,小时计数

模块,报警模块,秒分时设置模块和译码模块六部分组成。

方案三:

用无进位六进制计数器选择数码管的亮灭以及对应的数,循环扫描显示,用六选一选择器选择给定的信号输出对应的数送到七段码译码器。

模块进行复位,设置小时和分,输出整点报时信号和时,分,秒信号

5.2整体设计方案介绍

在整个设计中,数字钟具有记时、闹钟、整点报时、校时和显示的功能。

设计分为4个步骤。

第一,数字钟的时、分、秒的设计,时钟采用12进制,到了11:

59:

59,数字钟自动跳到00:

00:

00,分和秒采用60进制;第二,数字钟闹钟到点闹铃的设计,包括闹钟响的频率(例如每5秒响一次)、以及次数;第三,数字钟的整点报时,到了整点后,会自动的“嘟嘟”响2下;第四,数字钟的校时及显示,包括对时间的调整以及闹钟的调整。

各个方面完成后即可对电路进行仿真。

 

6、各子模块设计的原理和电路仿真

6.1主控制模块的设计及仿真

主控制模块实现对各个功能模块的整体设计,包括对时间显示与调整、日期显示与调整、闹钟显示与调整、秒表操作等的控制

根据模块实现的功能设计VerilogHDL源代码如下:

modulemaincontrol(

SW3,

Timepiece_EN,

TimeSet_EN,

Stopwatch_EN,

Alarmclock_EN,

Date_EN,

DateSet_EN);

outputTimepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;

inputSW3;

regTimepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;

reg[2:

0]Function;//存放功能号

always@(posedgeSW3)

begin

if(Function<3'b101)

Function<=Function+3'b1;

else

Function<=3'b0;

case(Function)

//时钟

3'b000:

begin

Timepiece_EN<=1'b1;

TimeSet_EN<=1'b0;

Stopwatch_EN<=1'b0;

Alarmclock_EN<=1'b0;

Date_EN<=1'b0;

DateSet_EN<=1'b0;

end

//时钟设置

3'b001:

begin

Timepiece_EN<=1'b0;

TimeSet_EN<=1'b1;

Stopwatch_EN<=1'b0;

Alarmclock_EN<=1'b0;

Date_EN<=1'b0;

DateSet_EN<=1'b0;

end

//秒表

3'b010:

begin

Timepiece_EN<=1'b0;

TimeSet_EN<=1'b0;

Stopwatch_EN<=1'b1;

Alarmclock_EN<=1'b0;

Date_EN<=1'b0;

DateSet_EN<=1'b0;

end

//闹钟设置

3'b011:

begin

Timepiece_EN<=1'b0;

TimeSet_EN<=1'b0;

Stopwatch_EN<=1'b0;

Alarmclock_EN<=1'b1;

Date_EN<=1'b0;

DateSet_EN<=1'b0;

end

//日期显示

3'b100:

begin

Timepiece_EN<=1'b0;

TimeSet_EN<=1'b0;

Stopwatch_EN<=1'b0;

Alarmclock_EN<=1'b0;

Date_EN<=1'b1;

DateSet_EN<=1'b0;

end

//日期设置

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1