电子琴的设计_第1页
电子琴的设计_第2页
电子琴的设计_第3页
电子琴的设计_第4页
电子琴的设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

硬件电子琴电路模块设计一、实验目的学习利用数控分频器设计硬件电子琴实验。二、实验原理实验用FPGA实现乐曲的播放原理分四步1、将待播放的梁祝音乐音符存入ROM2、以4HZ频率读取ROM3、根据1MHZ的内部时钟要求,将读出的音符换算成应计数的数值4、以1MHZ为内部时钟,实现符合要求的方波信号。图1硬件电子琴电路结构主系统由五个模块组成,SONGERV是顶层设计文件,其内部有五个功能模块(如图1所示)SPEAKERAV和TONETABAV,NOTETABSV,DIV_50_12MV,DIV_50_4HZV。模块TONETABA是音阶发生器,当8位发声控制输入INDEX中某一位为高电平时,则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值;同时由CODE输出对应该音阶简谱的显示数码,如5,并由HIGH输出指示音阶高8度显示。模块SPEAKERA中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块SPEAKERA由端口TONE获得一个2进制数后,将以此值为计数器的预置数,对端口CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。增加一个NOTETABS模块用于产生节拍控制(INDEX数据存留时间)和音阶选择信号,即在NOTETABS模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。DIV_50_12MV是由于实验板上,只有50MHZ有源晶振,故将用50MHZ进行分频实现125MHZ的时钟,在后续模块SPEAKERAV中再分频得到近似1MHZ时钟。DIV_50_4HZV是用系统需要4HZ频率读ROM,于是用50MHZ,分频得到4HZ频率。三、实验内容1自己编写125MHZ和4HZ的分频程序DIV_50_12M和DIV_50_4HZ。用CLOCK50MHZPIN_N2的输入频率接入并进行分频得125MHZ,此信号作为SPEAKERA模块的输入频率;用CLOCK50MHZ的输入频率接入并进行分频得4HZ,此信号作为NOTETABS模块的输入频率。2MUSIC模块用ROM的IPCORE存放“梁祝”乐曲演奏数据,编写并加载COE文件放置梁祝”乐曲演奏数据。3编译适配以上文件,给出仿真波形,最后进行下载和硬件测试实验。4选择LD5LD2发光管显示CODE3CODE0表示琴音简谱码,发光管LD7显示高8度,SPEAKOUT接蜂鸣器端口。工程分布顶层模块SONGERVMODULESONGERCLK_50M,RESET,CODE1,HIGH1,SPKOUTINPUTCLK_50M/CLK50MHZINPUTRESETOUTPUT30CODE1OUTPUTHIGH1,SPKOUTWIRE100TONEWIRE30TONEINDEXWIRECLK_4HZ,CLK_12MNOTETABSU0CLKCLK_4HZ,TONEINDEXTONEINDEXTONETABAU1INDEXTONEINDEX,CODECODE1,HIGHHIGH1,TONETONESPEAKERAU2CLKCLK_12M,TONETONE,SPKSSPKOUTDIV_50_12MU3CLK_50M,CLK_12M,RESETDIV_50_4HZU4CLK_50M,CLK_4HZ,RESETENDMODULENOTETABS模块MODULENOTETABSCLK,TONEINDEXINPUTCLKOUTPUT30TONEINDEXREG70COUNTERALWAYSPOSEDGECLKBEGINIFCOUNTER138COUNTER11BEGINPRECLK11H7FFBEGINCOUNT11TONEFULLSPKS1B1ENDELSEBEGINCOUNT11COUNT111B1FULLSPKS0ENDENDALWAYSPOSEDGEFULLSPKSBEGINCOUNT2COUNT2IFCOUNT21B1SPKS1B1ELSESPKS1B0ENDENDMODULE两个分频模块IP核模块MEMORY_INITIALIZATION_RADIX10MEMORY_INITIALIZATION_VECTOR3,3,3,3,5,5,5,6,8,8,8,9,6,8,5,5,12,12,12,15,13,12,10,12,9,9,9,9,9,9,9,0,9,9,9,10,7,7,6,6,5,5,5,6,8,8,9,9,3,3,8,8,6,5,6,8,5,5,5,5,5,5,5,5,10,10,10,12,7,7,9,9,6,8,5,5,5,5,5,5,3,5,3,3,5,6,7,9,6,6,6,6,6,6,5,6,8,8,8,9,12,12,12,10,9,9,10,9,8,8,6,5,3,3,3,3,8,8,8,8,6,8,6,5,3,5,6,8,5,5,5,5,5,5,5,5,0,0,0执行综合后的电路引脚锁定四、思考题1、电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声答当电路输出的频率在扬声器的工作范围之内时,驱动电流能够驱动扬声器,才能用数字器件直接输出的方波驱动扬声器发声。2、如果演奏其他乐曲,程序应做哪些方面的改动程序应将COE文件改掉以及TONETBABA和NOTETABS做相应改变,要将频谱对应的中高低音对应的二进制改变。五、实验过程代码分析1、在分频模块中用50M分频产生50的4HZ时钟,先将COUNT、CLK_4HZ赋值为0一次,在50M始终上升沿触发,如果COUNT计数到6249999,将COUNT赋值为0,并将CLK_4HZ反转,否则继续计数。2、在NOTETABS模块中,用CLK上升沿作为触发条件,如果COUNTER计数到138时,COUNTER清零,否则继续计数。调用MUSIC模块

温馨提示

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

评论

0/150

提交评论