5.3 电子琴设计

5.3 电子琴设计

ID:27456656

大小:77.50 KB

页数:6页

时间:2018-12-03

5.3 电子琴设计_第1页
5.3 电子琴设计_第2页
5.3 电子琴设计_第3页
5.3 电子琴设计_第4页
5.3 电子琴设计_第5页
资源描述:

《5.3 电子琴设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、5.3电子琴程序设计与仿真实验1.实验目的练习顶层设计文件的编写,完成简易电子琴的设计。2.实验原理主系统由3个模块组成:TONETABA.VHD、NOTETABS.VHD和SPEAKER.VHD。其系统的顶层设计方框图如图5.3.1所示:图5.3.1系统的顶层设计方框图与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。本实验设计项目作为“梁祝”乐曲演奏电路的实现。对于组成乐曲的每

2、个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果。图5.3.1中模块U1类似于弹琴的人的手指;U2类似于琴键;U3类似于琴弦或音调发声器。(1)音符的频率可以由图5.3.1中的SPEAKERA获得,这是一个数控分频器,由其clk端输入一具有较高频率(这里是12MHz)的信号,通过SPEAKERA分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D

3、触发器以均衡其占空比,但这时的频率将是原来的1/2。SPEAKERA对clk输入信号的分频比由11位预置数Tone[10..0]决定。SPKOUT的输出频率将决定每一音符的音调,这样,分频计数器的预置值Tone[10..0]与SPKOUT的输出频率,就有了对应关系。例如在TONETABA模块中若取Tone[10..0]=1036,将发音符为"3"音的信号频率。(2)音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,图5.3.1中模块TONETABA的功能首先是为SPEAKERA提供决定所发音符的分频预置数,而此数在SPE

4、AKER输入口停留的时间即为此音符的节拍值。模块TONETABA是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NOTETABS的clk的输入频率决定,在此为4Hz。这13个值的输出由对应于TONETABA的4位输入值Index[3..0]确定,而Index[3..0]最多有16种可选值。输向TONETABA中Index[3..0]的值ToneIndex[3..0]的输出值与持续的时间由模块NOTETABS决定。(3)在NOTETAB

5、S150中设置了一个8位二进制计数器(计数最大值为138),作为音符数据ROM的地址发生器。这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。例如,NOTETABS在以下的VHDL逻辑描述中,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒时间,相应地,所对应的“3”音符分频预置值为1036,在SPEAKERA的输入端停留了1秒。随着NOTETABS中的计数器按4Hz的时钟速率作加法计数时,即随地址值递增时,音符数据ROM中的音符数据将

6、从ROM中通过ToneIndex[3..0]端口输向TONETABA模块,“梁祝”乐曲就开始连续自然地演奏起来了。3.实验内容(1)定制NoteTabs模块中的音符数据ROM“music”。该ROM中的音符数据已列在该模块中。注意该例数据表中的数据位宽、深度和数据的表达类型。此外,为了节省篇幅,例中的数据都横排了,实用中应该以每一分号为一行来展开,否则会出错。最后对该ROM进行仿真,确认该模块中的音符数据已经进入ROM中。(2)根据给出的乘法器逻辑原理图及其各模块的VHDL描述,在QuartusII上完成全部设计,包括编辑、编

7、译、综合和仿真操作等。给出仿真波形,并作出详细说明。(3)硬件验证。先将引脚锁定,使CLK12MHz与clock9相接,接受12MHz时钟频率(用短路帽在clock9接“12MHz”);CLK8Hz与clock2相接,接受4Hz频率;发音输出SPKOUT接Speaker;与演奏发音相对应的简谱码输出显示可由CODE1在数码管5显示;HIGH1为高八度音指示,可由发光管D5指示,最后向目标芯片下载适配后的SOF逻辑设计文件。实验电路结构图用模式“NO.1”(附录A图A-2)。4.实验预习与思考(1)本次设计中顶层设计文件的设计思

8、路。(2)顶层设计文件的各模块如何进行通信。5.程序设计与仿真(1)程序设计①硬件演奏电路顶层设计源程序如下:LIBRARYIEEE;--硬件演奏电路顶层设计USEIEEE.STD_LOGIC_1164.ALL;ENTITYSongerISPORT(CLK12MHZ:INST

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。