logo资料库

18键简易电子琴课程设计报告.pdf

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
摘 要
目 录
第一章 概述
数字系统原理与设计课程设计报告 数字系统原理与设计 课程设计报告 基于 EDA 的 18 键简易电子琴 题 目 学生姓名: 陈永康 专 业: 电子信息工程 指导教师: 蒋华 完成日期: 2019 年 7 月 5 日 1
数字系统原理与设计课程设计报告 摘 要 本课题是采用 EDA 技术设计的一个简易的十八键电子琴,通过模拟电子琴 的不同键位来得到相对应的音阶。基于计算机中时钟分频器的原理,采用自顶向 下的设计方法来实现,它可以通过按键输入来控制产生对应的预置系数,并且通 过分频模块输出相对应的音阶。本次设计的目的就是在掌握计算机组成原理理论 相关的基础上,掌握 Verilog 硬件描述语言的设计方法和思想,通过学习的 Verilog 语言结合电子电路的设计知识理论联系实际,将软件编程应用到实际的系统上。 通过本课程设计,达到巩固和综合运用课本中学习的知识,理论联系实际,巩固 所学理论知识,并且提高自己通过所学理论分析、解决计算机相关的实际问题的 能力。 关键词:电子琴;verilog 语言;EDA;设计; 2
数字系统原理与设计课程设计报告 目 录 摘 要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 第 一 章 概 述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 . 1 发 展 背 景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1 . 2 设 计 目 的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 第 二 章 设 计 原 理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 . 1 设 计 原 理 与 方 案 选 择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 . 2 设 计 要 求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 2 . 3 设 计 思 路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 三 章 程 序 编 写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 . 1 模 块 及 程 序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 . 2 设 备 选 择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 第 四 章 仿 真 和 验 证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6 4 . 1 波 形 仿 真 及 生 成 器 件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6 4 . 2 硬 件 验 证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 4 . 3 出 现 问 题 及 分 析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 第 五 章 设 计 总 结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 参 考 文 献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3
数字系统原理与设计课程设计报告 第一章 概述 1.1 发展背景 电子琴最早是由美国发明家于上世纪 20 年代末发明,并于 30 年代制造投放 市场的。电子琴不是钢琴的简易版,也不是起源于钢琴,它们是两种不同的乐器, 电子琴起源于管风琴。电子琴分单排键电子琴和双排键电子琴(电子管风琴)。 1959 年日本生产出世界上第一台立式双排键电子琴,它有三层键盘。随着电子 技术的发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系 统希望能够给人们多带来一点生活上的乐趣,电子技术与音乐的结合不断加深。 由此而产生的电子琴在这种形势下,因其体积小,易于携带,经济适用,对初学 者,尤其对识谱的人来说是很容易弹奏的,一首简单的曲子灵感好的人甚至不用 很多的练习和教师的指导就能很快的弹奏出来。是一般家庭都能承受得了的经济 投入,而且电子琴键盘操作直观易于掌握。这样就强烈地激发了学习者的学习兴 趣,迅速地提高了电子琴的普及率。电子琴使用简单。深受广大音乐爱好者推 崇。 1.2 设计目的 本次设计的目的就是在掌握计算机组成原理理论相关的基础上,掌握 Verilog 硬件描述语言的设计方法和思想,通过学习的 Verilog 语言结合电子电路的设计 知识理论联系实际,将软件编程应用到实际的系统上,掌握所学的课程知识,例 如本课程设计就是基于所学的计算机原理中的时钟分频器和音调发生器和顶层 模块的基础之上的。通过本课程设计,达到巩固和综合运用计算机原理中的知识, 理论联系实际,巩固所学理论知识,并且提高自己通过所学理论分析、解决计算 机相关的实际问题的能力。 4
数字系统原理与设计课程设计报告 2.1 设计原理与方案选择 2.1.1 设计原理 第二章 设计原理 通过查阅资料,可以总结出本设计可以通过多种方案来实现,下面就主要的 4 种方案进行阐述和比较。 方案一: 采用数字逻辑电路制作,用 IC 拼凑焊接实现,这种电路很直观,简单方便。 但应用数字逻辑电路制作的话,使用的器件较多,连接复杂,体积大,功耗大。 电路中焊点和线路较多会使成品的稳定度和精度大大降低。 方案二: 采用现场可编程逻辑器件(FPGA)制作,利用 EDA 软件中的 Verilog 硬件 描述语言编程进行控制,然后烧制实现采用 FPGA 来设计的原理图如图 1.1 所示 它由控制输入电路、分频电路、FPGA、音阶输出电路构成。 输入 分频 FPG A 音阶输出 图 1.1 FPGA 设计框图 控制输入电路主要是为用户设计的,这里面采用 18 个按键进行输入控制, 这能起到一个输入控制的作用。分频是将高频率转换为较低频率,这样能够保证 输出来的音质不会失真,FPGA 是现场可编程逻辑器件,也是本设计方案的核心 内容,它是实现电子琴运作的主要控制模块。由自己把编好的 Verilog 程序加载 到现场可编程逻辑器件 FPGA 中,然后通过控制输入电路把乐谱输入到 FPGA, 产生不同的频率,通过外接扬声器输出音调。 方案三: 单片机现在已经达到很成熟的阶段了,它的应用也十分广泛。 采用单片机 来实现电子琴,它的原理方框图与用 FPGA 来实现的原理方框图类似,如图 1.2 所示。 5
数字系统原理与设计课程设计报告 输入 MCU 音阶输出 图 1.2 单片机设计原理 图 1.1 和图 1.2 的基本原理都相同,唯一不同的是一个是用 FPGA 来制作,一个 是用单片机来实现。采用单片机来实现电子琴,主要的核心是单片机的设计。但 其本质是一样的只是设计使用的语言不一样。但都能很好的实现电子琴的设计。 方案四: 采用 555 定时器组成简易电子琴,整个电路包括主振荡器、颤音振荡器、扬 声器和琴键按钮等。设计原理框图如图 1.3 所示。 输 图 1.3 555 定时器法设计原理 2.1.2 方案比较 对于电子琴的设计,4 个方案均可以实现。 方案一中采用的是数字逻辑电路来制作,该电路硬件所需的器材多,体积庞大, 比较复杂,而且精度和稳定度都不是很高。 方案二采用的是现场可编程逻辑器件来实现,它的优点是所有电路集成在一块芯 片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统 的稳定度。还可以用软件 QuartusⅡ进行仿真和调试等。利用 Verilog 硬件描述语 言编程,可提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的 扩展,实现方法灵活,调试方便,修改容易。 方案三单片机法设计者的要求比较高,设计者对软硬件必须十分熟悉。其次,由 于还未接触过 c 语言的编程环境,放弃了这种方案。和方案二来比它的实验仿真 没有方案二简单直观,调试也有一定的难度。在外界环境相同的条件下,方案三 设计出来的产品精度和稳定度要比方案二稍微差一些。 方案四是 555 定时器法,第一个 555 芯片用来产生锯齿波形,然后经过第二和第 三个 555 芯片和其他电阻电容组成的施密特触发器将锯齿波形转变成放波波形, 产生驱动扬声器的信号,再经过 LM386 将信号放大使扬声器发出声音。我们只 要调整接入的电阻阻值就能得到对应音频的频率,从而达到所要的效果。不过这 个方案要使用两个 555 芯片,在经济上不是很合理。 6
数字系统原理与设计课程设计报告 因此,通过对比,采用方案二来实现电子琴的设计成为了最佳的选择。 2.2 设计要求 基本要求:设计一个有 18 个按键的电子琴。 使用 DE2 上的拨码开关产生 不同的按键输入,通过板载的音频解码器产生不同的音阶输出。 补充功能:自动播放、按键防抖、音调显示。 2.3 设计思路 主系统由 3 个模块组成,程序 JYDZQ(见附录)是顶层设计文件,其内部 有两个功能模块(如图 2.1 所示):jianpan(程序见附录)和 fenpin(程序见附录)。 模块 jianpan 是音阶发生器,当 18 位发声控制输入中某一位为高电平时,则对应 某一音阶的数值将从端口 jian 输出,作为获得该音阶的分频预置值;在 fenpin 模块中进行分频,并且把结果进行输出,然后音阶显示。 2.3.1 模块:jianpan 设计 音名 低音 1 低音 2 低音 3 低音 4 低音 5 低音 6 低音 7 频率 261.63 293.67 329.63 349.23 391.99 440 493.88 图 2.1 顶层模块原理图 音名 中音 1 中音 2 中音 3 中音 4 中音 5 中音 6 中音 7 频率 523.25 587.33 659.25 698.46 783.99 880 987.76 图 2.2 音名频率对照表 音名 高音 1 高音 2 高音 3 高音 4 高音 5 高音 6 高音 7 频率 1046.50 1174.66 1318.51 1396.92 1567.98 1760 1975.52 通过查阅资料,得到了如图音调与频率的对应关系。由于在 D2 开发板上只有 18 个拨码开关,以及 4 个按键,因此,选择用开关来模拟键盘(不需要再设置防抖 功能)。在三个音区发现 f 中音频率=f 高音频率/2 f 低音频率=f 中音频率/2 7
数字系统原理与设计课程设计报告 键位有限的情况下,我选择的是从低音 3 到高音 6 区间的 18 个键位。 2.3.2 模块:fenpin 设计 音高 降 mi 降 fa 降 so 降 la 降 si do re mi fa so la si 升 do 升 re 升 mi 升 fa 升 so 升 la 频率 329.63 349.23 391.99 440 494 523.25 587.33 659.25 698.46 783.99 880 988 1046.50 1174.66 1318.51 1396.92 1567.98 1760 预置初值 pd 对应的二进制 121 114 102 91 81 76 68 61 57 51 45 40 38 34 30 29 26 23 01111001 01110010 01100110 01011011 01010001 01001100 01000100 00111101 00111001 00110011 00101101 00101000 00100110 00100010 00011110 00011101 00011010 00010111 图 2.3 音名、频率、预置初值及 2 进制表 从设计中可以看出,最后输出信号是 out。信号 out 是信号 clk——out 的二 分频,即  out  f  f   _ out clk 2 式 2.1 而信号 clk_out 是信号 clk_80k 的分频,分频系数由分频预置数 pd 决定,即, 信号 clk_80k 是信号 clk_50M 的 625 分频,实验中选取 clk_50M 的频率为 50MHz, 将它进行 625 分频,也就是说 clk_80k 的频率为 80KHz,这样最后输出的 out 的 信号频率应是  out  f   k f  clk 2  80_ pd 式 2.2 8
分享到:
收藏