基于FPGA的电子琴设计毕业论文.doc_第1页
基于FPGA的电子琴设计毕业论文.doc_第2页
基于FPGA的电子琴设计毕业论文.doc_第3页
基于FPGA的电子琴设计毕业论文.doc_第4页
基于FPGA的电子琴设计毕业论文.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA的数字电子琴设计与实现班级:姓名:学号:指导教师:日期:摘要.21.系统设计总述.21.1设计要求.21.2系统组成.3(1)音乐硬件演奏电路基本原理.3(2)音符频率的取得.3(3)乐曲节奏的控制.3(4)音乐硬件演奏电路总体设计流程.42.总体程序设计.42.1顶层模块设计流程图.42.2顶层电路VHDL程序设计.43.单元模块程序设计.63.1音乐节拍和音调发生器电路模块.6音乐节拍和音调发生器模块.6音乐节拍和音调发生器模块VHDL程序设计.63.2音乐谱对应分频预制数查表电路模块.11音乐谱分频预置数模块.11音乐谱对应分频预制数查表电路VHDL程序设计.113.3音乐符数控12分频电路模块.12音乐符数控12分频模块.12音乐符数控12分频模块电路VHDL程序设计.134.VHDL音乐硬件演奏电路系统仿真与调试.144.1Notetabs音乐节拍和音调发生器模块的仿真.14波形仿真.144.2Tonetaba分频预置数查表模块的仿真.14波形仿真.14波形仿真.144.4音乐编码.15两只蝴蝶简谱.15摘要随着电子设计自动化技术和可编程逻辑器件的出现和飞速发展,在设计周期得到大大的缩短的同时系统成本也有了大幅度的降低,显然标准逻辑器件的组装已远不能满足这方面的要求。而VHDL能提供高阶电路描述语言的方式,让复杂的电路可以通过VHDL编辑器的电路合成方式,轻易而且快速的达到设计的规格。由于VHDL电路描述语言能涵盖的范围相当广,能适用于各种不同阶层的设计工程师的需要,所以VHDL电路设计毫无疑问的成为硬件设计工程师的必备工具。根据国家教委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展需要的电子设置人才;同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。要求高等专科学校学生能够自己动手完成简单数字器件的设计。这不但反应了我国当前在电子电路的实验教学体系、内容和方法上的改革思路和教学水平的提高,更重要的是在加强以传统电子设计方法为基础的工程设计训练的同时,使学生能够尽快掌握现代电子设计自动化技术的新方法、新工具和新手段系统的、科学的培养了学生的实际动手能力、理论联系实际的能力、工程设计能力,创新能力,提高了学生对基础实验的兴趣。本次设计在QUARTUS软件上利用VHDL语言设计数控分频器,利用数控分频的原理设计音乐硬件演奏电路,让“两只蝴蝶”乐曲以RAM的形式写入Notetabs模块就达到了以纯硬件的手段来实现乐曲的演奏效果。本设计使用的是Altera公司的ACEX1k系列中的EP1K30TC144-3和杭州康芯电子的实验箱。关键词:FPGA/CPLD,音乐硬件演奏电路,VHDL语言设计,QUARTUS,编码1.系统设计总述1.1设计要求能正确演奏乐曲的功能1.2系统组成(1)音乐硬件演奏电路基本原理硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。(2)音符频率的取得多个不同频率的信号可通过对某个基准频率进行分频器获得。在小的误差前提下,选取合适的基准频率。本设计中选取1MHz的基准频率。本例采用的时钟信号频率为12MHz。下表中各音符的分频系数就是从1MHz频率基础上,分频器采用11位二进制计数器计算得到的。(3)乐曲节奏的控制本设计中的两只蝴蝶乐曲,由8HZ的时钟信号输入,经分频后输入至TONEINDEX改变分频系数控制乐曲的演奏速度。计数器时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然就降低了。音符名计数初值中音1773中音2912中音31036中音41116中音51197中音61290中音71372高音11410(4)音乐硬件演奏电路总体设计流程当一个8Hz的时钟脉冲来到时,乐谱发生器模块输出一个音符数据给分频系数模块,分频系数模块输出此音符相应的分频系数,将分频系数送给数控分频器模块,当12MHz的时钟脉冲来到时,数控分频器就根据分频系数输出相应的频率(即此音符所对应的发生频率)给扬声器,扬声器就可发出对应音符的声音来.连续的8Hz的时钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块,最后扬声器一个接一个的发出音符数据所对应的声音。乐曲也就连贯了。2.总体程序设计2.1顶层模块设计流程图2.2顶层电路VHDL程序设计libraryieee;useieee.std_logic_1164.all;entitytopisport(clk12mhz:instd_logic;-index1:instd_logic_vector(7downto0);code1:outintegerrange0to15;high1

温馨提示

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

评论

0/150

提交评论