EDA技术基础设计_第1页
EDA技术基础设计_第2页
EDA技术基础设计_第3页
EDA技术基础设计_第4页
EDA技术基础设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA技术基础设计 电工电子实验报告 EDA技术基础 音乐播放器 设计性实验 电子信息科学及技术 课程名称 选题名称 选题性质 学号姓名 专业名称 所在院系 完成时间 一、任务解析: 以前用51单片机制作了一个可演奏的电子琴,学习了 EDA技术之后,感觉FPGA 及单片机有许多类似的地方。于是,启发我用FPGA做一个可随意演奏的音乐播放器。 设计低、中、高21个音,几乎能够实现一般歌曲的演奏。要实现该功能,就必须考 EDA技术基础设计 虑到一首歌曲的产生应该考虑的两个因素:音符的产生频率和音的节拍(即声音持 续的时间)。只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使 扬声器发声

2、产生优美的歌曲。 二、方案论证: 1、音调的控制: 频率的高低决定了音调的高低。通过查阅资料,得到下面的音符名及频率的关系 表: 音符名 频率/hz 音符名 频率/hz 音符名 频率/hz 低音1 262 中音1 523 高肓1 1046 低音2 294 中音2 587 高旨2 1175 低音3 330 中音3 659 高肓3 1318 低音4 349 中音4 698 高肓4 1397 低音5 392 中音5 784 高旨5 1568 低音6 440 中音6 880 高肓6 1760 低音7 494 中音7 988 高旨7 1976 分频比预置数的计算: 分频比就是从6Mhz基准频率通过二分频

3、得到的3Mhz频率基础上计算得到的。对 于乐曲中的休止符,只需将其分频系数设为0,将分频预置数设为16383即可。例如: 低音3的频率为330hz,分频比为3M/330hz二3000000/330二9091,则其分频预置数为: 16383-9091=7292。其他的音符对应的分频比和分频比预置数均按此法计算可得到。 依次计算出低、中、高3X7=21个音的预置数。 各音阶对应的预置数如下表: 音符名 预置数 音符名 预置数 音符名 预置数 低音1 4933 中音1 10647 高肓1 13515 EDA技术基础设计 低音2 6179 中音2 11272 “荷2 13830 低音3 7292 中音

4、3 11831 高肓3 14107 低音4 7787 中音4 12085 高肓4 14236 低音5 8730 中音5 12556 高f? 5 14470 低音6 9565 中音6 12974 高肓6 14678 低音7 10310 中音7 13347 冷 ? 7 14858 2、音长的控制: 音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。本试验中,设 定最短的音符为4分音符,若将全音符的持续时间设为Is的话,则需要提供一个4Hz 的时钟频率即可产生4分音符的时间,每1/4个节拍的时间为0.25s, 个完整的节 拍为Iso 音长控制 以上即为音乐播放器的原理框图。控制音调通过设置计

5、数器的预置数来实现,预置 不同的数可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长则是 通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演 奏的时间越长。每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符, 例如2分音符,占了 2/4个节拍,在记谱的时候将其连续记录2次即可。 三. 实验步骤: EDA技术基础设计 1、分频产生6Mz的基准频率: module div_clk6mhz (clk24m, clk6m); input clk24m; output clk6m; reg clk6m; reg ent; always (posedge clk2

6、4m) 辻(cntl) cnt=cnt+l;/ (24m/6m二4 分频,cnt4/2-l=l即可) else begin ent二0;clk6m=!clk6m;end endmodule 由于此分频电路简单,就不在这里给出仿真波形了。 2、分频产生4hz的节拍控制频率: module div_clk4hz (clk24m, clk4); input clk24m; output clk4; reg clk4; reg 21:0J ent; always (posedge clk24m) 辻(cnt2999999)cnt=cnt+l;/(24m/4hz二6000000, cnt6000000/

7、2-1二2999999 ) else begin cnt=0;clk4=!clk4;end endmodule EDA技术基础设计 此分频电路也很简单,就不在这里给出仿真波形了。 3、乐曲产生模块: 核心模块就在这里,这里:(1)首先罗列了低、中、高21个音的分频比预置数 (还有休止符的预置数16383),通过6Mhz的基准频率,在其上升沿的时候,计数器 累加,当计满到16383之后就取反speaker (speaker=speaker非阻塞赋值),产生 对应音符的频率,这里和单片机的定时计数器溢出中断差不多。 (2)产生了 21个音调之后,我们要产生流畅的歌曲,还必须根据歌曲的谱子,调用 相

8、应音符并且根据节拍控制其持续的时间,例如:若一个音持续4个1/4节拍,则 在clk_4hz的上升沿,连续调用4次它的音符就可以了。用counter来计数,计满 了(何时计满取决于歌曲长度)就将counter返回为0,这样就可以实现循环演奏了。 代码如下: module song(clk_6mhz, clk_4hz, speaker); input clk_6mhz, clk_4hz; output speaker; reg 3:0high, med, low; reg 13:0Jdivider, origin; reg 7:0counter; reg speaker; wire carry;

9、assign carry= (divider=16383); always (posedge clk_6mhz) begin if (carry)divider=origin; else divider二divider+l; end always (posedge carry) EDA技术基础设计 begin speaker= speaker;end always (posedge clk_4hz) begin case (high, med, low) bl:origin=4933; bO:origin=6179; bl:origin二7292; bO:origin二7787; bl:ori

10、gin=8730; bO:origin=9565; bl:origin=10310; bO:origin=10647; bO: original 1272; bO:origin=11831; bO:origin=12085; bO:origin=12556; bO:origin=12974; bO:origin=13347; bO:origin=13515; bO:origin=13830; bO:origin=14107; J bO:origin=14236; bO:origin=14470; bO:origin=14678; bO:origin=14858; bO:origin=16383

11、; 5 / 13 EDA技术基础设计 endcase end always (posedge clk_4hz) begin if(counter=113)counter=0; else counter=counter+l; case(counter) 0: high, med, low =,bl; 1: high, med, low=,bl;/ 2: high, med, low =,bO; 3: high, med, low = bO; / 4: high, med, low =,bl; 5: high, med, low=,bl;/ 6: high, med, low =,bO; 7: h

12、igh, med, low=bO;/ 8: high, med, low =,bO; 9: high, med, low =,bO; 10: high, med, low= bO; 11: high, med, low=,bO;/ 12: high, med, low =, bO; 13: high, med, low=, bO;/ 14: high, med, low - bO; 15: high, med, low= bO;/ 16: high, med, low =,bO; 17: high, med, low- bO;/ 18: high, med, low = bO; 7 / 13

13、EDA技术基础设计 19: high, med, low = bO;/ 20: high, med, low = bO; 21: high, med, low =,bO; 22: high, med, low = bO; 23: high, med, low= bO;/ 24: high, med, low =,bO; 25: high, med, low=,bO;/ 26: high, med, low = bO; 27: high, med, low=,bO;/ 28: high, med, low =,bO; 29: high, med, low= bO;/ 30: high, med,

14、 low =,bO; 31: high, med, low =,bO;/ 32: high, med, low = bO; 33: high, med, low=,bO;/ 34: high, med, low =,bO; 35: high, med, low= bO;/ 36: high, med, low - bO; 37: high, med, low= bO;/ 38: high, med, low = bO; 39: high, med, low=,bO;/ 40: high, med, low =,bO; 41: high, med, low=,bO;/ 42: high, med

15、, low =,bO; 43: high, med, low= bO;/ 44: high, med, low =,bO; 9 / 13 EDA技术基础设计 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low=,bO;/祝你生Fl快乐,完毕。 high, med, low=,bl;/梁祝,开始 h

16、igh, med, low =,bl; high, med, low =,bl; high, med, low =,bl; high, med, low =,bl; high, med, low =,bl; high, med, low =,bl; high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low 二bO; high, med, low 二bO; high, med, low = bO; high, med, low =,bO; high, med, low =,bl; high, med

17、, low =,bl; high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low 二bO; 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low =,bO; high, med, low 二bO; hi

18、gh, med, low =,bO; high, med, low = bO; high, med, low = bO; high, med, low =,bO; high, med, low =,bO; high, med, low二bO; high, med, low =,bO; high, med, low =,bO; high, med, low 二bO; high, med, low 二bl; high, med, low 二bl; high, med, low = bO; high, med, low =,bO; high, med, low =,bl; high, med, lo

19、w =,bl; high, med, low二bl; high, med, low =,bO; high, med, low =,bO; high, med, low 二bO; high, med, low =,bO; 13 / 13 EDA技术基础设计 97: high, med, low =,bO; 98: high, med, low = bl; 99: high, med, low = bl; 100: high, med, low =,bO; 101: high, med, low =,bO; 102: high, med, low =,bO; 103: high, med, low =,bl; 104: high, med, low =,bO; 105: high, med, low =,bO; 106: high, med, low =,bl; 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论