数字电子技术综合实验报告简易电子琴.docx

上传人:b****8 文档编号:27794979 上传时间:2023-07-05 格式:DOCX 页数:14 大小:869.18KB
下载 相关 举报
数字电子技术综合实验报告简易电子琴.docx_第1页
第1页 / 共14页
数字电子技术综合实验报告简易电子琴.docx_第2页
第2页 / 共14页
数字电子技术综合实验报告简易电子琴.docx_第3页
第3页 / 共14页
数字电子技术综合实验报告简易电子琴.docx_第4页
第4页 / 共14页
数字电子技术综合实验报告简易电子琴.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数字电子技术综合实验报告简易电子琴.docx

《数字电子技术综合实验报告简易电子琴.docx》由会员分享,可在线阅读,更多相关《数字电子技术综合实验报告简易电子琴.docx(14页珍藏版)》请在冰豆网上搜索。

数字电子技术综合实验报告简易电子琴.docx

数字电子技术综合实验报告简易电子琴

--本页仅作为文档封面,使用时请直接删除即可--

--内页可以根据需求调整合适字体及大小--

 

数字电子技术综合实验报告——简易电子琴(总42页)

数字电子技术综合实验报告

2012--2013学年第二学期

姓名:

学号:

班级:

实验时间:

实验指导老师:

一、设计任务·········································································2

二、设计方案·········································································2

三、系统框图·········································································3

四、方案实现·········································································3

1.乐曲演奏的原理······································································3

2.总体方案·················································································4

五、实验结果·········································································6

六、方案优化·········································································7

七、心得体会·········································································7

附录·························································································7

1.VHDL源程序·····································································7

2.各层次原理图·································································35

3.编译报告··········································································40

题目:

简易电子琴设计

摘要

电子琴的设计大规模可编程逻辑器件(FPGA)作为系统的核心控制部分通过软件的设计编写然后进行软硬件的调试运行最终达到设计电路的乐器演奏、选歌及显示功能。

设计中采用计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现。

可以用它来弹奏和播放乐曲。

特点是设计思路简单、清晰。

关键字:

电子琴CPLD

一、设计任务

1.基本要求

(1)具有一般弹奏功能;

(2)自动播放功能;

(3)数码显示音符功能。

2.发挥部分

(1)能通过选择键在多首歌曲中选择播放;

(2)输出增加功率放大电路,增加歌曲容量;

(3)增加音效或节拍可调;

(4)无线弹奏。

二、设计方案

采用大规模可编程逻辑器件(FPGA),利用quartusII,通过verilog代码实现简易电子琴演奏电路。

 

三、系统框图

四、方案实现

1.乐曲演奏的原理:

乐曲演奏的原理:

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

●音调的控制

频率的高低决定了音调的高低。

音乐的十二平均率规定:

每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。

在两个八度音之间,又可分为十二个半音,每半个音的频率比为

另外,音名A(简谱中的低音6)的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音1至高音1之间的每个音名对应的频率如图所示:

音名

频率(HZ)

音名

频率(HZ)

音名

频率(HZ)

低音1

中音1

高音1

低音2

中音2

高音2

低音3

中音3

高音3

低音4

中音4

高音4

低音5

392

中音5

784

高音5

1568

低音6

440

中音6

880

高音6

1760

低音7

中音7

高音7

所有不同频率均从同一基准频率分频得到。

将分频数四舍五入进行取整,并尽量减小误差。

在本设计中选取6MHZ作为基准频率。

从下表中可以看出最大分频系数为11468,采用14位二进制计数器分频可满足要求。

此外还应给出预置数,对应不同的预置数,只需加载不同的预置数即可。

采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来更加容易。

音名

分频比

预置数

音名

分频比

预置数

音名

分频比

预置数

低音1

11468

4915

中音1

5736

10647

高音1

2867

13516

低音2

10215

6168

中音2

5111

11272

高音2

2554

13829

低音3

9102

7281

中音3

4552

11831

高音3

2274

14109

低音4

8591

7792

中音4

4289

12094

高音4

2148

14235

低音5

7653

8730

中音5

3827

12556

高音5

1913

14470

低音6

6818

9565

中音6

3409

12947

高音6

1705

14678

低音7

6073

10310

中音7

3037

13346

高音7

1519

14864

●音长的控制

音符的持续时间须根据音乐的速度及每个音符的节拍数来确定。

如果设定全音符的持续时间为1S的话,假设产生4分音符,则产生四分频即可实现四分音符的时长,并提供4HZ分频器。

如图为乐曲演奏的原理图,其中,乐谱产生电路用来控制音乐的音调和时长。

控制音调通过设置计数器的预置数来实现,预置不同的数值会可以使计数器产生不同频率的信号,从而产生不同的音调。

控制音长是通过控制计数器预置数的停留时间来实现的,预置数的停留时间越长,则该音符的演奏时间越长,如2分音符,在记谱时将该音符记录两次即可。

2.总体方案

系统设计运用了自上而下的模块化设计思想,整个系统可分为分频,播放,弹奏,显示四个部分。

1.分频部分

分频部分为一个可预置数的加计数器、二分频器和预置数选择器。

预置数选择器选择来自播放和弹奏部分的不同的预置数。

从预置数起循环作加计数,计到16383时产生一个高电平,否则得到低电平,将信号再进行二分频便可得到方波信号。

预制数不同,产生的方波信号频率也不同。

因此,只要改变加计数器的预置数,便可由6MHz的时钟信号分频得到不同频率的方波。

将方波信号输出到扬声器,便可发出不同音调的声音。

2.播放部分

播放部分为一个节拍发生器、预置数获得器和一个存储器。

节拍发生器将一个64Hz的时钟信号分为32Hz,16Hz,8Hz和4Hz的信号,以适应不同歌曲的播放速度。

预置数获得器将音阶信号转换为对应的预置数。

存储器将歌曲的预置数传送给分频器,实现曲目的不同音调和音长。

3.弹奏部分

弹奏部分有十四个按键,每个按键对应一个音阶,及对应一个预置数,将预置数传递给分频部分便可得到不同频率的方波,从而产生不同的音调。

4.显示部分

在进行音乐播放或弹奏时,将产生的预置数传递给此模块。

根据不同的预置数,产生不同的信号,输出到数码管,便可显示出音阶数字。

5.功能仿真

(1)综合

仿真结果:

设置输入信号key1为高电平,此时设置key=8192,即key2=1,key3~key15=0。

功能为播放第一首歌,在仿真结束后,如图示,fout为蜂鸣器的输出,led为数码管显示。

如图示也正确,所以本设计经过仿真证明正确可行。

 

(2)总电路原理图

(3)引脚分配

输入信号:

1个6MHz时钟信号,1个64Hz时钟信号,1个功能选择按键,14个弹奏(选择)按键;

输出信号:

3个数码管输出,一个蜂鸣器输出声音。

五、实验结果

在编译并仿真后下载,通过硬件测试,实验达到预期效果,当key1=0时,通过key2~key15这14个按键的键入蜂鸣器可以发出中音及高音的do~xi十四个音阶的音,即表示了电子琴的弹奏功能;当key1=1时,key2=1时播放了第一首歌;key3=1时,播放了第二首歌;key4=1时,播放第三首歌;key5=1时,播放了第四首歌。

发出声音的同时,数码管可以显示不同的代表音符的数字。

通过硬件的测试,所有的设计目标均实现。

六、方案优化

若采用正弦波代替方波来驱动扬声器将会有更好的效果。

七、心得体会

本次设计要用quartusII软件,由于之前对此软件不是太熟悉所以导致了一些错误和问题的发生,所以这次课程设计中认真学习了quartusII软件的具体使用步骤和操作流程,对所有可能出现的问题进行逐一攻破。

通过这次实验,我不但熟悉了quartusII软件,也了解了开发的最基本流程和方法,也进一步加深了对Verilog编程语言的理解,最重要的是锻炼了我独立思考和分析的逻辑能力,通过从顶向下的设计方法,一步步实现,然后将整个设计串套起来,是我对设计的流程以及编程有了很大的提高。

附录:

源程序

modulechange_fenpinbi(clk_6m,

prenum,tofout);层次原理图

(1)加计数器

(2)二分频器

(3)预置数选择器

(4)节拍发生器

 

(5)预置数获得器

(6)存储器

 

(7)弹奏模块

 

(8)显示模块

3.编译报告

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1