EDA数字电子设计-多功能数字钟设计_第1页
EDA数字电子设计-多功能数字钟设计_第2页
EDA数字电子设计-多功能数字钟设计_第3页
EDA数字电子设计-多功能数字钟设计_第4页
EDA数字电子设计-多功能数字钟设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA设计实验报告多功能数字钟设计院系:动力工程学院电气工程及其自动化学号:xxxx姓名:xq指导老师:xxx完成时间:2010年5月1日多功能数字钟设计摘要:本实验借助于Quartus及其相应的实验平台设计一个多功能数字钟,实现校时、校分、清零、保持和整点报时等多种基本功能,此外还实现了星期显示、闹钟、音乐闹铃、秒表等附加功能。本文首先利用Quartus II进行原理图设计并仿真调试,最后在实验板上验证了设计的正确性。关键字:多功能数字钟 Quartus II仿真 闹钟 整点报时 秒表Abstract:The experiment is to design a multifunctional

2、 digital clock with Quartus II and the corresponding experiment platform.It has a variety of basic functions like minute adjusting,second adjusting,resetting,keeping and chime on integral hour.In addition,it can display week and act as a music alarmclock and stopwacth.In this report we firstly desig

3、ned the circuit with the components in the library and simulated with Quartus II .Then downloaded the design to the experiment platform to test.Key words: the multifunctional digital clock simulating with Quartus II alarm clock chime on integral hour stopwatch目 录一 设计要求 3二 方案论证 4总体电路图 4基本计时电路的工作原理 5附

4、加闹钟电路的工作原理 5整个时钟原理框图 6三 基本计时电路子模块设计原理 61、脉冲发生电路 62、计时电路 103、校分校时保持清零电路144、动态译码显示电路155、报时电路186、消颤开关组电路197、基本计时电路综述21四 闹钟电路子模块设计原理 221、闹钟开关消颤及校时校分清零电路 222、闹钟与计时校时分复用电路 253、比较电路 264、2选1显示复用电路 275、报时音乐电路 286、音乐选择电路 297、音乐产生电路 30五 未实现功能的原理简述 361、秒表 362、万年历 373、模块化与接口设计 37六 程序下载、仿真与调试 38七 实验总结与感想 39一、设计要求

5、1、设计一个具有校时,校分,清零,保持和整点报时功能的数字钟;2、数字钟的具体设计要求具有如下功能:(1)能进行正常的时、分、秒计时功能, 最大计时显示23小时59分59秒;(2)分别由六个数码管显示时分秒的计时;(3)K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);(4)K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);(5)K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);(6)K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);(7)整点报时功能(当时钟计到5953”时开始报时,在5953”, 5955”,5957” 时报

6、时频率为500Hz,5959”时报时频率为1KHz );3、在以上所述的基本功能的基础上,实现附加功能:(1)星期显示及校星期功能;星期显示功能是在数字钟计时界面上显示星期,计时到24小时,星期显示的数据进一位。星期显示为1、2、3、4、5、6、8,分别表示星期一到星期日。校星期功能是在不影响计时的情况下,通过开关K5校准星期;(2)闹钟及音乐闹铃功能;闹钟功能是通过开关K6切换显示至闹钟界面,利用校时和校分复用开关K3、K4为闹钟设定时间,对闹钟时间设定时并且不影响数字钟计时。开关K7为闹铃开关,当K7=0时闹钟定时到时闹铃不响,K7=1时闹钟定时到时音乐闹铃响起。开关K8为音乐切换开关,可

7、以选择闹铃音乐(报告中提供2首硬件电路实现的音乐,2首VHDL语言实现的音乐);4、未在数字钟中实现的功能讨论(1)秒表秒表由6个数码管显示,为毫秒的个、十位,秒的个、十位以及分的个十位,设计原理是对100hz的脉冲计数,秒、分位是模60计数,另外还要实现保持、清零功能,原理与计时电路类似;(2)万年历功能万年历实现显示年月日的功能,年显示最后两位,此外还有校年月日的功能;以上两个功能实现原理并不复杂,但是由于开关数量不足,需要考虑复用问题,数码管显示也需复用,同时也由于我是一人一组,限于时间不足,并未实现;5、对设计电路进行功能仿真,对其进行验证;二、方案论证1、总体电路图说明:K1=0时正

8、常工作,K1=1时保持;对应于电路图中kbao K2=0时正常工作,K2=1时清零;对应于电路图中kql K3=0时正常工作,K3=1时给电路快速校分;对应于电路图中kmin K4=0时正常工作,K4=1时给电路快速校时;对应于电路图中khou K5=0时正常工作,K4=1时给电路快速校星期;对应于电路图中kxin K6=0时显示基本电路计时,K6=1时显示闹铃设定时间;对应于kalarm K7=0时闹铃关闭,K7=1时闹铃开启;对应于电路图中klj K8=0时闹铃为由硬件电路实现的音乐,K8=1时为VHDL语言实现的梁祝;2、基本计时电路工作原理数字计时器由脉冲发生电路(即分频电路),计时电

9、路,译码显示电路和控制电路等几部分构成,其中控制电路包含清零、校分、校时和保持电路。基本功能部分的原理框图如下:其中,脉冲发生电路(分频电路)将实验箱提供的48Mhz的频率分成电路所需要的频率;计时电路是由计数器组成,秒位分位是模60的计数器,时位是模24的计数器,秒个位对由分频电路提供1hz的脉冲进行计数,形成时钟;计时电路与动态译码显示电路相连,将时间显示在七个七段数码管上,并驱动报时电路整点报时;动态译码显示电路是由数据选择器、译码器、数码管以及一个用于控制的计数器组成,用模7计数器将星期、时、分、秒的每一位依次选通到对应的数码管,当闪烁频率大于人眼的分辨频率时,就能实现动态显示;报时电

10、路判断时间是否到达,在5953”, 5955”,5957”时使用500hz的频率报时, 5959”时用1khz的频率报时;清零电路使系统的分秒时及星期同时归零;校分时星期电路对时、分、星期提供快速校时;保持电路使计时电路停止计时,显示当前的时间。3、附加闹钟电路工作原理:闹钟电路包括:闹钟校时分与计时校时分复用电路、2选1电路(闹钟和计时电路复用输出)、闹钟开关消颤电路、闹钟校时分清零电路、比较电路(比较时间与闹钟设定的时间)、报时音乐电路、音乐选择电路等。闹钟电路与计时电路共用校时、校分开关,通过闹钟开关K6(Kalarm)切换,K6=0时计时电路校时分,K6=1时闹钟设定时间校分、时;闹钟

11、设定时间与计时电路时间通过2选1电路复用输出;比较电路判断计时时间与闹钟设定时间是否相同,从而达到定时闹铃的功能;报时音乐电路使得整点报时与闹铃功能复用蜂鸣器;音乐选择电路切换音乐;4、整个时钟原理框图:报时音乐电路2选1复用电路开关消颤电路组清零保持电路校分时星期电路闹钟电路计时电路脉冲发生电路译码显示电路三、基本计时电路子模块的设计原理1、脉冲发生电路(分频电路)脉冲发生电路将实验箱48MHz的频率分频成1Hz(供系统时钟),2Hz(快速校分、校时)以及1KHz和500KHz(供闹钟电路)。此外,报时音乐电路的闹铃音乐也需要各种频率的脉冲,将在音乐电路中讨论。模块封装:内部电路:由内部电路

12、可知,分频电路由2分频电路、24分频电路、1000分频电路构成,其中24分频电路由3分频电路和3个2分频电路组成的8分频电路构成。以下分别讨论:1.1 2分频电路(1)模块封装:(2)内部电路:2分频电路可以由多种方法实现,此处使用D触发器实现2分频。(3)仿真波形:1.2 3分频电路(1)模块封装:(2)内部电路:3分频电路可以由多种方法实现,此处使用74160组成模3计数器实现3分频。74160由Rco给置数信号,置数0111,即7,计数7,8,9。(3)仿真波形:1.3 24分频电路(1)模块封装:(2)内部电路:24分频电路由3分频电路与8分频电路组成,其中8分频由3个2分频电路组成,

13、在此不再讨论。(3)仿真波形:1.4 1000分频电路(1)模块封装:(2)内部电路:1000分频电路由3个模10计数器组成,其中模10计数器由74160组成,在模1000计数器末端加了一些门电路,使得输出为,即当模10计数为0000,0001,0010,0011,0100时输出为1,其他输出为0,即04为1,59为0,从而实现1:1占空比。(3)仿真波形:2、计时电路计时电路包括秒,分,时,星期四个模块,依次进位。其中,秒和分模块类似,都是一个模60计数器,只是秒模块的进位为1Hz脉冲,而分模块的时钟为秒模块的进位;时模块是一个模24计数器,而星期则是一个特殊的模7计数器。计时电路示意如下:

14、1Hz秒个位秒十位分个位分十位时个位时十位星期2.1 秒计时模块(1)模块封装:(2)管脚说明:输入:cou60为外部的1Hz脉冲,srd为清零信号。输出:o1至o4为秒个位,o5至o8为秒十位。sjm为秒向分的进位(3)内部电路:秒计时模块的实质是一个模60计数器。如图,前一个74160为个位,后一个为十位,每当个位计数到1001时,由0变为1,将十位的置位,十位的74160计1,当十位的计数到5(0101),个位的计数到9(1001)时,正好是60,此时置位两个计数器,重新由0开始,这样就完成了模60计数。74160置位端低电平有效,因此将59时个位的,十位的,与非之后送给。在0到59之间

15、时,=1,无效;59时,=0,计数器将被置位为0。(4)仿真波形:2.2 分计时模块(1)模块封装:(2)管脚说明:输入:cou60为外部的1Hz脉冲,mrd为清零信号。输出:o1至o4为分个位,o5至o8为分十位。mjh为分向时的进位(3)内部电路、仿真波形:与秒计时模块相同,在此不再赘述2.3 小时计时模块(1)模块封装:(2)管脚说明:输入:cou24为外部的1Hz脉冲,hrd为清零信号。输出:o1至o4为时个位,o5至o8为时十位。hjd为时向星期的进位(3)内部电路:时计时模块是一个模24计数器。模24计数器原理与模60计数器类似,个位为3,十位为2时置位为0,即将个位的,和十位的经

16、与非门接入。(4)仿真波形:2.4 星期计时模块(1)模块封装:(2)管脚说明:输入:1hz为外部脉冲,用来校星期;wrd为清零信号;kxin为校星期开关;hjw为小时向星期的进位输出:w0至w3为星期的个位(3)内部电路:星期计时模块是一个特殊的模7计数器。计数器分别计数为0001,0010,0011,0100,0101,0110,1000即模7计数器计数1,2,3,4,5,6,8,分别表示星期一到星期日。模7计数器在计数到6和8时置数,置数端LDN为,置数即当计数到1000时置数0001,计数到0110时置数1000。校星期电路如图所示kxin为校星期开关,kxin=1时电路以1Hz的频率

17、校准,kxin=0时正常计时。(4)仿真波形:3、校分校时保持清零电路 校分校时保持模块(1)模块封装:(2)管脚说明:输入:2hz为外部脉冲,用来校分时;1hz为计时脉冲;sjmi为秒计时电路输出的进位;mjhi为分计时电路输出的进位;khou为校时开关;kmin为校分开关;kbao为保持开关输出:sge为秒计时电路输入的计时脉冲;sjmo为分计时电路的输入脉冲;mjho为时计时电路的输入脉冲(3)内部电路:可见当保持开关kbao为低电平时,正常计时;为高电平时秒个位无时钟信号输入,从而整个系统处于保持状态。当校分开关kmin=1时,秒不再计时,同时屏蔽了秒向分的进位输入,使得进位脉冲为2h

18、z,从而实现快速校分;当校时开关khou=1时,秒不再计时,同时屏蔽了分向时的进位,进位脉冲为2hz,实现快速校时。本电路校时分的时候秒计时是停止的,这样做有利于精确的校分校时,以免进位打乱已经校好的时间。但是本电路有些许缺陷,这是为了实现校时校分时电路停止计时而产生的。当校时校分开关快速来回拨动时秒计时也会相应的增加,这是由于校时校分开关的来回拨动就相当于给了一个脉冲给秒计时电路,从而使得秒计时加1。但对于实际应用时这个缺陷影响不大,因为不会有人将校分、校时开关来回的拨动,一般校分校时过程开关仅来回一次,没有什么大的影响。 清零电路模块清零开关kql接至分,秒,时及星期的清零端,当其为高电平

19、时分秒时及星期同时清零。4、动态译码显示电路 动态译码显示电路原理显示电路主要由数据选择器74151、译码器74138、计数器、显示译码器7447和数码显示管组成。显示电路示意图如下:用动态扫描显示法进行数据显示,即每次只显示一位,按照一定的显示时间间隔轮流显示。每个显示位均为四位二进制数,所以需要4片数选器;要显示的位有时分秒6位(HH,HL,MH,ML,SH,SL),加上星期显示1位(w),再加上一个空位,共8位。数选器的选择信号有三位,要用一个模8循环计数器作为数选器的地址选择端,供轮流选择带显示的数据;此外,还要用一个3-8译码器74138来选择数码管(DIG位)来显示对应的数据。 动

20、态译码显示模块(1)模块封装(2)管脚说明:输入:sl,sh,ml,mh,hl,hh,w分别为秒,分,时的个位和十位以及星期的显示输出,1khz为扫描频率,kalarm1为闹钟开关。输出:en6.0控制七个数码管的使能端,a至g为数码管的七段。(3)内部电路:计数器74161设计为模8的循环计数器,其输出既作为4片74151的控制端,又作为38译码器74138的控制端。当计数器计数到某一个数值时,四片74151同时选取对应位的输入组成计时器某一位的BCD编码,接入显示译码器7447,与此同时根据计数器的数值,74138译码器也通过数码管的使能端选择对应位有效,从而在实验箱上显现数据。扫描的频率

21、为1KHz,因为人眼的视觉停留,会感觉七个数码管同时显示。此外,电路中还增加了一个闹钟开关kalarm,使其与秒,星期的使能输出相或。采用此设计的目的是使在设定闹钟时间时,用不到的秒与星期相应位的数码管不显示。即当kalarm=0时正常显示计时情况,显示星期、时、分、秒共7位数据;当kalarm=1时显示闹钟设定时间,仅显示8位数码管的中间4位,为时、分的个位和十位。这样能更好的区分正常计时与闹钟定时两种状态,同时也使得电路不受其它位数据变化带来的干扰。5、报时电路(1)模块封装(2)管脚说明:输入:sl,sh,ml,mh分别对应秒、分个位、十位的BCD码的相应位。500hz与1khz为报时电

22、路的两种驱动频率;输出:接蜂鸣器;(3)内部电路:当计时到5953”, 5955”,5957”时,分别发出一声较低的蜂鸣声(500hz);当计时到5959”时,发出一声较高的蜂鸣声(1khz)。需要在某时刻报时,就在时刻输出信号1作为触发信号,选通报时脉冲信号进行报时。5953”对应的四个输出分别为:0101,1001,0101, 0011;5955”对应的四个输出分别为:0101,1001,0101, 0101;5957”对应的四个输出分别为:0101,1001,0101, 0111;5959”对应的四个输出分别为:0101,1001,0101,1001;可见,报时功能选择出的高电平输出端的

23、分十位,分个位,秒十位均是相同的,即0101,1001,0101;但秒个位是不同的,对应于0011,0101,0111,1001;但报时的频率并不相同,设是报时函数,是500hz报时函数,是1khz报时函数。均为高电平时报时。则有=+。可以将函数写为:再加上前面的分十位,分个位,秒十位的约束条件,就可以化简得到:由此可以实现报时电路,可以有多种方式来完成以上公式。6、消颤开关组电路 消颤开关模块(1)模块封装(2)管脚说明:输入:ki为开关输入;2hz为消颤延时频率输出:ko为开关输出;(3)内部电路:可见消颤开关其实就是一个D触发器,利用D触发器锁存开关的动作信号,并且屏蔽抖动。 消颤开关组

24、模块(1)模块封装(2)管脚说明:输入:2hz为消颤延时频率;kbao为保持开关输入;kxin为校星期开关输入;khou校时开关输入;kmin为校分开关输入;kql为清零开关输入;输出:kbao1为保持开关输出;kxin1为校星期开关输出;khou1校时开关输出;kmin1为校分开关输出;rd为清零开关输出;(3)内部电路: 可见,消颤开关组电路即把各开关的消颤电路集合在一起。7、基本计时电路综述 基本计时电路由前面已经讨论过的脉冲发生电路模块(分频电路)、动态显示译码模块和集计时校分报时于一体的计时部分模块。计时部分模块具体如下:(1)模块封装(2)管脚说明:输入:kbao0为保持开关输入;

25、kxin0为校星期开关输入;khou0校时开关输入;kmin0为校分开关输入;kql0为清零开关输入;1hz为秒计时频率;2hz为校分时星期脉冲以及消颤开关组脉冲;500hz、1khz为报时频率脉冲输出:sl,sh,ml,mh,hl,hh,w分别为秒、分、时、星期的BCD码的相应位,用于输出到动态显示模块显示;fengming0为报时输出,接到蜂鸣器上; (3)内部电路:其中计时校分模块为计时模块与校分模块的结合,其模块封装及内部结构如下:内部电路即为前面所讨论的部分,在此不再赘述。四、闹钟电路子模块的设计原理1、闹钟开关消颤及校时校分清零电路(1)模块封装(2)管脚说明:输入:khou0校时

26、开关输入;kmin0为校分开关输入;kql0为清零开关输入; 2hz为校分时脉冲以及消颤开关脉冲;输出: ml,mh,hl,hh分别为分、时的BCD码的相应位,用于输出到动态显示模块显示; (3)内部电路:可见,内部电路为两部分电路的封装,下面分别讨论:1.1 闹钟消颤开关组模块(1)模块封装(2)内部电路可见,闹钟消颤开关电路与计时部分一样,在此不再讨论;1.2 闹钟校时分清零模块(1)模块封装(2)内部电路由内部电路可见,闹钟的校时分清零模块是基于计时模块的。但是没有计时部分的复杂,此处相对于计时部分做了一点改动。首先,在电路中取消了分向时的进位。这样做是为了防止当我们已经校好小时再校分的

27、时侯,有可能产生分向时的进位,这样会改变已经校好的小时,因此有必要取消。同时在实际应用中也没有进位的必要;其次,电路中只有定时频率2hz输入,加上没有秒向分的进位问题,故不需考虑相互之间的配合,校分校时部分相互之间是独立的,从而简化了控制电路。2、闹钟与计时校时分复用电路(1)模块封装(2)管脚说明输入:khou为校时开关输入;kxin为校分开关输入;kalarm为闹钟开关;输出:halarm,malarm分别为闹钟部分的校时、校分开关信号;hclock,mclock分别为计时部分的校时、校分开关信号;kalarm1,kalarm0为闹钟信号; 设计此电路的目的是为了实现校时、校分开关的复用功

28、能,从而节约开关。即当kalarm=0时,电路输出的为计时电路的校分、校时开关信号;当kalarm=1时,电路输出的为闹钟设定时间的校时、校分信号。本电路的实现原理简单,仅为几个与门的使用,在此不做详细介绍。3、比较电路(1)模块封装(2)管脚说明输入:alm15.0为闹钟设定的分、时的十位和个位的BCD码;nor15.0为计时电路所计的时间的分、时的十位和个位BCD码;klj为闹铃开关,用于控制闹钟到设定时间时是否响闹铃;输出:comp为时间与闹钟设定的时间的比较判断值,相同时comp为1;(3)内部电路可见比较模块就是一个由异或非门组成的16位比较器,只有当计时输出与闹钟定时输出的每一位都

29、相同时,四与门输出的comp为高电平。另,比较电路也可以由7485等数值比较器来实现比较功能。4、2选1显示复用电路(1)模块封装(2)管脚说明输入:kalarm为闹钟开关;nml,nmh,nhl,nhh为计时部分的分、时的个位十位BCD码输出;aml,amh,ahl,ahh为闹钟部分的分、时的BCD码输出输出:xml,xmh,xhl,xhh为2选1电路输出的复用分、时BCD码;(3)内部电路由内部电路可以看出,2选1显示复用电路的实质就是16位的2选1数据选择器,数据选择器由4个4位2选1数据选择器74157组成,通过闹钟开关kalarm选择输出的数据。当kalarm=0时,输出计时电路的分

30、、时;当kalarm=1时,输出闹钟对应的BCD码;如果在闹钟的基础上再加上其他的功能,则显示复用电路就要变成3选1或4选1的选择电路,但是基本原理是一样的。5、报时音乐电路(1)模块封装(2)管脚说明输入:zhengdianbaoshi为整点报时电路输出的报时信号;comp为比较电路输出的判断信号;yinyue为音乐选择电路输出的音乐闹铃信号;输出:fengming接蜂鸣器;(3)内部电路报时音乐电路实质为音乐信号与整点报时信号的选择电路,电路中音乐信号通过comp选择是否输入。整点报时信号当到达整点时即有效,但是由comp信号控制是否输出,当comp=0,即闹铃未响时,整点报时信号正常输出

31、给蜂鸣器;当comp=1,即闹铃响时,若此时有整点报时信号,则无法输出到蜂鸣器;如此设计的目的是为了防止闹铃响时,整点报时会影响闹铃音乐,因为实际情况中闹钟设定在整点的情况很普遍,为了在整点闹铃响时音乐不受影响,对于整点报时信号进行了屏蔽。同理也可以使得整点时对音乐进行屏蔽,其原理一样,主要就看不同的设计需要。6、音乐选择电路(1)模块封装(2)管脚说明输入:k8为音乐切换开关;48mhz为音乐生成电路的输入频率;输出:yinyue为输出的音乐信号;(3)内部电路可见音乐选择电路十分简单,仅仅是由一个开关所进行的选择。此处仅支持两首音乐的切换,同理可以设计许多音乐的切换功能,但是由于开关不足,

32、就需要考虑开关的复用问题,故在此仅实现2首歌的切换。由以上分析可知,音乐闹铃的关键其实在于音乐的产生,下面将对此进行分析。7、音乐产生电路7.1 VHDL语言音乐模块(1)简述由于时间关系,并未学习VHDL语言,故由VHDL语言实现的音乐是直接运用的已经编好的程序,并不是自己设计的。但是音乐的产生过程究其本质,硬件实现和VHDL实现的原理是一样的,下面将就硬件实现音乐进行深入分析。VHDL音乐在此不做讨论。实验中共运用2个VHDL语言音乐,分别为梁祝和SUNSHINE,具体的VHDL语言在报告中不再赘述。(2)模块封装(3)管脚说明输入:48mhz为音乐生成电路的输入频率;输出:spk为输出音

33、乐;7.2 硬件实现音乐模块(1)简述无论什么音乐,其硬件实现的原理是一样的。音乐是由不同频率的音频信号送入蜂鸣器产生的,而要想获得音乐效果,首先要获得音频,因为不同的音符对应于不同的频率,这个由频率发生电路产生;其次要让音频按照乐谱顺序依次发声,这个由译码器完成;最后,要让闹铃声在每次闹铃时都从头开始循环播放,所以需要带清零功能的循环计数器用来作为译码器的输入。将依次选中的位和对应频率脉冲相与之后,使得输出按一定规律变化的一连串不同频率的组合,即为音乐。其中频率发生电路即分频器,在前面已经讨论过,实现起来相对也简单,故音乐电路的重点是译码选择。实验中共实现了2个硬件音乐,分别为只要妈妈露笑脸

34、和欢乐颂。在此以欢乐颂为主进行介绍。(2)欢乐颂本实验中音乐是欢乐颂开头一段,共有32个音符,故需要5-32译码器。实验软件中没有可以直接使用的5-32译码器,所以用一个2-4译码器74139和4个3-8译码器构成。由于不知道音符对应的频率,又无处可查,在此仅使用2khz,1khz,500hz,250hz,125hz来表示对应音符,这实际上并不是正确的频率,但是并不影响原理的实现,仅是实现出来的音乐听起来比较奇怪而已。 eq oac(,1)模块封装 eq oac(,2)内部电路分别为频率发生电路和译码选择电路;1频率发生电路模块封装:内部电路:内部即为各种分频器的组合,在此不再讨论。2 模32

35、计数器模块封装:内部电路:模32计数器用于循环选择音符,原理同模24,模60计数器。35-32译码电路模块封装:内部电路:5-32译码器由一片74139和4片74138组成。74139的两个输入端为5为位译码的高两位,输出端用于选择4片74138中的对应一片。4译码选择电路模块封装:内部电路:电路将依次选中的位和对应频率脉冲相与之后,使得输出按一定规律变化的一连串不同频率的组合。上述电路即为音乐产生电路的关键部分,由以上电路可以实现任何音乐。假设一首音乐24个音符,则只需将以上电路改为模24计数器,译码器仍可用5-32译码器,但是仅需要24个选择,而后将依次选中的位与所设计的音乐中各音符对应的

36、频率相与输出即可。不同音乐的其实现原理是相同的。(3)另一音乐的硬件实现电路实验时用音乐实现了两个音乐,在此将另一音乐的电路图展示于此。此电路为参考别人设计所做,但由于有了相应的音符对应的频率,实现的音乐更为成功。模块封装:内部电路:其中,music1为分频电路,分频电路如下,分别为1 (96分频)、2(81分频)、3(72分频)、4(64分频)、5(54分频)、6(48分频)和7(36分频)。在此不再讨论。yinyue为选择电路,yinyue电路内部如下:由电路图可以看出,电路的基本组成是一样的,仅仅是某些具体的设定不同。五、未实现功能的原理简述1、秒表秒表的毫秒位为100进制,秒位和分位为

37、60进制,原理与计时器相同,只是多了毫秒位需要显示计时。由于开关不够使用,故需考虑复用问题,此处并未考虑,而是把闹钟电路的音乐选择开关作为秒表的开关来设计。保持开关与清零开关可以与计时闹钟部分的复用。秒表启动开关(k8为1时开启秒表并且显示计数,k8为0时关闭秒表并切换显示正常计数电路的值);K1是秒表电路的保持开关(k1=0是秒表正常工作,k1=1时保持,显示最后的示数);K2是秒表电路的清零开关(k2=0时正常工作,k2=1时清零)。同时秒表电路还需考虑显示电路的复用问题,其实现原理与闹钟的显示原理一样,仅需实现计时、闹钟、秒表3选1复用显示功能,在此亦不做深究。另由于一共有8位数码管,故

38、也可直接将毫秒位放在秒的后面2位,如此则不需要考虑复用显示问题。由以上分析可以看出秒表的功能实现非常的简单,要实现其关键还是开关的复用问题。2、万年历万年历可以实现有显示年月日的功能,各用两个数码管显示,年只需显示最后两位,此外还应有快速较年月日的功能。要增加万年历功能的最大障碍是开关问题,做完基本电路、闹铃和秒表电路后,已经没有开关剩下,要实现万年历最关键在于开关的复用问题。而开关的复用则需对原来已经设计好的电路进行修改,这需要花费很多时间来进行电路的调整,故并未实现。万年历需要快速校准年、月、日,还要切换数码管显示,故至少需要四个开关。此处可将基本电路和闹铃电路的校分校时校星期开关与万年历

39、的校日、校月、校年实现复用,而数码管切换显示开关则需另找一个开关实现复用。此外,显示也需实现复用,但是由于前面的闹钟功能已经实现了显示的复用,故仅需将前面的2选1译码显示电路改为4选1译码显示,以实现计时、闹钟、万年历、秒表功能复用显示。如此多的功能,要进行切换复用,开关复用仍是个主要的问题。解决了开关问题后其他部分实现相对简单,原理是对时的输出进位进行计数。由于存在每个月的天数不同,且与闰年也有关系,故可假定每月30天。日的实现是进行模30计数;月实现模12计数,月产生的进位给年;年可用模100计数。此外,每个月的实际天数功能也可以实现,可以对月份进行设定,即对于月份进行判断,使得月为1、3

40、、5、7、8、10、12时实现模31计数,4、6、9、11实现模30计数,而2月则对需当前的年份进行判断(此处需用4位来表示年份),首先判断是否为100的倍数,若为100的倍数,则对其判断是否能被500整除,能则为29天,不能为28天;若不为100倍数,则判断能否被4整除,能则29天,不能则28天。要完全实现以上功能需要大量的电路,虽然其原理看似简单,但是要实现则要花费大量时间,又由于我仅是一人一组,要在短短的几天内要实现比较困难。3、模块化与接口设计本次实验在刚开始实现数字钟的基本计时功能时并未考虑太多,由于电路简单就直接进行电路的设计连接工作,而并为考虑要添加功能时应如何进行,故电路一开始

41、把所有的模块均放在了一张电路图中,并未实现模块封装设计。这直接导致后来进行闹钟功能的拓展时我发现对于原有的电路不好进行修改,很多相同功能我并未实现封装成模块导致无法重复使用,同时很多电路无法直接进行修改,因为电路的连线并未留下足够的剩余空间来进行修改。这样做直接导致后来为了实现闹钟功能我又重新进行了设计连线,以上报告中的电路即为后来重新设计的电路。相比与原来的电路有了很大的进步,但是仍然存在以下问题:(1)各功能模块设计不够合理,各模块的功能不够明确,同一功能的实现却分散在多个模块之中;(2)封装了太多的模块,有些小电路根本无需封装,以致于修改一点电路就需要对许多的模块进行更新;(3)模块的封装仍未考虑增加功能时应如何操作,并未留下相应的可扩展空间及接口。由此导致功能扩展很难操作实现。如开关的复用并未实现在某一模块中,而是把开关分散到不同的子模块电路中,由许多不同的开关功能模块和开关复用模块共同实现,这直接导致在再增加功能时开关的复用很难实现,因为需要对前面的许多电路进行相应的修改,而每一个电路修改又需修改其需要模块封装,导致“牵一发而动全身”。这不得不说是电路设计不合理和考虑不周全导致的,用编程的概念说就是可扩展性差,程序结构不够清晰。由以上问题使得我思考EDA设计也应和编程一样,需要自顶向下的设计理念,首先应明确各个模块的具体功能,然后对于每一个功能模块在进行具体设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论