自动奏乐器二6.docx

上传人:b****4 文档编号:6667234 上传时间:2023-05-10 格式:DOCX 页数:10 大小:159.64KB
下载 相关 举报
自动奏乐器二6.docx_第1页
第1页 / 共10页
自动奏乐器二6.docx_第2页
第2页 / 共10页
自动奏乐器二6.docx_第3页
第3页 / 共10页
自动奏乐器二6.docx_第4页
第4页 / 共10页
自动奏乐器二6.docx_第5页
第5页 / 共10页
自动奏乐器二6.docx_第6页
第6页 / 共10页
自动奏乐器二6.docx_第7页
第7页 / 共10页
自动奏乐器二6.docx_第8页
第8页 / 共10页
自动奏乐器二6.docx_第9页
第9页 / 共10页
自动奏乐器二6.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

自动奏乐器二6.docx

《自动奏乐器二6.docx》由会员分享,可在线阅读,更多相关《自动奏乐器二6.docx(10页珍藏版)》请在冰点文库上搜索。

自动奏乐器二6.docx

自动奏乐器二6

EDA课程设计报告

 

燕山大学

 

姓名:

冷福平

班级:

05级电子信息工程3班

学号:

************

时间:

2007年11月15日

 

一设计题目:

自动奏乐器二

二题目要求:

1.开机能自动奏一个乐曲,并可以反复演奏;

2.速度可变。

1313565-66165---

.

6616553122321---

3.附加:

显示乐谱。

三设计方案:

(1)、本实验时钟信号CP1采用23.438KHZ(JPIN模块),实验箱给的高频信号降为可用的低频信号,以实现乐谱的正常奏乐。

(2)、CP2采用11.719KHZ用于实现六个音符的分频(见模块3FENPIN模块)。

(3)、为实现变速奏乐在模块1中加入了一个SP信号(在实验箱上由按键来实现)。

(4)、为实现自动奏乐,模块2中置有一个有两个74161组成的32进制的计数器,用于乐谱中32个音符状态的顺序输出。

(5)、为使音乐有节奏感,模块2中还装有一YDYIN(延音断音)模块,用于实现断音和延音的产生。

(6)、使用74151数据选择器实现了六个音符的输出和显示选择。

(7)、使用7449电路实现音符的显示,

四、设计说明:

电路设计总图如下:

仿真图如下:

 

下面分模块来叙述详细的设计过程。

1、模块一(JPIN模块):

电路图:

仿真图:

功能:

降频和实现变速。

设计原理:

由于实验箱给出的是一个高频的信号,而要演奏音乐则应当降低为低频,设计的电路由计数器的分频作用来实现降频,电路中设计了两个不同进制的计数器,分别为91进制和64进制。

而变速演奏则是由SP这个高低电平信号来控制实现的,当SP=1时64进制计数器有效,91进制计数器则不工作,音乐的演奏速度为快速;当SP=0时91进制计数器有效,演奏速度为慢速。

从而实现了变速演奏。

2、模块二(MOKUAI2A):

电路图:

仿真图:

功能:

实现延音和断音,实现乐谱中32个状态(音符)的循环。

设计原理:

断音是指两个音符之间的间隔,而延音则表示两个音符之间

无断音。

(1):

下面重点说说用于实现延音和断音演奏的YDYIN模块。

电路图如下:

设计原理:

断音的实现:

主要由一个74160构成的八进制计数器实现,计数器ABCD端置0,计数器初时状态为0,开始计数,计到第七个CP信号完成时置数端有效,计数器回到初时状态0。

与此同时,计数器也给OUT1端一个低电平,因此,在8个输入CP中前7个CP周期内OUT1输出为高电平,第八个CP信号为低,从而实现了断音的演奏。

延音的实现:

输出端OUT2、OUT3、OUT4、OUT5均是用于延音的实现。

下面以OUT2为例说明其工作原理。

图中Q0~Q4为乐谱上32个音符的状态编码输出。

OUT2实现乐谱上第七个音符5-的延音,为此在电路循环到此状态时,由一个五输入端的与门给出一个高电平给OUT2,然后把OUT2和OUT1相与起来,从而将OUT1产生的断音屏蔽掉了,实现了延音的输出,见下面的仿真图所示。

OUT3、OUT4、OUT5组合起来使用用于实现乐谱上第13个和第29个状态延音的实现,注意这里有三个延音,故而分别在三个连续的状态上使用了OUT3、OUT4、OUT5,其他的原理与OUT2一致。

仿真图:

(2):

音符的循环输出控制则是由门电路来实现的(见模块图)。

YDYIN模块输出了Q0~Q4五个乐谱状态编码,而在下一模块使用的是A、B、C三个地址编码,为此要找出ABC和Q0~Q4的关系,从而用Q0~Q4表示出ABC。

乐谱中各个音符(共六个)的ABC地址编码设定如下:

表1

音符

A

B

C

十进制表示

1

0

0

1

1

2

0

1

0

2

3

0

1

1

3

5

1

0

1

5

6

1

1

0

6

i

1

1

1

7

写出32个状态分别对应的Q0~Q4状态编码和ABC地址编码,找出他们的关系,写出表达式。

3、模块三(分频模块)

电路图如下:

功能:

产生六个音符的对应的频率。

设计说明:

电路中由六个独立的模块分别用于实现六个音符的频率产生,这里以模块Yi为例说明其原理。

Yi的电路图:

设计说明:

电路图主要由两个74160组成一个23进制的计数器,当输入CP出入了23周期最后,输出Y才由一个输出高电平,这样便实现了23进制的分频,从而将给定的11.719KHZ的高频分成i音的频率523.26HZ。

下面给出了个音符对应的频率和对应的分频数:

表2

音符

频率(Hz)

分频数

i

261.63*2

23

6

440.00

27

5

392.00

31

3

329.63

36

2

293.66

41

1

261.63

46

4、音符的输出和显示(图见总图)

音符的输出

音符的输出主要由一个74151数据选择器来实现的,ABC是数据选择器的地址编码。

个音符对应的编码见表1,这样就由数据选择器选择输出每个确定状态对应的音符。

音符的显示

显示主要是通过7449来实现的,这里重点说一下BIN这个使能端,开始是将其接为高电平,结果发现在ABC均无信号输入时,数码管的显示不确定,后来查看其真值表才发现应当将ABC相或之后接回BIN,这样便能到达目的了。

五硬件调试:

软件仿真正确后,基本上说明所设计的电路是正确的。

为了进一步证明电路的正确性,进行硬件仿真,即将我们设计的电路下载到可编程逻辑器件中去,并加上相应的外部电路和连线,来对所设计的电路的功能进行验证。

具体操作如下:

1、打开文件图标

,选中“ZT.gdf”文件,然后单击〈OK〉,进入图形编辑程序,ZT.gdf文件中的内容将出现在工作区中。

2、选定设备型号。

3、选定引脚。

依次用鼠标右键单击各个引脚(包括输入和输出引脚),在弹出的菜单中选〈Assign〉—〉〈Pin/Location/Chip…〉,将出现“Pin/Location/Chip”对话框。

4、单击保存&编译图标

,再对电路进行编译一次。

注:

在设计过程中,设计的每次改变后,一定要重新编译一次,哪怕是微小的改变。

5、编程。

单击编程图标

,出现“Programmer”界面,单击〈JTAG〉—〉〈Multi-deviceJTAGChainSetup…〉,将会弹出“Multi-DeviceJTAGChainSetup”对话框,在“DeviceName:

”中选择“EPF10K10”。

单击〈Add〉按钮。

6、下载。

下载电缆通过计算机的并口将计算机和实验箱连接起来。

然后打开实验箱电源。

单击〈DetectJTAGChainInfo〉按钮,编程准备工作就绪。

单击〈SaveJCF…〉按钮,出现“SaveJCF”对话框。

保留软件给出的文件名不变,单击〈OK〉,返回“Multi-DeviceJTAGChainSetup”对话框。

单击〈Configure〉按钮,屏幕将显示编程的进程。

最后显示编程成功。

7、连线。

关实验箱电源,用导线将各个信号连好。

确认无误后,打开电源。

在实验箱上进行实验验证(即硬件仿真)。

经过连线、下载、调试,最终产生了需要的音乐。

开始时音乐演奏的速度太快,后降低CP1的频率之后,得到了很好的演奏效果。

但这是又出现了一个问题:

声音不是很稳定,认真查找原因后发现在原设计图中,分频电路所采用的是异步置零法,这种电路因为置零信号存在的时间极短,有其不稳定一面,所以改用置数法,重新下载,结果比较满意。

六心得体会:

通过这两周的实习,从拿到题目时的茫然,到有了思路的愉悦,再到具体实施时的困惑,有喜有优,感触良多,这个过程很值得回味。

实验过程中当自己遇到不懂的问题时要么找同学讨论,要么自己看书学习,有时也请老师指点迷津。

比如在后一步实现时,三态门的知识自己不是很了解,于是便自己看书学习,最后终于搞懂了其工作原理。

还有得善于思考,言语发现问题,解决问题。

再设计模块二时,是通过真值表得形式将Q0~Q4转化为ABC表示的,开始时划出的表达式非常的复杂,还出错了,从而导致电路图的连接错误,后来发现是由于再音符编码时的不科学造成的,开始时我时按顺序依次给各个音符编码的,这样编码的结果不易化简,使得表达式的最小项过多,而后对编码进行了改进,按照各音符所对应的十进制数进行编码,使得表达式得到了化简,得到了满意的结果。

这个实习的过程我不仅基本掌握了软件MAX+plusII的使用,更进一步加深了对数字电子知识的理解,经过自己实际的分析、思考、设计、调试、运行,让我明白了实际操作与理论知识之间的差距。

实践是检验真理的唯一标准,从课本上学到的知识只有在实践中被灵活运用后,才能深刻理解,并完全掌握。

随着电子技术应用的普及和电子系统设计复杂程度的不断增加,迫切需要更快速、有效的电子设计自动化,EDA能利用计算机的优势,快速,高效地开发和研制电子产品,缩短产品的开发时间,成为社会发展的必然趋势。

因此我们应当珍惜学校给我们提供的这次宝贵的实习机会,认真体会和学习。

这次的EDA课程设计给了我一次实践的机会,使我可以把学到的理论知识应用于实际。

通过这次设计,我充分的认识到了自己在数字技术学习上的不足,对以前学过的知识有了更加深刻的认识,并且学到了许多书本上没有的知识。

在设计电路的过程中我遇到了不少的麻烦,但通过自己的努力和老师,同学的帮助,最终都被解决了。

虽然我设计的题目不是很难,但通过它,我知道设计电路的大体过程,这对我们今后的学习和工作都有很大的帮助。

最重要的是这次EDA课程设计培养了我们严谨的科学态度,一个小小的错误就会导致整个电路无法正常运行,不能有一丝的马虎。

最后,谢谢老师给予我们这次实践的机会。

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

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2