基于cpld梁祝演奏电路设计

基于cpld梁祝演奏电路设计

ID:3144004

大小:352.50 KB

页数:18页

时间:2017-11-19

基于cpld梁祝演奏电路设计_第1页
基于cpld梁祝演奏电路设计_第2页
基于cpld梁祝演奏电路设计_第3页
基于cpld梁祝演奏电路设计_第4页
基于cpld梁祝演奏电路设计_第5页
资源描述:

《基于cpld梁祝演奏电路设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计报告课程名称在系统编程技术任课教师设计题目乐曲硬件演奏电路设计班级姓名学号日期2011-06-0117目录一、题目分析21,分析要求,确定总体方框图;22、确定必须完成的技术指标或功能要求2二、选择方案3三、细化框图3四、编写应用程序并仿真4五、全系统联调,画出整机电路,波形图等。7六、硬件测试与说明9七、结论10八、课程总结11九、参考文献目录12十、附录(源程序)1217乐曲硬件演奏电路设计一、题目分析1,分析要求,确定总体方框图;本设计需要在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计音乐硬件演奏电路,并定制LPM-ROM存储音乐

2、数据,以“梁祝”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。系统方框图2、确定必须完成的技术指标或功能要求下载硬件成功后选择蜂鸣器即发出声音,演奏出乐曲。而且只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。17二、选择方案在数控分频器设中,输入不同的预置数即可发出不同频率的声音。由此,可以以此为设计基础。设计一功能模

3、块,能够将乐曲中的音符逐一以对应的频率以预置数的形式置入数控分频计中,即可利用该数控分频计产生不同的声音,演奏出设定好的音乐。ROM中的音乐数据文件刚可由编辑好的音符填入MIF文件中再定制LPM_ROM将音符数据加载入ROM中,并设计程序在运行时自动读取ROM中的文件并置入数控分频器中。三、细化框图根据系统设计要求,系统设计采用自顶向下的设计方法。首先定制Songer.Vhd。然后依次设计3底层模块:分别是Speakera模块,ToneTaba模块,NoteTabs模块,此外,我们还需建立一个名为“music”的LPM_ROM模块与NoteTabs模块连接。然后根据给出

4、的乘法器逻辑原理图及其模块的VHDL描述在Cyclone上完成设计。最后完成编译,综合,仿真,管脚分配,编程下载。Songer主模块NoteTabs模块NoteBar模块Speakera模块细化方框图17四、编写应用程序并仿真1、模块Speakera是一个数控分频器,音符的频率可由此模块获得。由CLK端输入一具有较高频率(这里是12MHZ)的信号,通过Speakera分频后由SPKOUT输出。由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号。为了利用驱动扬声器,需加一个D触发器以均衡其占空比,频率将是原来的1/2。Speakera对CLK输入信号的分频比由预置

5、数Tone[10..0]决定。SPKOUT的输出频率将决定每一音符的音调。该模块仿真图为:Speakera仿真图2、模块ToneTaba,是为了Speakera提供决定发音符的分频预置数,是乐曲简谱码对应的分频预置数查找表电路,其中设置了“梁祝”的全部音符所对应的分频置数功13个。每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的CLK的输入频率决定,在此为4MHZ。这些值由对应于ToneTaba的4位输入值Index[3..0]确定,最多有16种可选值。输向ToneTaba中Index[3..0]的值ToneIndex[3..0]的输出值与持续的时间由模块

6、NoteTabs决定。该模块仿真图为:17ToneTaba仿真图3、模块NoteTabs是乐曲简谱码对应的分频预置数查表电路。在该模块中设置了一个8位二进制计数器(计数最大值为138),作为音符数据ROM的地址发生器。这个计数器的计数频率为4Hz,即每一计数值的停留时间为0.25秒,恰为当全音符设为1秒时,四四拍的4分音符持续时间。该模块的功能就是定义音符数据ROM“music”随着该模块中的计数器控制时钟频率速率作加法计数时,即地址值递增时,音符数据ROM中的音符数据。将从ROM中通过ToneIndex[3..0]端口输向ToneTaba模块,演奏“梁祝”乐曲。该模块

7、的波形图为:该模块仿真图为:NoteTabs仿真图1.对于模块Songer17《梁祝》乐曲简谱如下:其仿真波形如下定制LPM_ROM模块17定义音符数据ROM“music”。Music模块存放乐曲中的音符数据,它是利用LPM-ROM来实现的,将乐谱中相应的音符放在一个连续的地址上。它首先是编写音符数据文件,将乐谱中相应的音符存放在一个连续的地址上。因为1拍的时间定为1秒,提供的是4Hz的时钟频率(即1/4拍的整数倍),则需将这个音符存储在相应次数的连续几个地址上。然后对音符数据进行ROM定制。五、全系统联调,画出整机电路,波形图等。1、顶

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

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

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