自动打铃系统的EDA设计和仿真.docx
- 文档编号:6694678
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:27
- 大小:335.93KB
自动打铃系统的EDA设计和仿真.docx
《自动打铃系统的EDA设计和仿真.docx》由会员分享,可在线阅读,更多相关《自动打铃系统的EDA设计和仿真.docx(27页珍藏版)》请在冰豆网上搜索。
自动打铃系统的EDA设计和仿真
普
通
本
科
毕
业
设
计
题目:
自动打铃系统的EDA设计和仿真
学院软件与通信工程
学生姓名学号
专业电子信息工程届别09级
指导教师职称
二〇一三年五月
普通本科生毕业论文(设计)诚信承诺书
毕业论文(设计)题目
自动打铃系统的EDA设计和仿真
学生姓名
专 业
电子信息工程
学号
指导老师
职称
所在学院
诚信承诺
本人慎重承诺和声明:
我承诺在毕业论文(设计)活动中遵守学校有关规定,恪守学术规范,在本人的毕业论文中未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,如有违规行为发生,我愿承担一切责任,接受学校的处理。
学生(签名):
2013年5月20日
摘要
自动打铃系统可以为学校上下课时间的准确控制提供方便,并且也可以在办公室、工厂等一些场合起到提醒人们时间的作用,因此打铃器的设计有一定的实际意义。
本次设计模拟学校的打铃系统,是在QuartusII软件平台上使用硬件描述语言(HDL)语言进行设计和仿真,系统包括了24小时的计时功能、时分秒数字显示功能、时间设置功能和基本打铃等功能。
系统由时钟模块、定时模块、选择模块、闹铃模块、打铃模块、显示模块组成,由按键进行时钟的校准、复位、启用等。
本文在介绍电子设计自动化(EDA)技术的基础上,着重阐述了如何使用EDA技术进行系统的开发,以及如何实现学校打铃系统。
通过仿真验证,打铃器具有正常计时、定时报警、报警时长设定等功能,可为日常作息提供准确、便捷的提醒。
系统运行稳定,设计方法可行。
【关键词】打铃系统硬件描述语言电子自动化
Abstract
Thesystemofautomaticallybellprovidesgreatconvenienceforstudenttocontroltheaccuratebell-timeinschool,andalsoplaysanimportantroleintheworkandlifeinoffices,factories,andmanyotheroccasions.Soitisofgreatpracticalsignificanceforus.
ThisdesignisbasedontheSoftwareplatformsofQuartususinghardwaredescriptionlanguage(HDL)tocarryonthedesignandsimulation.Thesystemincludescalculatingdisplayingandsettingtherighttimeinhour,minuteandsecondandsoon.Thissystemismadeoffivemodules,includingtheclockmodule,timedecodingmodule,alarmclock,controlmodule,ringingthebellmodule,displaymodule,etc.Youcanpressthekeystostartorstoptheclockandcorrectorcleanthetime.BasedondescribingdevicesofEDA,thisarticlefocusesonthedevelopmentmethodandthewaytoimplementaschoolbellsystem.Throughsimulationandpracticaltest,thissystemhasthefunctionofnormaltiming,alarming,alarming-timesetting,whichcanprovideconvenientandaccurateremindofdailyroutine.Itisprovedthattheoperationofthissystemisstable,andthedesignmethodispossible.
【Keywords】AlarmClockSystem;HardwareDescriptionLanguage;ElectronicDesignAutomation
1绪论
1.1研究背景与意义
二十一世纪的今天,电子技术的发展已经到非常成熟的阶段,并且我们也体会到了电子技术是一个永不衰败的行业,因为电子技术的广泛应用和不断的发展,现在已经遍及到了各个行业及不同领域。
如今,时间对人们的重要性不言而喻,在这快节奏的社会生活中,人们经常忘记时间,碰巧遇到重要的事情的时候,这将给我们带来很大的损失。
因此我们需要一个时间定时系统可以提醒那些忙碌的人。
伴随科技的发展和社会的进步,人们对时钟的要求也越来越高,传统的功能单一的时钟已不能满足人们的需求。
多功能数字钟在性能和在样式上都发生了质的变化,学校打铃器就是以时钟为基础的,在平时校园生活中是必不可少的工具。
自动打铃器的给人们的生活带来了很大的方便,并且扩展了传统时钟的报时功能。
诸如定时启闭电路、定时自动报警以及各种定时电气的自动启用等,诸如此类的这些,都是以时钟的数字化为基础的。
所以,对时钟的研究以及其扩展应用,有很现实的意义。
电铃广泛应用于学校、机关及其他事业单位,可以实现作息时间的固定时间打铃,提醒人们学习、工作以及休息。
教育事业是社会生活中必不可缺的一部分,随着教育体系的完善,定时提醒学生上下课的时间工具也极其重要,不仅是在学校中,在办公室、工厂等其他一些需要时间提醒的场合,打铃器都有着举足轻重的位置,尤其是在这个现代化社会中,精准、方便的多功能打铃器更具有独特的研究意义。
从最早的人工打铃器,到现在的自动、智能打铃,打铃器也经历了一系列的变革,人工打铃不仅耗费时间和精力,其准确性也不能得到保证,还容易造成人为的误时误报。
当代社会飞速发展的重要标志之一就是信息产品的广泛使用,而且产品的性能越来越强,复杂程度越来越高,更新步伐越来越快。
其中支撑信息电子产品高速发展的基础就是微电子制造工艺水平的提高和电子产品设计开发技术的发展。
随着现代技术发展,出现了各种各样的打铃器,有的带有音乐播放功能,可编入作息时间程序,无线音乐打铃器无需施工布线,降低了安装成本,还可以根据使用需要随时移动音乐电铃的位置,无线遥控的距离可达400米,十分简洁、便捷。
如今电子产品正向功能多元化,体积最小化,功耗最低化的方向发展。
它与传统的电子产品在设计上的显着区别是大量使用大规模可编程逻辑器件,使产品的性能提高,体积缩小,功耗降低,同时广泛运用现代计算机技术,提高产品的自动化程度和竞争力,缩短研发周期[1]。
EDA技术正是为了适应现代电子技术的要求,吸收众多学科最新科技成果而形成的一门新技术。
1.2本文的主要研究内容和任务
随着社会的进步发展以及科技水平的日益提高,许多高新的技术都应用于电子产品的设计中。
比如,本设计中的自动打铃器就应用了EDA术,不仅能够非常直观地显示时、分、秒等信息,而且还能准确的设定响铃时间,为人们的使用带来了很大的便利。
本课题是基于EDA的自动打铃器的设计,下面简要介绍现场电子设计自动化(EDA)的发展历程及其优点。
1.2.1EDA的发展历程
在电子设计自动化(EDA)的出现之前,电子设计人员必须手工的完成集成电路设计、布线等工作,这主要是因为当时所谓的集成电路复杂程度远不及现在。
后来,工业界开始使用了几何学的方法来制造用于电路光绘的胶带。
到70年代中期,开发人员开始尝试将整个设计过程自动化,而不是仅仅满足于自动完成掩膜草图。
继而,第一个电路布线、布局的工具研发成功。
设计自动化会议也在这一时期被创立,为了促进电子设计自动化发展。
[2]
现在对EDA的概念和范畴用得很宽。
包括在机械、通信、电子、航空航天、矿产、化工、医学、军事、生物等各个领域,都有EDA的应用。
现在EDA技术已经在各大公司,企、事业单位和科研教学部门中广泛使用。
例如,在飞机制造的过程中,从设计、性能测试和特性分析到飞行模拟,都可能涉及到EDA技术。
本文所用的EDA技术,主要针对电子电路设计、Quartus设计与仿真。
[3]
1.2.1EDA技术的优点
简单来说,EDA技术就是依靠功能强大电子计算机,在EDA的工具软件平台上,对硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑的编辑、化简、分割、综合、优化以及仿真,直到下载到可编程逻辑器件CPLD/FPGA或者专用集成电路ASIC芯片中,实现既定的电子电路设计功能。
EDA技术使得电子电路的设计者工作仅限于利用硬件描述语言以及EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计的效率,缩短了设计周期,节省了设计成本。
[4]
1.3器件及工具介绍
1.3.1QuartusⅡ设计步骤
QuartusII是Altera公司综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式。
内嵌自有的综合器和仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
[5]
他的设计流程包括设计输入、编译、仿真和定时分析、编程及验证。
而设计输入又包括原理图输入、HDL文本输入、EDIF网表输入和波形输入等几种方式。
编译时要根据设计要求来设定编译方式以及编译策略,然后根据设定参数和策略来对设计项目进行网表提取、逻辑综合和器件适配,供分析、仿真以及编程使用。
设计完成后需进行仿真,可以测试设计的逻辑功能以及延时特性。
最后,可以用得到的编程文件来通过编程电缆配置PLD,进行在线测试。
在设计过程中,如果出现了错误,则需重新回到设计的输入阶段,改正错误或者调整电路后进行重新测试。
[6]
1.3.2VHDL语言特点
硬件描述语言HDL(HardwareDescriptionLanguage)诞生于1962年。
和SDL(SoftwareDescriptionLanguage)相似,经历了从机器语言、汇编语言到高级语言(HDL)的过程[7]。
HDL是用形式化方法去描述数字电路和设计数字逻辑系统的语言。
主要用于描述离散电子系统的结构和行为。
HDL和其原理图是两种最常用的数字硬件电路描述方法,其中HDL设计法具有更好的可移植性、通用性和模块划分和重用性等特点,在目前的工程设计开发流程主要是基于HDL的。
并且在目前工程设计中被广泛使用。
所以,我们在使用EDA设计数字电路时,其开发流程是基于HDL的。
[7]
VHDL描述的时数字电路系统设计的行为、功能以及输入和输出。
它在语法上和现代编程语言C语言相似。
应用VHDL来进行系统设计,有功能强大、可移植性、独立性、可操作性、灵活性的特点。
VHDL语言既然能够成为标准化的硬件描述语言并且获得广泛的应用,它自身必然有很多其他硬件描述语言所没有的优点。
总结起来,VHDL语言主要有以下优点:
(1)VHDL语言的功能强大,设计方式多样
VHDL语言具有强大语言结构,采用简单明确的VHDL程序就可以描述比较复杂的硬件电路。
而且,VHDL具有多层次电路设计描述的功能。
它能同时支持异步电路、同步电路以及随机电路的设计来实现的,这也是其他硬件描述语言不能比拟的。
VHDL语言的设计方法也灵活多样,既能够支持自底向上的设计方式,也支持自顶向下的设计方法;既支持层次化设计方法,也支持模块化设计方法。
(2)VHDL语言有强大硬件描述能力
VHDL语言有多层次电路设计描述的功能,既可以描述门级的电路,也可以描述系统级的电路;描述方式既可以采用寄存器传输描述、结构描述或者行为描述,也可以采用三者混合描述方式。
同时,VHDL语言也支持传输延迟和惯性延迟,这样能够准确地建立硬件电路模型。
VHDL语言强大描述能力还体现在其具有丰富的数据类型。
VHDL语言既支持用户定义数据类型,也支持标准定义的数据类型,这样可以给硬件描述带来很大的自由度。
(3)VHDL语言具有很强移植能力
VHDL语言有很强移植能力主要体现在:
对于同一个硬件电路的VHDL语言描述,它可以从一个工作平台移植到另一个工作平台上、从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者去执行。
(4)VHDL语言的设计描述与器件无关
采用VHDL语言描述硬件电路时,设计人员可以先不考虑要进行设计的器件。
这样做的好处可以让设计人员集中精力进行电路设计的优化,而不需要考虑其他的问题。
当硬件电路的设计描述完成以后,VHDL语言可以采用多种不同的器件结构来实现。
(5)VHDL语言程序易于共享及复用
VHDL语言采用基于库的设计方法。
在整个设计过程中,设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。
这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。
由于VHDL语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言,因此它可以使设计成果在设计人员之间方便地进行交流和共享,从而减小硬件电路设计的工作量,缩短开发周期。
[8]
2打铃系统设计基本原理与设计思路
本设计内容为基于EDA的自动打铃系统,控制器的底层模块采用的是硬件描述语言设计,顶层模块的设计方法是采用原理图方式;自动打铃器具有计时功能,可以对时、分、秒的正常计时及显示;又具有定时打铃的功能,当设定打铃时间和学校上下课时间点相同时则打铃;并且计时时间、定时时间、打铃时间可以自由设置及调整,数据信息通过LCD显示。
自动打铃器总体设计框图如图2-1所示。
图2-1自动打铃器总体设计框图
时钟模块中秒计数器满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照24进制的规律计数。
计数满了后,各计数器清零,重新开始计数。
计数器的输出由LCD显示器显示输出。
在控制信号中除了有一般的校时信号外,还有时钟清零的信号。
打铃时间可以通过VHDL程序中直接更改,报警的时长也可以自定义设置。
2.1时钟模块
24小时计时器的原理图如图2-2所示,它是由两片六十进制的计数器和以及一片二十四进制的计数器构成的,六十进制的计数器相当于给输入信号60分频,故当输入信号CLK为1HZ的时钟时,经过60分频后就能产生1分钟的时钟信号,再经过60分频后,就能产生1小时的时钟信号,最后进行24分频,得到一天的脉冲送COUT输出。
图2-224小时计时器原理图
完成基于VHDL的24小时计时器设计时,进行封装产生一个元件符号,如图2-3所示,这样使其模块化,方便后面的设计。
CLR为复位信号,CLR=‘1’,正常工作,CLR=‘0’时,电路复位;CLK为时钟信号,上升沿触发。
qs0[3..0]、qs1[2..0],qm0[3..0]、qm1[2..0],qh0[3..0]、qh1[1..0]分别是秒、分、时的地位和高位输出。
图2-3计数器设计生成的元件符号
2.1.1六十进制计数器模块
如图2-4所示为秒计数模块符号图,输入端口CLR是60进制计数模块的复位信号,EN是整个数字中的使能信号,EN=‘1’时,正常计数,EN=‘0’时,停止计数;CLR为复位信号,CLR=‘1’,正常工作,CLR=‘0’时,电路复位;CLK为时钟信号,上升沿触发;输出端口QSA[3..0]是60进制计数器的低四位,QSB[2..0]是高三位,由于高位只有五个状态,故只需三位;COUT端口是进位输
出端口,当计数到59时输出高电平,其它时候输出低电平。
图2-460进制计数器的元件符号
2.1.2二十四进制计数器模块
图2-5为24小时进制计数器外部引脚图,从引脚图可以看出与60进制没很大的区别.输入端口CLR是60进制计数模块的复位信号,EN是整个数字中的使能信号,EN=’1’时,正常计数,EN=’0’时,停止计数;CLR为复位信号,CLR=’1’,正常工作,反之,复位;CLK时钟信号,上升沿触发;输出端口QHA[3..0]是24进制计数器的低四位,QHB[1..0]为24进制的高位输出,由于高位只有0、1两个状态,所以只有两位。
图2-524进制计数器元件外部引脚功能图
2.2定时模块
本设计的定时模块设计框图如图2-6所示,该模块能实现时,分的时间设置功能,有三个输入端,分别为:
复位,调时或调分选择开关以及时间置加键。
通过这三个输入,达到时间的预置以及存储功能。
图2-6调时模块设计框图
图2-7为其元件符号,可以看到三个输入端,复位信号reset,时间置加up_key,以及调时或调分选择开关k1。
其中,复位信号reset为低电平时复位,高电平正常工作;时间置加键up_key为上升沿触发;选择开关k1位高电平时为调时,低电平为调分。
图2-7调时模块元件符号
2.3选择模块
选择模块的作用是k2开关来控制电路的功能,是进行定时设置还是正常时间显示功能。
图2-8设置框图所示,当k2为高电平,显示正常时间,当k2为低电平时,选择定时时间输出。
图2-8输出选择切换模块设计框图
在本此设计中具有时间显示功能和时间设置功能,故两者的输出切换程序必不可少,图2-9时输出选择切换模块的元件符号,K2为切换按键输入,用于切换时间输出,当k2为高电平时,选择正常24小时计时器显示时间,当k2位低电平时,选择定时时间输出,实现时间的预置功能。
图2-9输出选择切换模块元件符号
具体电路实现如图2-10所示,将时间计数模块与定时设置模块的输出都并联到选择模块中,通过k2开关进行切换,由于定时模块只对时间的时、分进行设置,故时间的秒直接由时钟模块输出。
图2-10输出选择切换模块电路图
2.4闹钟模块
如图2-11所示为闹钟模块设计框图。
设计思路为:
将闹钟设定的时间和计时模块的时间分别比较,也就是说时高位、时低位,分高位、分低位分别进行比较,如果都相等,即时间时间相等,则输出高电平,输出信号与一个周期信号相与,获得的信号接蜂鸣器,可实现报警,报警时间有周期信号频率决定,最长可达到一分钟。
图2-11闹钟模块设计框图
如图2-10所示,将时钟模块的输出时间QH_A、QH_B,QM_A、QHM_B与闹铃输入的时间HARM_A、HARM_B,MARM_A、MARM_B分别进行比较,当都一致时,输出SPEAK为高电平,是蜂鸣器响。
图2-10闹钟模块元件符号
如图2-12所示,将时钟模块和定时模块的输出端连上述的闹钟模块上就产生了闹钟定时器,时钟输出的时间与定时器设置的时间一致时,闹钟模块输出端speak将产生高电平,从而达到报警效果。
图2-12闹钟模块电路图
2.5打铃模块
2.5.1打铃时间设置
如图2-13所示为打铃模块设计框图。
模块包括作息的选择和时间的比较部分,其设计思路为:
通过k3进行打铃开关,将时钟的时高位、时低位,分高位、分低位分别和表2.1中的打铃时间数据做比较,如果相等,则Q_Y输出高电平,否则,输出低电平。
图2-13打铃模块框架图
如表2-1所示为学校作息时间。
学校作息时间的上课下课时间共有20个时间点,将这些时间点写入程序中,当时钟的时间与这些时间相同时,输出端Q_Y为高电平,再与一个周期信号相与,作为闹铃模块的输入。
表1.1学校作息时间
作息时间
上课
下课
上午
08:
00
08:
45
08:
55
9:
40
10:
20
11:
05
11:
15
12:
00
下午
14:
00
14:
45
14:
55
15:
40
15:
45
16:
35
晚上
18:
30
19:
15
19:
25
20:
10
20:
20
21:
05
如图2-14所示,将定时模块输出端作为闹钟的输入端,当到了预期时间是,输出端Q_Y将产生高电平,其时间为1分钟,即实现1分钟打铃功能。
图2-14打铃模块原理图
2.5.2打铃时长设置
如图2-15所示为报警时长设定模块的符号图。
其中CLK为脉冲信号,上升沿触发;QY为报警输入端,q_20s为报警时长输出,报警时间为20秒。
本模块式通过设置一个大于60进制的计数器(如64进制),当QY=‘1’时,对秒脉冲进行计数;QY=‘1’时,并且计数的数值小于或等于20时,计数器输出q_20s为1;当QY=‘1’时,并且计数的数值大于20时,则计数器输出q_20s为0;从而保证响铃20秒;当QY=‘0’时,则将计数器计数的值清零,并且停止计数;只有当下一个QY=‘1’时,计数器才开始计数。
图2-15报警时长设定模块符号图
2.7电源模块
本模块设计的目的是给FPGA、LcD、蜂鸣器等器件提供工作电压,所以该模块电路的设计是极其重要的,要保证其稳定性必须很好,否则会影响到器件的正常工作,既而影响到打铃器的可靠性和准确性。
在电子电路的设备中,一般是都采用稳定的直流电源来供电的。
单相的交流电通过变压器、整流电路、滤波电路和稳压电路转换成稳定的直流电压。
图2-5直流稳压电源电路图
如图2-5所示是直流稳压电源的电路图。
日常220V交流电压通过电源变压器变换成交流低压,再经过桥式整流电路D1~D4和滤波电容C1的整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。
此直流电压经过LM7805的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。
LM317作为输出电压可变的集成三端稳压块,是一种使用方便、应用广泛的集成稳压块,改变R2阻值即可调整稳压电压值。
D1,D2用于保护LM317,最大输出电流为2.2A,输出电压范围为1.25~37V。
三端稳压器是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件[14]。
2.8本章小结
在本次设计,主要实现以下有功能:
1、基本的数字钟计时功能、校时功能;
2、定时闹钟功能:
可以任意设定闹钟时间,闹铃在一分钟以内。
3、校园打铃功能:
正常教学打铃,而且通过软件便于更改打铃时间。
3设计结果与仿真分析
3.1时钟模块仿真分析
3.1.1六十进制计数器仿真分析
图3-1为60进制计数器的仿真波形图,从图上可以看出:
每当CLK一个上升沿产生时,输出端QSA[3..0]将加1,而每当QSA[3..0]增加到9时,到下一个脉冲,QSB[2..0]将加1,直至达到59。
所以,容易得出计数器的循环状态共有六十个,从00到59.每当状态到达59时,在下一个脉冲后,进入00状态,并进位端cout产生一脉冲,使下一级的计数器有一个上升沿作为脉冲。
图3-160进制计数器波形仿真图
3.1.2二十四进制计数器仿真分析
二十四进制计数器的波形仿真如图3-2所示,从其波形仿真中可以看到,当CLR、EN为高电平时,计数器开始正常工作。
每当CLK一个上升沿产生时,输出端QSA[3..0]将加1,而每当QSA[3..0]增
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 打铃 系统 EDA 设计 仿真