EDA設计报告.docVIP

  • 7
  • 0
  • 约1.23万字
  • 约 18页
  • 2016-12-06 发布于重庆
  • 举报
EDA設计报告

乐曲演奏电路设计 一、题目分析 1、原理分析 产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器来实现乐曲演奏要复杂的多,如果不凭借EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。乐曲硬件演奏电路系统主要有数控分频器和乐曲存储模块组成。数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。乐曲演奏电路的结构框图如下: 总体方框图 图1.1 乐曲演奏电路结构框图 乐曲硬件演奏电路的设计主要就是由四个部分组成的,首先为了实现音乐的演奏必须得得到音阶的频率和节拍,这主要就是由音乐节拍发生器和数控分频模块完成的,完了就是译码查表电路是由音符译码电路模块产生的,乐曲硬件演奏电路可分为四个模块,音乐节拍发生器模块,音符译码电路模块,数控分频模块。 该系统由四个模块组成: 分别是NoteTabs模块,ToneTaba模块,Speakera模块和SEG7 模块(七段译码器)。 3、性能指标及功能 (1)能够播放“梁祝”乐曲。 (2)能够通过LED显示音阶。 选择方案 1、可利用的方案 方案一:VHDL语言设计方法 由上面的分析可知,本系统由Note Tabs模块、Ton Taba模块、Speakera模块和SEG7 模块组成。所以采用自顶向下的设计方法,可以利用VHDL语言设计设计方法。将各个模块统一用VHDL语言设计。 方案二:VHDL语言和原理图设计方法相结合的设计方法 由上面的分析可知,本系统由Note Tabs模块、Ton Taba模块、Speakera模块、SEG7 模块和一个顶层文件构成。采用自顶向下的设计方法,子模块利用VHDL语言设计,顶层文件用原理图的设计方法。 2、最优方案 这里选择第二个方案。理由是:方案一思路明确,但是VHDL语言比较复杂,而且需要设置的输入键较多,不利于现场操作,实验室提供的条件下较难实现。方案二VHDL语言设计和原理图设计的衔接是一个难点,但是方案二简单明了,容易理解,实验调试时容易排除错误。最主要的是设置的输入输出键较少,容易在实验的条件下实现。 三、各个模块分析说明 根据顶层原理图,共分为Note Tabs模块、Ton Taba模块、Speakera模块和SEG7 模块。Note Tabs模块的功能首先是为Speakera模块提供决定所发音符的分频预置数,此数在Speakera模块输入口停留的时间即为此音符的节拍值。每一个音符的停留时间由音乐节拍和音调发生器Note Tabs模块的clk的输入频率决定。Ton Taba模块用于存放乐曲的长度。Speakera模块用于获得音符的频率,它是一个数控分频器,输入一具有较高频率的信号,可以获得脉宽极窄的脉冲信号。SEG7 模块是一个七段译码器,作用是在硬件上显示音频的高低,用0到7分别对应空节拍、do、ri、mi、fa、suo、la、xi,高音时,LED亮,数码管显示对应数字。 1、音乐节拍和音调发生器模块(Note Tabs) 图1 NoteTabs 模块 1.1音乐节拍和音调发生器模块VHDL的源程序(见附录) 1.2波形仿真 将所编写的音乐节拍和音调模块NoteTabs的程序设为工程,选用Altera公司的Cyclone系列中的EPIC3T144C8为目标芯片进行仿真。 仿真结果如图2所示。从图中可以看到,当CLK第一个时钟脉冲到达时,输出相应地址上的音符3,地址值递增1,接下来的三个时钟脉冲到来时,输出也是音符3,地址连续递增3次,第4个脉冲来到时,输出为5,这些都符合模块音符数据文件中的地址/数据表。 图2 音乐节拍和音调发生器仿真波形 2、 音乐谱对应分频预置数查表电路模块(Tone Taba) 2.1音乐谱分频预置数模块 图3 ToneTaba模块 2.2音乐谱对应分频预置数查表电路VHDL程序设计(见附录) 音乐谱分频预置数模块是乐曲简码对应分频预置数查表电路。它提供了每个音符所对应的分频预置数,即给数控分频模块提供计数初值,这里以“梁祝”乐曲为例,列出了在这个乐曲中所用到的13个音符的分频预置数。(见附录) 2.3波形仿真 将所编写的分频预置数查表模块ToneTaba 的程序设为工程,选用Altera公司的Cyclone系列中的EPIC3T144C8为目标芯片进行仿真。 仿真结果如图4所示。从图中可以看到,当Index是“0000”,Tone输出为2047,即休止符的分频预

文档评论(0)

1亿VIP精品文档

相关文档