版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/10,1,实验乐曲演奏电路,2020/7/10,2,内容概要,实验目的 实验要求 实验原理 实验内容 实验报告,2020/7/10,3,实验目的,掌握乐曲演奏电路的工作原理。 了解怎样控制音调的高低变化。 了解音长的控制。,2020/7/10,4,实验原理,乐曲演奏电路的原理 乐曲的每个音符的频率值(音调) 持续的时间(音长) 音调的控制 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个八度音之间,又可以分为十二个半音,每两个半音的频率比为21/12 1.12246 。 音名A(简谱中的低音6)的频率为440Hz
2、,音名B到C之间,E到F之间为半音,其余为全音。,2020/7/10,5,简谱中的音名与频率的关系,2020/7/10,6,本实验中选取4MHz为基准频率。 本实验演奏的是梁祝乐曲,该乐曲各音阶频率及相应的分频系数如下图所示。,例如:低音3的6067由4MHz除以329.6, 再除以2得到(后面又进行2分频)。,2020/7/10,7,为减小输出的偶次谐波分量,最后输出到扬声器的波形应为对称方波,在到达扬声器之前,有一个二分频的分频器。上表中的分频系数就是在从4MHz频率二分频得到的2MHz频率基础上计算得出的。 分频的方法 反馈复0法 加载预置数法 (本实验采用这种方法) 预置数 = 计数器
3、最大值分频系数 = (213 1) 分频系数 = 8191 分频系数。,由于最大的分频系数为6067,故采用13位二进制计数器已能满足分频要求。,2020/7/10,8,音长的控制 本例演奏的“梁祝”片段,最小的节拍为1/4拍。将1拍的时长定为1秒,则只需要再提供一个4 Hz的时钟频率即可产生1/4拍的时长。演奏的时间控制通过记谱来完成,对于占用时间较长的节拍(一定是1/4拍的整数 倍),如2/4拍,只需将该音名连续记录两次即可。,2020/7/10,9,乐曲演奏电路原理图,反馈预置计数器对基准频率4MHz进行分频,产生分频后的输出时钟信号。再经过2分频器,成为方波信号,以驱动扬声器发声。 音
4、名显示电路显示乐曲演奏时对应的音符。 乐谱产生电路用来根据高音、中音和低音的值决定分频计数器的预置数的值 。,4,2020/7/10,10,程序流程图,4,2020/7/10,11,乐曲演奏电路子模块,程序分为4个部分: 反馈预置计数器 2分频器,产生驱动扬声器的方波信号 音名显示,根据时长计数器的值决定高音、中音和低音的值 乐谱产生电路,根据高音、中音和低音的值决定分频计数器的预置数origin的值,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY song IS PORT(
5、clk_4MHz, clk_4Hz: IN STD_LOGIC; -预置计数器和乐谱产生器的时钟 digit: BUFFER STD_LOGIC_VECTOR(6 DOWNTO 0); -低三位表示低音,中间三位表示中音,最高位表示高音;本曲仅仅有高音1,故此用1位表示。 speaker: out STD_LOGIC -扬声器 ); END song; ARCHITECTURE song_arch OF song IS,SIGNALdivider,origin:STD_LOGIC_VECTOR(12 DOWNTO 0); -13位计数值和预置值 SIGNAL counter:integer r
6、ange 0 to 140; -记录1/4拍曲谱的内容 SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL carrier:STD_LOGIC; BEGIN PROCESS(clk_4MHz),BEGIN IF(clk_4MHzevent AND clk_4MHz=1) THEN IF(divider=1111111111111) THEN carrier=1; divider=origin; ELSE divider=divider+1; carrier=0; END IF; END IF; END PROCESS;,PROCESS(carri
7、er) BEGIN IF(carrierevent AND carrier=1) THEN count=count+1; -输出时钟四分频 IF count=00 THEN speaker=1; ELSE speaker=0; END IF; END IF; END PROCESS;,PROCESS(clk_4Hz) -1/4节拍 BEGIN IF(clk_4Hzevent AND clk_4Hz=1) THEN IF(counter=140) THEN counter=0; ELSE counter=counter+1; END IF; END IF; CASE counter IS - 音
8、调digit的赋值,WHEN 0=digitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0101000;,WHEN 22=digitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0000110;,WHEN 44=digitdigitdigitdigitdigitdi
9、gitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0001000;,WHEN 74=digitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0010000;,WHEN 100=digitdigit
10、digitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0000101;,WHEN 126=digitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigitdigit=0000000; END CASE;,CASE digit IS -预置数origin的赋值 WHEN 0000011=originoriginoriginorigino
11、riginoriginoriginoriginoriginoriginorigin=1111111111111; -8191 END CASE; END PROCESS; END song_arch;,2020/7/10,24,3. 时序仿真 乐曲演奏电路子模块,注1:为仿真counter信号,在波形编辑器的“Node Finder”窗口中的“Filter”域下拉列表中选择“Pins:all & Registers:post-fitting”,然后单击“List”;则在“Nodes Found”窗口将出现所有的引脚和适配后的寄存器;在其中选择counter信号,将其送入右边的窗口。 注2:为仿真carry、divider和origin信号,可在程序中将它们声明为输出信号。,2020/7/10,25,4. 编程下载,信号定义及下载板资源分配 输入信号 clkock:系统时钟信号,22.1184MHz , 接80脚,2020/7/10,26,红字部分不做要求,输出信号 high3.0:驱动数码3,显示高音的音名,分别连FPGA的Pin132、128、41、21引脚; mid3.0:驱动数码2,显示中音的音名,分别连FPGA的Pin20、19、1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州美术学院2026年1月公开招聘非事业编制工作人员备考题库及完整答案详解
- 2026年玉门市公开招聘供热工作人员备考题库含答案详解
- 厨余堆肥与蚯蚓粪对小白菜生长过程中病虫害发生规律及防治研究教学研究课题报告
- 云浮市(罗定)第三人民医院2025年第四季度公开招聘编外人员备考题库有答案详解
- 高中美术教学中数字艺术设计的创新教学课题报告教学研究课题报告
- 2026年中国铁路呼和浩特集团有限公司招聘高校毕业生733人备考题库有完整答案详解
- 中国信达吉林分公司2026年招聘备考题库及参考答案详解一套
- 2026年上海浦江教育出版社医学图书编辑招聘备考题库参考答案详解
- 2026年浙江省卫生健康监测与评价中心招聘行政综合管理岗位备考题库及完整答案详解1套
- 2025年区块链数字版权交易平台比较报告
- GB/T 228.1-2021金属材料拉伸试验第1部分:室温试验方法
- 氢能与燃料电池-课件-第五章-制氢技术
- 科研伦理与学术规范-课后作业答案
- 2023QC小组活动基础知识培训
- 生理学期末考试复习试题库及答案
- 旅游地理学 国家公园建设与管理
- JJF(石化)036-2020漆膜附着力测定仪(划圈法)校准规范
- 站场资料管理规定(生产)
- GB/T 20330-2006攻丝前钻孔用麻花钻直径
- GB/T 12706.4-2020额定电压1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)挤包绝缘电力电缆及附件第4部分:额定电压6 kV(Um=7.2 kV)到35 kV(Um=40.5 kV)电力电缆附件试验要求
- 机械原理课程设计报告(粉末成型压机设计)
评论
0/150
提交评论