ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:267.09KB ,
资源ID:18094016      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18094016.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《友谊地久天长》乐曲演奏电路设计Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《友谊地久天长》乐曲演奏电路设计Word文件下载.docx

1、234567低音131147165175196221248中音262294330350393441496高音525589661700786882990音高与频率的对应关系见下表1_1(2)友谊地久天长乐谱见图1_2:第2章友谊地久天长乐曲演奏电路设计思想2.1 系统设计方案2.1.1 音符与频率的关系我们知道,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素,首先让我们来了解音符与频率的关系。乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音,每2个半音的频率比为122。另外,音符A(简谱中的低音

2、6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音l至高音1之间每个音符的频率,如表1所示: 产生各音符所需的频率可用一分频器实现,由于各音符对应的频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若分频器时钟频率过低,则由于分频系数过小,四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但会增加分频器的分频级数。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取合适的时钟频率。本文设计的乐曲发生器选取4MHz的基准频率。若无4MHz的时钟频率,则可以先分频得到4MHz或换一个新的基准频率。实际上,只要

3、各个音符间的相对频率关系不变,演奏出的乐曲听起来都不会走调。表1_1中的分频系数是从8MHz频率二分频得到的4MHz频率基础上计算得出的。由于最大的分频系数为9101,故采用14位二进制计数器已能满足分频要求。2.1.2 程序设计原理我们在美国AI.TERA公司MAX + plus的EDA软件平台上,使用层次化设计手段,实现了友谊地久天长乐曲发生器的设计。图2为友谊地久天长乐曲发生器的顶层电路音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,TABLE元件首先是为PULSE元件提供决定所发音符的分频预置数,而此数停留的时间即为此音符的节拍值。在TABLE元件中设置了一个8位二进制计数器(

4、计数最大值为138),这个计数器的计数频率选为4 Hz,所以每一计数值的停留时间为025s,即四四拍的4分音符持续时间。例如,友谊地久天长乐曲的第一个音符低音3(1拍),停留的时间需用4个计数时钟节拍,即1s。相应地,所对应的低音3音符分频预置值为9 100,其值在AF130输出端停留了1s。随着TABLE元件中的计数器按4Hz的时钟速率作加法计数时,友谊地久天长乐曲就开始连续自然地演奏起来了。2.2 各模块功能模块总体框图如下:模块PAIA控制每一个音的长短,送初值给FANA模块,从而控制音高。音符的持续时间必须根据乐曲的速度以及每个音符的节拍数决定,因此此模块的功能也就是为FANA 提供决

5、定所发音的分频预置值,而此数在FANA输入口停留时间即为此音节节拍值。模块FANA的功能是根据PAIA送来的初值倒计时,每次计到0时就使信号Q反转,由于初值不同,从而产生不同的音高。所以音符的频率可以由此模块得到。2.3 系统工作原理及其流程本程序设计主要应用了一下知识点:(1) 根据本程序的基本要求,设定脉冲上升沿有效;(2) 在尽量减小频率误差的前提下取合适的时钟频率,根据音高与频率的对应关系设定程序输入、输出;(3) 在元件中设置了一个8位二进制计数器(计数最大值为138),这个计数器的计数频率选为4 Hz,所以每一计数值的停留时间为025s,即四四拍的4分音符持续时间(4) 使CLK

6、6MH2与C10ck9相接(接受6MHz时钟频率),CLK 4Hz与Clock2相接(接收4Hz时钟频率),发音输出接SPEAK(5) 设计输入根据电路设计所提出的要求,将程序输入到 VHDL编辑器中去编辑。(6) 功能级模拟用VHDL,模拟器对编辑后的程序进行模拟,如果达不到设计要求,则可以重新修改程序,直到通过功能模拟。 (7) 逻辑综合与优化 将通过功能模拟的程序放到VHDL编译器中,进行逻辑综合与优化。(8) 门级模拟对电路用VHDL。仿真器仿真。可对门级电路的延时、定时状态、驱动能力等进行仿真。如不符合要求,可重复步骤(3),再门级模拟,直到符合要求止。第3章 系统仿真/硬件验证系统

7、的有关仿真结果:模块PAIA控制每一个音的长短,此模块输出Q送初值给FANA模块,从而控制音高。音符的持续时间必须根据乐曲的速度以及每个音符的节拍数决定,因此此模块的功能也就是为FANA 提供决定所发音的分频预置值,而此数在FANA输入口停留时间即为此音节节拍值即为图中q值。第4章 课程设计总结与分析在完成此次课程设计后,我发现自己还有很多不足,所学到的知识还远不够,以至于还有一些功能被动完成。但通过学习一次实践,增强了我的动手能力,提高和巩固了VHDL语言方面的知识,特别是对程序的总体熟练程度。从中增强了我们的团队合作精神,并让我们认识到吧理论联系实际中式那么的重要。经过努力,友谊地久天长乐

8、曲演奏电路的设计基本上完成了。在整个设计过程中,我收获了很多,现总结如下:1) 这个设计的基本是接触一门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。4)通过这个程序设

9、计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。 在整个设计过程中,有很多人对任务的完成给予了重要的支持和帮助。感谢老师给了我本次设计的机会并提供指导;感谢许多同学在我此课程设计遇到问题时给我的帮助使我能够顺利地进行设计的工作;论坛中有很多认识不认识的朋友也都为我的设计提出了很宝贵的建议,同样在这里感谢他们。参考文献l 16 付家才,EDA原理与应用,化学工业出版社,2000年2 黄仁

10、欣,EDA技术使用教程,清化大学出版社,2006年3 潘松,王国栋,VHDL使用教,电子科技大学出版社,2005年4 孙国丽,朱维勇,栾铭,EDA与数字系统设计,机械工业出版社,2004年5李国洪,沈明山.可编程器件EDA技术与实践.北京机械工业出版社,2004年程序清单:LIBRARY ieee; USE ieee.std_logic_1164.all; entity paia is port(clk:in std_logic ; q:out integer range 0 to 10204); end paia;architecture pai_arc of paia is begin p

11、rocess(clk) variable cnt1:integer range 0 to 1500000; variable cnt2:integer range 0 to 8; variable n:integer range 0 to 45; if clkevent and clk=1 then if cnt1q=10204; if cnt2=7634;6 then=2; when 2 =6061;=3; when 3 =6803;3 then=4; when 4 =5; when 5 =6; when 6 =7; when 7 =4 then=8; when 8 =9; when 9 =

12、5089;=10; when 10 =4534;9 then=11; when 11 =12; when 12 =2 then=13; when 13 =14; when 14 =15; when 15 =16; when 16 =17; when 17 = when 18 =19; when 19 =9050;=20; when 20 =21; when 21 =7 then=22; when 22 =23; when 23 =24; when 24 =25; when 25 =26; when 26 =6834;=27; when 27 =28; when 28 =29; when 29

13、=30; when 30 =31; when 31 =32; when 32 =33; when 33 =34; when 34 =3809;=35; when 35 =36; when 36 =37; when 37 =38; when 38 =39; when 39 =40; when 40 =41; when 41 =42; when 42 =43; when 43 =44; when 44 =45; when 45 = end case; end process; end pai_arc; entity fana is port(a:in integer range 0 to 1020

14、4; clk:in std_logic;out std_logic); end fana; architecture fan_arc of fana is begin variable b,d:std_logic; variable c:integer range 0 to 10204;then if b=0 c:=a; b:=; if c=0 then d:=not d;=c-1; q=d; end fan_arc;友谊地久天长乐曲演奏电路设计 演奏电路可以控制每一个音的长短,从而控制音高。音符的持续时间根据乐曲的速度以及每个音符的节拍数决定,而此数在电路一模块输入口停留时间即为此音节节拍值。模块根据上一模块送来的初值倒计时,每次计到0时就使信号Q反转,由于初值不同,从而产生不同的音高。

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

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