《音乐盒的实现》实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《EDA技术与应用》实验8——课程设计

音乐盒的实现

摘要(简要介绍设计目的,方法及实验完成情况)

现在的很多装饰品上都会用到八音盒,八音盒的种类也越来越多,但是基本原理都是相同的,音乐盒的实现也给我们的生活带来了很多乐趣。

EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。在教学方面,几乎所有理工科类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。一般学习电路仿真工具和PLD开发工具,为今后工作打下基础。

本实验是使用verillog HDL设计的一个可以演奏梁祝的音乐盒,程序经过调试和下载后,可在实验箱上实现开始和复位功能。

一设计任务与要求

1.1设计任务

(1)使用Verilog HDL 设计一个可以演奏梁祝的音乐盒;

(2)输入为2 个按键,实现复位和开始;

(3)输出为GW48 实验箱的扬声器;

(4)查阅相关资料,明确音符和频率的对应关系,根据梁祝的乐谱设计Verilog 程序,完成音乐盒的制作。

1.2 设计要求

1、设计正确,方案合理。界面友好,使用方便。程序精炼,结构清晰。

2、有详细的文档。包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。

二系统方案设计

2.1工作原理

组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。

2.2 基本设计思想

(1)根据系统的设计要求,系统采用自顶向下的设计方法系统由数控分频器、节拍控制器以及音阶发生器组成。数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。节拍控制器产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。由音阶发生器产生音符对应的频率的信号来使扬声器发音。

(2)音乐盒的实现:由实验箱上的扬声器实现

(3)根据层次化设计理论,改程序问题自顶向下可以分为分频模块、节拍控制器模块、音节发生器模块和数控分频器模块,其西戎框图如下图所示:

三具体模块实现

3.11节拍控制器模块 NoteTabs

用于产生节拍控制盒音阶选择信号,即在NoteTabs模块中放置所要演奏的乐曲,由一个计数器的计数值来控制此乐谱的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号。输出的信号为3个4位2进制数,分别表示高、中、低三个音阶的1~7的音

当12位发声控制输入{high,med,low}中某一位为高电平时,则对应某一音阶的数值将从端口tone输出,作为该音阶的分频初始值。

3.13数控分频器speakera

它由一个初值可预置的加法计数器构成,当模块speakera由端口tone获得一个2进制数后,将以此值为计数器的初始值,对端口Clk12.5MHZ输入的频率进行分频,之后由speaker 向扬声器输出发声。在模块内部需要将时钟再进行分频产生基准频率f0=1MHZ。为得到对称方波,需先进行分频系数n的分频,得到不对称方波,而占空比很小的方波将很难使扬声器有效的发出声响,需再2分频得到对称方波。

3.14分频模块clkdiv

对时钟50MHz进行分频,需要的是12.5MHz给数控分频器模块和4Hz给节拍控制器模块。

3.2 总模块

音乐盒的原理图:将各模块的原理图对应的端口连接

四程序调试及局部仿真结果

4.1分频模块仿真结果:

clk为基本时钟输入50MHZ,clr为复位信号,低电平有效,当clr为1时开始工作。分频模块输出分别为12.5MHZ和4HZ。4HZ的周期偏大,无法在界面上显示。

仿真出现的问题:

该程序中节拍控制模块notetabs中的时钟脉冲为4HZ,周期偏大,在界面中不宜显示。所以未进行波形仿真。

4.2引脚图

4.3实验结果描述:

按下复位键让其保持高电平,扬声器开始发声,播放的音乐为《梁祝》的高潮部分。若将复位键置0,则扬声器停止播放音乐。再将复位键置1,则扬声器重新开始播放音乐。

实验中唯一的不足就是没有加入START按键实现“开始”和“暂停”的功能。

五课程设计的心得与体会

这次的课程设计我们用了十天左右的时间,从中我们学到了很多,也对EDA的知识进行了巩固。我们团队是两个人,做的是音乐盒的设计,我们经过选题,查找资料,整理资料写课题报告,然后编写程序,直到实验结果的成功,过程中我们遇到过很多的困难,程序编写中出现过很多错误,但是在我们的细心检查和查找资料后终于解决了。音乐盒的实现,达到了预期的效果,能够实现开始和复位的功能。但是由于能力的不足,这次设计中还存在着一些没有解决的问题,希望老师予以指正。

这次课程的设计让我们队EDA课程有了更深层次的认识,我们收获了很多,体会深刻。本来觉得EDA编程语言比较麻烦,但是解除之后发现它还是有很多方便的地方,尤其是和图形编程结合的特点,让实验看起来很简洁明白。这次课程也让我们对VHDL语言有了更深的了

这次课程也让我们明白理论与实践的结合是十分重要的,只有理论知识根本是不够的,只有把理论知识用于实践,才能更高的把这门课程所学的知识用于服务社会。这次课程中也让我们发现很多的不足,对所学过的知识勒戒的不够深刻,掌握的不够牢固。这次课程也锻炼了我们的独立思考能力和动手能力,这对我们来说是一次很好的锻炼。这是我们第一次独立完成一个课程,自己设计,大家分工合作,一起努力,一起完成。这个过程中也促进我们同学之间的相互沟通,也让我们在自己专业知识的学习过程中,更多的,更好的学习一门知识。

做这个音乐盒的设计中包含了很多个不同功能的程序,让我们学到了一些思考问题的方法,也学到了一些程序中的思路,在我们一点点的把错误的程序改到成功的过程让我们很有成就感。这次试验也激发了我们对EDA课程的兴趣,也对这门课程有了更深的了解,对EDA 设计软件quarters的使用也更加熟练。这门课程给我们最大的收获就是,只要全身心的投入到一件事中去,持之以恒,那么一定会有收获。

总的来说,这次的设计还算成功。虽然这门课程就要结束了,但是我们不能放弃对这门课程的探索。因此在以后的学习过程中,我们会更加努力的学习它。这次课程的设计,也让我们觉得平时所学的知识终于有了实用价值,达到了理论与实际结合的目的,不仅学到了知识,而且锻炼了自己的能力。最后,很衷心的感谢那些对我们有过帮助的老师和同学们。

六参考资料

1.邹其洪.《EDA技术实验教程》.中国电力出版社,2009

2.曹昕燕等.《EDA技术实验与课程设计》.清华大学出版社,2006

3.沈明山.《EDA技术及可编程器件应用实训》.科学出版社.2004

附件

1.分频模块clkdiv的程序如下:

module clkdiv(

input wire clk,

input wire clr,

output wire clk1,

output wire clk2

);

reg [24:0] q;

always @(posedge clk or negedge clr)

begin

if (!clr)

q <= 0;

else

q <= q+1;

end

assign clk1 = q[1];

assign clk2 = q[23];

endmodule

2.节拍控制器模块notetabs程序如下:

module NoteTabs(

相关文档
最新文档