




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子系统设计课程课程设题目 :乐曲硬件演奏电路设计姓名:吴清清院系:电力学院专业:电子科学与技术学号:201312309指导教师:谭联1/23完成时间 :2016年 12月 21日目录1 课程设计题目、内容与要求 .11.1设计内容 . .11.2具体要求 . .12 系统设计 .12.1设计思路 . .12.2系统原理 . .32.2.1总体框图 . .32.2.2工作过程 . .32.2.3乐曲演奏的原理图 .43 系统实现 .43.1.分频器( FDIV) . .43.2.计数器 CNT138T.63.2.1计数器 CNT138T的设计 .63.3.分频预置数译码器 F_CODE模块 .
2、73.3.1F_CODE 模块的设计 .83.4数字分频器 SPKER模块 . .102/233.4.1 数字分频器 SPKS模块设计 .103.5选择器 choice . .123.6. 乐谱文件 ROM.143.6.1 乐谱文件 . .143.6.2 LMP-ROM 模块 .154 系统仿真 .154.1计数器 CNT138T的仿真 .154.2. 分频器 FDIV .164.3分频预置数 F_CODE.164.4分频器 SPKER.164.5乐曲 ROM的数据读取 .175硬件验证 .175.1引脚锁定 .185.2硬件连接 .185.2实验现象 .186总结.197 参考书目 .193
3、/234/231 课程设计题目、内容与要求1.1设计内容设计一个乐曲演奏电路, 能够自动播放编写好的音乐。 要求将音乐通过实验箱上的喇叭播放出来,用发光二级管显示出乐曲的节拍。( 1)完成程序的编程工作。( 2)将音乐数据制成 LMP_ROM文件。( 3)将程序在 Quartus ii软件中进行编译和仿真。( 4)进行引脚锁定,然后下载到实验箱上观察实验结果。1.2具体要求( 1)定制音符数据 ROM MUSIC,检测音符数据已经进入 ROM中;( 2)所有模块,分别仿真测试;( 3)完成系统仿真调试和硬件验证;( 4)能够将两首音乐随时切换。2 系统设计2.1设计思路乐曲中的每一音符对应着一
4、个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。乐曲都是由一连串的音符组成, 因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲, 仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。1/23本次设计主要包括三个部分:( 1) 音符频率的获得;音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。 由于各个音符的频率多为非整数, 而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。 若基准频
5、率过低,则分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。实际上应该综合考虑这两个方面的因素, 在尽量减少误差的前提下, 选取合适的基准频率。本设计中选取 1MHz的基准频率 , 数控分频器采用 11 位二进制计数器。( 3) 乐曲节奏的控制一般乐曲最小的节拍为 1/4 拍,若将 1 拍的时间定为 1 秒,则只需要输出 4Hz 的 1/4 拍的时长( 0.25 秒),对于其它占用时间较长的节拍(必为 1/4 拍的整数倍) 则只需要将该音符连续输出相应的次数即可。计数时钟信号作为输出音符快慢的控制信号, 时钟快时输出节拍速度就快,演奏的速度也
6、就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低,因此计数器的时钟信号应为 4Hz。( 3) 乐谱的发生本设计将乐谱中的音符数据存储在LPM-ROM中,若某音在逻辑中停留了 4 个时钟节拍,即 1 秒的时间,相应地,该音符就要在 LPM-ROM中连续的四个地址上都存储。当一个4Hz 的时钟来时,相应地就从LPM-ROM中输出一个音符数据。2/232.2系统原理总体框图时钟分频器 FDIV数控分频分频驱动器 SPKER蜂鸣器锁相环 PLL计数器乐谱译码器简谱码显示CNT138TROMF_CODEDECL7S该工程由是由上图所示的几个模块构成输入的时钟 20MHZ通过锁相环后输出 2KHZ和
7、1KHZ的时钟分别输送给分频器 FDIV 和计数器 CNT138;FDIV 将 1MHZ的时钟分频成 4HZ的时钟。计数器 CNT138T完成计数功能 ,138 进制,每来个时钟沿加一。乐谱 ROM记录了 1 首歌的乐谱。根据上一模块计数器所计的数读取相应地址里的数据传递给下一模块。译码器 F_CODE将选择器所选择的歌曲 rom 里的地址的数据翻译成可预置计数器 SPKER和简谱码显示 DECL7S所需的数据。分频驱动器也就是一个数控分频器, 完成分频的功能, 并驱动蜂鸣器。工作过程当一个 4Hz 的时钟脉冲来到时, 乐谱发生器模块输出一个音符数据给分频系数模块, 分频系数模块输出此音符相应
8、的分频系数所需的初始值,将初始值送给数控分频器模块, 当 1MHz的时钟脉冲来到时,3/23数控分频器就根据分频系数输出相应的频率( 即此音符所对应的发生频率 ) 给扬声器,扬声器就可发出对应音符的声音来. 连续的 4Hz 的时钟脉冲就将乐谱发生器里所存储的音符数据一个接一个的送给了分频系数模块,再经过数控分频模块, 最后扬声器一个接一个的发出音符数据所对应的声音来。 曲子也就流畅的播放出来了。 同时 led 数码管会随着音乐显示相应的乐谱。当乐曲一遍演奏完成后, 乐曲发生器能自动从头开始循环演奏。乐曲演奏的原理图3 系统实现3.1. 分频器( FDIV)将锁相环的 2KHZ的时钟分频 4Hz
9、 的时钟,供计数器使用。( 1)模块程序module FDIV(CLK,PM);input CLK;output PM;reg8:0 Q1;4/23reg FULL;wire RST;always(posedge CLK or posedge RST)beginif(RST)beginQ1<=0;FULL<=1;endelsebeginQ1<=Q1+1;FULL<=0;endendassign RST=(Q1=449);assign PM=FULL;assign DOUT=Q1;endmodule(2) 模块图形5/233.2. 计数器 CNT138T它是一个 8 位二
10、进制计数器,内部设置计数最大值为139,作为音符数据 ROM的地址发生器。每来一个时钟信号,计数器就计数一次,ROM文件中的地址也随着增加,音符数据ROM中的音符也就一个一个的取出来。计数器 CNT138T的设计这个计数器的计数频率即为4Hz。即每一计数值的停留时间为0.25 秒,恰为当全音符设为1 秒时,四四拍的4 分音符持续时间。例如,“梁祝”乐曲的第一个音符为“ 3”,此音在逻辑中停留了 4 个时钟节拍,即 1 秒时间,相应地,所对应的“ 3”音符分频预置值为11'H40C,在 SPKER的输入端停留了 1 秒。随着计数器 CNT138T按 4Hz的时钟速率作加法计数时,即随地址
11、值递增时,音符数据ROM模块MUSIC中的音符数据将从ROM中通过 q3.0端口输向 F_CODE模块,“梁祝”乐曲就开始连续自然地演奏起来了。CNT138T的节拍是 139,正好等于 ROM中的简谱码数,所以可以确保循环演奏。 对于其他乐曲,此计数最大值要根据情况更改。( 1)模块程序module CNT138T(CLK,CNT8);6/23input CLK;output 7:0 CNT8;reg7:0 CNT;wire LD;always(posedge CLK or posedge LD)beginif (LD)CNT<=8'b00000000;elseCNT<=C
12、NT+1;endassign CNT8=CNT;assign LD=(CNT=138);endmodule(2) 模块图形3.3. 分频预置数译码器F_CODE模块模块 F_CODE的功能首先是为模块SPKER(11 位分频器)提供决定所发音符的分频预置数, 而此数在 SPKER输入口停留的时间即为此7/23音符的节拍周期,模块F_CODE是乐曲简谱码对应的分频预置数查表电路。模块的设计程序中设置了“梁祝”乐曲全部音符所对应的分频预置数,共14 个,每一音符的停留时间则由音乐节拍和音调发生查表模块MUSIC中简谱码和工作时钟inclock的频率决定,在此为 4Hz。模块 F_CODE的 14
13、个值的输出由对应于MUSIC模块输出的 q3.0及 4 位输入值INX3.0确定,而 INX3.0最多有 16 种可选值。输向模块 F_CODE中 INX3.0的值在 SPKER中对应的输出频率值与持续的时间由模块MUSIC决定。( 1)模块程序module F_CODE(INX,CODE,H,TO);input3:0 INX;output 3:0 CODE;output H;output 10:0 TO;reg10:0 TO;reg3:0 CODE;reg H;always(INX)begincase(INX)8/230:begin TO<=11'H7FF;CODE<=0
14、;H<=0;end1:begin TO<=11'H305;CODE<=1;H<=0;end2:begin TO<=11'H390;CODE<=2;H<=0;end3:begin TO<=11'H40C;CODE<=3;H<=0;end4:begin TO<=11'H45C;CODE<=4;H<=0;end5:begin TO<=11'H4AD;CODE<=5;H<=0;end6:begin TO<=11'H50A;CODE<=6;H<
15、=0;end7:begin TO<=11'H55C;CODE<=7;H<=0;end8:begin TO<=11'H582;CODE<=1;H<=1;end9:begin TO<=11'H5C8;CODE<=2;H<=1;end10:begin TO<=11'H606;CODE<=3;H<=1;end11:begin TO<=11'H640;CODE<=4;H<=1;end12:begin TO<=11'H656;CODE<=5;H<=1;
16、end13:begin TO<=11'H684;CODE<=6;H<=1;end14:begin TO<=11'H69A;CODE<=7;H<=1;end15:begin TO<=11'H6C0;CODE<=1;H<=1;end default:begin TO<=11'H6c0;CODE<=1;H<=1;endendcaseendendmodule( 2)模块图形9/233.4数字分频器 SPKER模块音符的频率由SPKER 获得,这是一个数控分频器。数字分频器 SPKS模块设计它的 CL
17、K 端输入一具有较高频率 (1MHz )的时钟,由于直接从分频器中出来的输出信号是脉宽极窄的信号,为了有利于驱动扬声器,需另加一个D 触发器分频以均衡其占空比,但这时的频率将是原来的 1/2。SPKER 对 CLK 输入信号的分频比由输入的11 位预置数TN10.0 决定。扬声器的输出频率将决定每一音符的音调;这样,分频计数器的预置值TN10.0 与输出频率就有了对应关系,而输出的频率又与音乐音符的发声有对应关系,例如在F_CODE 模块中若TN10.0=11'H40C ,将由扬声器发出音符为“3”音的信号频率。( 1)程序模块 1module SPKER(CLK,TN,SPKS);i
18、nput CLK;input10:0 TN;output SPKS;reg SPKS;reg10:0 CNT11;10/23always(posedge CLK)begin :CNT11B_LOADif(CNT11=11'h7FF)beginCNT11=TN;SPKS<=1'b1;endelsebeginCNT11=CNT11+1;SPKS<=1'b0;endendendmodule( 2)模块图形(2)程序模块 2module SPKER(CLK,TN,SPKS);input CLK;11/23input2:0 TN;output SPKS;reg SPK
19、S;reg2:0 CNT3;always(posedge CLK)beginif(CNT3=3'h7)beginCNT3=TN;SPKS<=1'b1;endelsebeginCNT3=CNT3+1;SPKS<=1'b0;endendendmodule3.5 选择器 choice选择器完成选择歌曲的功能:当 a 的信号为 1 时将 Q1 的信号输出当 a 的信号为 0 时将 Q2 的信号输出12/23(1)模块程序module choice (a,b,Q1,Q2,INX);input a;output b;input3:0 Q1;input3:0 Q2;out
20、put3:0INX;regb;reg3:0 INX;always(a)begincase(a)01:begin b<=0;INX<=Q1;end10:begin b<=1;INX<=Q2;enddefault:begin b<=10;INX<=Q2;endendcaseendendmodule(2)模块图形13/233.6. 乐谱文件 ROMLpmrom0 模块里面放置的是“梁祝”的乐谱,它是利用LPM-ROM来实现的,将乐谱中相应的音符放在一个连续的地址上。他首先是编写音符数据文件, 将乐谱中相应的音符放在一个连续的地址上。因为1 拍的时间定为1s,提供的
21、是 4HZ的时钟频率( 1/4 拍的整数倍),则需将这个音符存储在相应次数的连续的地址上。然后对音符数据进行 ROM定制,最后对定制好的ROM文件进行测试和仿真。乐谱文件( 1)“梁祝”音乐WIDTH = 4 ;DEPTH = 256 ;ADDRESS_RADIX = DEC ;DATA_RADIX = DEC ;CONTENTBEGIN0: 3 ; 01: 3 ; 02: 3 ; 03: 3; 04: 5; 05: 5; 06: 5; 07: 6; 08: 8; 09: 8;10: 8 ; 11: 9 ; 12: 6 ; 13: 8; 14: 5; 15: 5; 16:12; 17: 12;
22、18: 12;19:15;20:13 ; 21:12 ; 22:10 ; 23:12; 24: 9; 25: 9; 26: 9; 27: 9; 28: 9; 29: 9;30: 9 ; 31: 0 ; 32: 9 ; 33: 9; 34: 9; 35:10; 36: 7; 37: 7; 38: 6; 39: 6;40: 5 ; 41: 5 ; 42: 5 ; 43: 6; 44: 8; 45: 8; 46: 9; 47: 9; 48: 3; 49: 3;50: 8 ; 51: 8 ; 52: 6 ; 53: 5; 54: 6; 55: 8; 56: 5; 57: 5; 58: 5; 59: 5
23、;60: 5 ; 61: 5 ; 62: 5 ; 63: 5; 64:10; 65:10; 66:10; 67:12; 68: 7; 69: 7;70: 9 ; 71: 9 ; 72: 6 ; 73: 8; 74: 5; 75: 5; 76: 5; 77: 5; 78: 5; 79: 5;80: 3 ; 81: 5 ; 82: 3 ; 83: 3; 84: 5; 85: 6; 86: 7; 87: 9; 88: 6; 89: 6;90: 6 ; 91: 6 ; 92: 6 ; 93: 6; 94: 5; 95: 6; 96: 8; 97: 8; 98: 8; 99: 9; 100:12;101
24、:12 ;102:12 ;103:10;104: 9; 105: 9;106:10;107: 9;108: 8;109: 8;110: 6;111: 5 ;112: 3 ;113: 3;114: 3;115: 3;116: 8;117: 8;118: 8;119: 8;14/23120: 6;121: 8 ;122: 6 ;123: 5;124: 3;125: 5;126: 6;127: 8;128: 5;129: 5;130: 5;131: 5 ;132: 5 ;133: 5;134: 5;135: 5;136: 0;137: 0;138: 0; END ;(2)“隐形的翅膀”乐谱模块4 系
25、统仿真4.1 计数器 CNT138T的仿真15/23由波形可看出, CLK为输入时钟信号,八位输出二进制信号在每个时钟上升沿加一,当计数至 137 时,从 0 开始重新计数。经分析,该模块功能完全正确。4.2. 分频器 FDIV由波形可看出 CLK为输入 2KHz的时钟信号, PM输出为 8Hz 的时钟信号,由于纸张有限没有打印出其全部波形。 经分析该模块功能完全正确。4.3 分频预置数F_CODE从波形上可以看到, 当输入信号 INX=1000时,code 显示的是 1,H为 1,预置值为 582,查询程序,发现功能正确。4.4 分频器 SPKER16/23此波形仿真分析比较复杂,如果由于输入信号为 1MHz,其中的分频系数比较大,如果直接用该模块程序进行仿真可能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司代理人授权法定代表人声明3篇
- 家具招标文件编写技巧详解指南3篇
- 合同违约解决律师法律3篇
- 坚守法律底线的责任书3篇
- 代购服务委托书3篇
- 定金合同转让接收协议3篇
- 发电机组采购招标计划3篇
- 单位劳动争议处理委托书范例3篇
- 对讲机租借守则3篇
- 建筑工程授权委托书样本3篇
- 财务机器人开发与应用实战 课件 任务5 E-mail人机交互自动化-2
- 【华为】通信行业:华为下一代铁路移动通信系统白皮书2023
- Python 程序设计智慧树知到期末考试答案章节答案2024年四川师范大学
- 03D201-4 10kV及以下变压器室布置及变配电所常用设备构件安装
- 城乡环卫保洁投标方案(技术标)
- 充值合同范本
- MSDS中文版(锂电池电解液)
- 《职业病防治法》知识考试题库160题(含答案)
- 全国初中数学青年教师优质课一等奖《反比例函数的图象和性质》教学设计
- 2023-2024学年人教版数学八年级下册期中复习卷
- 环境监测仪器安装施工方案(更新版)
评论
0/150
提交评论