77范文网 - 专业文章范例文档资料分享平台

乐曲硬件演奏电路的EDA设计(4)

来源:网络收集 时间:2018-12-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

沈阳工程学院课程设计(论文)

不同的初始值即可。用加载初始值而不是将分频输出译码反馈,可以有效地减少成本设计占用可编程逻辑器件的资源,也是同步计数器一个常用设计技巧。

(2)控制音长的节拍发生器

该演奏电路演奏的乐曲是“梁祝”片段,其最小的节拍是1拍。将1拍的时间定为0.25S,则只需要再提供一个4HZ的时钟频率即可产生1拍的时长,演奏的时间控制通过ROM查表得方式完成。对于占用时间较长的节拍(一定是拍的整数倍),如全音符为4拍(重复4次),2/4音符为2拍(重复2次),1//4音符为1拍(重复1次)。

要求演奏时能循环进行,因此需要另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从头开始演奏。该计数器控制真值表按顺序输出简谱。

3.3乐曲硬件演奏电路的层次化设计方案

根据层次化的设计思路,可把乐曲硬件演奏电路分为3个模块,音乐节拍发生器NoteTabs模块,音符译码电路ToneTaba模块,数控分频模块(Speakera)。

3.3.1音乐节拍发生器NoteTabs

该模块将利用FPGA的片内POM存放乐曲简谱真值表,该计数器的计数频率为4HZ,即每一个数值的停留时间为0.25S,随着NoteTabs中计数器按4HZ的时钟频率做加法计数时,乐符数据转向音符译码电路ToneTaba,所以所存的乐曲就自然的演奏起来。

其VHDL源程序如下: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

ENTITY NoteTabs IS

PORT ( clk : IN STD_LOGIC;

ToneIndex : OUT INTEGER RANGE 0 TO 15 ); END;

ARCHITECTURE one OF NoteTabs IS

SIGNAL Counter : INTEGER RANGE 0 TO 145; BEGIN

CNT8 : PROCESS(clk)

- 9 -

沈阳工程学院课程设计(论文)

BEGIN

IF Counter = 138 THEN Counter <= 0; ELSIF (clk'EVENT AND clk = '1') THEN Counter <= Counter + 1; END IF;

END PROCESS;

Search : PROCESS(Counter) BEGIN

CASE Counter IS 调表的索引值

WHEN 00 WHEN 01 WHEN 02 WHEN 03 WHEN 04 WHEN 05 WHEN 06 WHEN 07 WHEN 08 WHEN 09 WHEN 10 WHEN 11 WHEN 12 WHEN 13 WHEN 14 WHEN 15 WHEN 16 WHEN 17 WHEN 18 WHEN 19 WHEN 20 WHEN 21 WHEN 22 WHEN 23 WHEN 24 WHEN 25 WHEN 26 -- 译码器,查歌曲的乐谱表,查表结果为音=> ToneIndex <= 5; => ToneIndex <= 3; => ToneIndex <= 5; => ToneIndex <= 3; => ToneIndex <= 2; => ToneIndex <= 2; => ToneIndex <= 2; => ToneIndex <= 6; => ToneIndex <= 8; => ToneIndex <= 8; => ToneIndex <= 8; => ToneIndex <= 9; => ToneIndex <= 6; => ToneIndex <= 8; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 12; => ToneIndex <= 12; => ToneIndex <= 12; => ToneIndex <= 15; => ToneIndex <= 13; => ToneIndex <= 12; => ToneIndex <= 10; => ToneIndex <= 12; => ToneIndex <= 9; => ToneIndex <= 9;

=> ToneIndex <= 9;

- 10 -

沈阳工程学院课程设计(论文)

WHEN 27 => ToneIndex <= 9; WHEN 28 => ToneIndex <= 9; WHEN 29 => ToneIndex <= 9; WHEN 30 => ToneIndex <= 9; WHEN 31 => ToneIndex <= 0; WHEN 32 => ToneIndex <= 9; WHEN 33 => ToneIndex <= 9; WHEN 34 => ToneIndex <= 9; WHEN 35 WHEN 36 WHEN 37 WHEN 38 WHEN 39 WHEN 40 WHEN 41 WHEN 42 WHEN 43 WHEN 44 WHEN 45 WHEN 46 WHEN 47 WHEN 48 WHEN 49 WHEN 50 WHEN 51 WHEN 52 WHEN 53 WHEN 54 WHEN 55 WHEN 56 WHEN 57 WHEN 58 WHEN 59 WHEN 60 WHEN 61 WHEN 62 WHEN 63 WHEN 64 => ToneIndex <= 10; => ToneIndex <= 7; => ToneIndex <= 7; => ToneIndex <= 6; => ToneIndex <= 6; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 6; => ToneIndex <= 8; => ToneIndex <= 8; => ToneIndex <= 9; => ToneIndex <= 9; => ToneIndex <= 3; => ToneIndex <= 3; => ToneIndex <= 8; => ToneIndex <= 8; => ToneIndex <= 6; => ToneIndex <= 5; => ToneIndex <= 6; => ToneIndex <= 8; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 5; => ToneIndex <= 10;

- 11 -

沈阳工程学院课程设计(论文)

WHEN 65 => ToneIndex <= 10; WHEN 66 => ToneIndex <= 10; WHEN 67 => ToneIndex <= 12; WHEN 68 => ToneIndex <= 7; WHEN 69 => ToneIndex <= 7; WHEN 70 => ToneIndex <= 9; WHEN 71 => ToneIndex <= 9; WHEN 72 => ToneIndex <= 6; WHEN 73 => ToneIndex <= 8; WHEN 74 => ToneIndex <= 5; WHEN 75 => ToneIndex <= 5; WHEN 76 => ToneIndex <= 5; WHEN 77 => ToneIndex <= 5; WHEN 78 => ToneIndex <= 5; WHEN 79 => ToneIndex <= 5; WHEN 80 => ToneIndex <= 3; WHEN 81 => ToneIndex <= 5; WHEN 82 => ToneIndex <= 3; WHEN 83 => ToneIndex <= 3; WHEN 84 => ToneIndex <= 5; WHEN 85 => ToneIndex <= 6; WHEN 86 => ToneIndex <= 7; WHEN 87 => ToneIndex <= 9; WHEN 88 => ToneIndex <= 6; WHEN 89 => ToneIndex <= 6; WHEN 90 => ToneIndex <= 6; WHEN 91 => ToneIndex <= 6; WHEN 92 => ToneIndex <= 6; WHEN 93 => ToneIndex <= 6; WHEN 94 => ToneIndex <= 5; WHEN 95 => ToneIndex <= 6; WHEN 96 => ToneIndex <= 8; WHEN 97 => ToneIndex <= 8; WHEN 98 => ToneIndex <= 8; WHEN 99 => ToneIndex <= 9; WHEN 100 => ToneIndex <= 12; WHEN 101 => ToneIndex <= 12; WHEN 102 => ToneIndex <= 12;

- 12 -

沈阳工程学院课程设计(论文)

WHEN 103 => ToneIndex <= 10; WHEN 104 => ToneIndex <= 9; WHEN 105 => ToneIndex <= 9; WHEN 106 => ToneIndex <= 10; WHEN 107 => ToneIndex <= 9; WHEN 108 => ToneIndex <= 8; WHEN 109 => ToneIndex <= 8; WHEN 110 => ToneIndex <= 6; WHEN 111 => ToneIndex <= 5; WHEN 112 => ToneIndex <= 3; WHEN 113 => ToneIndex <= 3; WHEN 114 => ToneIndex <= 3; WHEN 115 => ToneIndex <= 3; WHEN 116 => ToneIndex <= 8; WHEN 117 => ToneIndex <= 8; WHEN 118 => ToneIndex <= 8; WHEN 119 => ToneIndex <= 8; WHEN 120 => ToneIndex <= 6; WHEN 121 => ToneIndex <= 8; WHEN 122 => ToneIndex <= 6; WHEN 123 => ToneIndex <= 5;

WHEN 124 => ToneIndex <= 3; WHEN 125 => ToneIndex <= 5; WHEN 126 => ToneIndex <= 6; WHEN 127 => ToneIndex <= 8;

WHEN 128 => ToneIndex <= 5; WHEN 129 => ToneIndex <= 5; WHEN 130 => ToneIndex <= 5; WHEN 131 => ToneIndex <= 5; when 132 => ToneIndex <= 5; when 133 => ToneIndex <= 5; when 134 => ToneIndex <= 5; when 135 => ToneIndex <= 5; when 136 => ToneIndex <= 0; when 137 => ToneIndex <= 0; when 138 => ToneIndex <= 0; WHEN OTHERS => NULL; END CASE;

- 13 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库乐曲硬件演奏电路的EDA设计(4)在线全文阅读。

乐曲硬件演奏电路的EDA设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/384705.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: