基于FPGA的简易电子琴设计.doc_第1页
基于FPGA的简易电子琴设计.doc_第2页
基于FPGA的简易电子琴设计.doc_第3页
基于FPGA的简易电子琴设计.doc_第4页
基于FPGA的简易电子琴设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

皖西学院毕业论文设计 第 1 页 共 41 页 第 1 页 课程设计任务书课程设计任务书 系别 机械与电子工程学院 专业 电子与通信 学生姓名学号 毕业论文 设计 题目 基于 FPGA 的简易电子琴设计 毕业论文 设计 内容 1 设计一个简易的八音符电子琴 它可通过按键输入来控制音响 2 演奏时可以选择是手动演奏 由键盘输入 还是自动演奏已存入的乐曲 3 能够自动演奏多首乐曲 且每首乐曲可重复演奏 毕业论文 设计 要求及应完成的工作 1 可从图书馆 数据库等网上查找相关资料 要求阅读与课题相关资料 60 篇以上 2 按内容要求及进度安排完成表格 论文等毕业设计任务 毕业论文 设计 各阶段名称起 止 日 期 1 下达任务书 查阅文献资料2010 12 26 2011 2 1 2 初步提出设计方案 完成开题报告2011 2 1 2011 3 6 3 设计与实施方案 完成中期检查要求2011 3 6 2011 4 15 4 完成毕业设计任务 完成毕业论文的撰写2011 4 15 2011 5 29 进 度 安 排 5 毕业论文评阅 学生答辩2011 5 29 2011 6 12 应收集的资料 主要参考文献及实习地点 1 与FPGA相关的资料 2 与VHDL相关的资料 3 音乐知识方面的资料 指导教师签字 郑大腾 2010 年 12 月 26 日 系主任签字 年 月 日 皖西学院毕业论文设计 第 2 页 共 41 页 第 2 页 开题报告开题报告 系别 机电学院 专业 电子信息科学与技术 学生姓名王春学号 20071272 指导教师郑大腾职称教授 所选题目名称 基于 FPGA 的简易电子琴设计 课题研究现状 我们生活在一个信息时代 各种电子产品层出不穷 作为一个电子信息专业的学 生 了解这些电子产品的基本组成和设计原理是十分必要的 我们学习的是EDA相关 的理论知识 而课程设计正是对我们学习的理论的实践与巩固 本设计主要介绍的是 一个用超高速硬件描述语言VHDL设计的一个具有若干功能的简易电子琴 其理论基 础来源于计算机组成原理的时钟分频器 EDA 技术是在电子 CAD 技术基础上发展起来的计算机软件系统 是指以计算机 为工作平台 融合了应用电子技术 计算机技术 信息处理及智能化技术的最新成果 进行电子产品的自动设计 利用 EDA 工具 电子设计师可以从概念 算法 协议等 开始设计电子系统 大量工作可以通过计算机完成 并可以将电子产品从电路设计 性能分析到设计出 IC 版图或 PCB 版图的整个过程的计算机上自动处理完成 现在对 EDA 的概念或范畴用得很宽 包括在机械 电子 通信 航空航天 化工 矿产 生 物 医学 军事等各个领域 都有 EDA 的应用 目前 EDA 技术已在各大公司 企事 业单位和科研教学部门广泛使用 例如在飞机制造过程中 从设计 性能测试及特性 分析直到飞行模拟 都可能涉及到 EDA 技术 本文所指的 EDA 技术 主要针对电子 电路设计 PCB 设计和 IC 设计 课题研究目的 本次设计的目的就是在掌握计算机组成原理理论的基础上 了解 EDA 技术 掌握 VHDL 硬 件描述语言的设计方法和思想 通过学习的 VHDL 语言结合电子电路的设计知识理论联系实际 掌握所学的课程知识 例如本课程设计就是基于所学的计算机原理中的时钟分频器和定时器的基 础之上的 通过本课程设计 达到巩固和综合运用计算机原理中的知识 理论联系实际 巩固所 学理论知识 并且提高自己通过所学理论分析 解决计算机实际问题的能力 皖西学院毕业论文设计 第 3 页 共 41 页 第 3 页 课题研究内容 基于 MAX PLUS 平台 运用 VHDL 语言对简易电子琴的各个模块进行设计 并 使用 EDA 工具对各模块进行仿真验证 本设计包含如下三个模块 乐曲自动演奏模 块 音调发生模块 数控分频模块 最后把各个模块整合后 通过电路的输入输出对 应关系连接起来 本课程设计主要是利用硬件描述语言 VHDL 的设计思想 采用自顶 向下的方法 划分模块来设计简易电子琴中的几个模块 通过课程设计深入理解和掌 握计算机的基本知识 并且掌握课堂上所学到的理论知识 达到课程设计的目的 课题研究计划 1 进行电路分析 通过电路分析 确定整个电路大概的规模 2 进行电路分析 通过电路分析 确定该电路该具有那些功能 有那些模块 各个 模块之间是怎样联系的 以及怎样组合的 3 建立仿真 通过对电路的分析 我们要确定仿真图的结构是怎么样的 使得仿真 得以实现 完成需求 4 电路模块的拼装 组装成一个电路 5 进行程序设计 包裹主程序 调试 调试整个的电路的功能 看各个功能是否能 正常运行 并找出程序中的错误 改正这些错误 6 撰写毕业论文及答辩 皖西学院毕业论文设计 第 4 页 共 41 页 第 4 页 主要参考文献 1 曹昕燕 周凤臣 EDA 技术实验与课程设计 北京 清华大学出版社 2006 2 张亦华 延明 数字电路 EDA 入门 北京 北京邮电大学出版社 2003 3 王爱英 计算机组成与结构 北京 清华大学出版社 2007 4 杨刚 龙海燕 现代电子技术 VHDL 与数字系统设计 北京 电子工业出版社 2004 5 高书莉 罗朝霞 可编程逻辑设计技术及应用 M 北京 人民邮电出版社 2001 年 第一版 6 黄正谨 徐坚 章小丽等 CPLD 系统设计技术入门与应用 M 北京 电子工 业出版社 2002 年 第一版 7 潘松 黄继业 EDA 技术实用教程 M 北京 科学出版社 2002 年 第一版 皖西学院本科毕业论文 设计 中期检查表皖西学院本科毕业论文 设计 中期检查表 系别 机电学院 专业 电子信息科学与技术 毕业论文 设计 题目 基于 FPGA 简易电子琴设计 学生姓名王春学 号 20071272 指导教师郑大腾职 称教授 计划完成时间 2010 12 26 2011 6 12 毕业论文 设计 的进度安排 1 收到任务书 查阅相关文献资料 2010 12 26 2011 2 1 2 初步提出设计方案 完成开题报告 2011 2 1 2011 3 6 3 设计与实施方案 完成中期检查要求 2011 3 6 2011 4 15 4 完成毕业设计任务 完成毕业论文的撰写 2011 4 15 2011 5 29 5 毕业论文评阅 做答辩准备 2011 5 29 2011 6 12 皖西学院毕业论文设计 第 5 页 共 41 页 第 5 页 完成情况 经过前期的查阅相关资料和咨询 基本对课题有了深一步的了解 在了解设计目 的和相关内容后我着手查阅 EDA FPGA VHDL 相关资料 了解有关知识 基本会 操作应用软件 准备工作做好之后就开始规划设计思路 目前已经初步设计出电子琴 的工作原理图 大体知道我所设计的电子琴是由三个基本模块组成的 它们分别是乐 曲自动演奏模块 音调发生模块 数控分频模块 同时我还对各个模块进行了分析乐 曲自动演奏模块 音调发生模块 数控分频模块 论文的初稿基本已经形成 有待进 一步加工修饰 指导教师意见 年 月 日 备注 简易电子琴的设计简易电子琴的设计 学生姓名 王春学生姓名 王春 指导老师 郑大腾指导老师 郑大腾 摘要摘要 本系统是采用 EDA 技术设计的一个简易的八音符电子琴 该系统基于计算 机中时钟分频器的原理 采用自顶向下的设计方法来实现 它可以通过按键输 入来控制音响 多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的 一个设计 该电子琴的设计大体可以由三个模块构成 分别是电子琴发声模块 存储器模块和选择控制模块 用超高速硬件描述语言 VHDL 编程可以实现各个 模块的功能 不仅能实现弹琴和演奏的功能 它还能实现 复读 的功能 就是 可以存储任意一段音乐 并且可以即时的播放出来 系统实现是用硬件描述语 皖西学院毕业论文设计 第 6 页 共 41 页 第 6 页 言 VHDL 按照模块化方式进行设计 然后进行编程 时序仿真 总体整合 本 系统的功能比较齐全 有一定的现实使用的价值 本文中介绍了电子琴系统的 整体的设计 并基于超高速硬件描述语言 VHDL 在相关的芯片上编程实现的 关键字关键字 电子琴 EDA VHDL 音调发生 现场可编程逻辑器件 FPGA 超高速 硬件描述语言 VHDL 电子琴系统 Abstract This system is designed using EDA technology a simple eight note keyboard the system clock divider based on the principle of the computer using top down design methodology to implement it can be controlled through the key input audio Multi function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design The design of the keyboard in general consists of three modules namely the keyboard sound modules memory modules and select the control module Ultra high speed hardware description language VHDL programming function of each module Not only can realize the function of playing and playing it can achieve repeat function which can store any piece of music and real time play out System implementation is to use hardware description language VHDL modular way by design then programming timing simulation integration The system features a relatively complete there is a certain value This paper introduces the overall design of the keyboard system and based on high speed hardware description language VHDL in Xilinx s Spartan series 2sc200PQ208 5 chip programming Keyword Keyboard EDA VHDL tone occurred field programmable logic device FPGA 皖西学院毕业论文设计 第 7 页 共 41 页 第 7 页 ultra high speed hardware description language VHDL organ systems 目目 录录 1 引 言 1 1 设计的目的 1 2 设计的基本内容 2 FPGA EDA VHDL 简介 2 1 FPGA 工作原理 2 1 2 FPGA 的基本特点 2 2 EDA 技术 2 3 硬件描述语言 VHDL 2 3 1 VHDL 的简介 2 3 2 VHDL 语言的特点 2 3 3 VHDL 语言上机操作条件 皖西学院毕业论文设计 第 8 页 共 41 页 第 8 页 2 3 4 VHDL 的设计流程 3 音乐知识介绍 4 简易电子琴设计 4 1 系统设计的总思路 4 2 程序设计的流程图 4 3 简易电子琴的工作流程图 4 4 简易电子琴中各模块的设计 4 4 1 乐曲自动演奏模块 4 4 2 音调发生模块 4 4 3 数控分频模块 4 4 4 顶层设计 5 系统仿真 6 结束语 致谢 参考文献 附录 1 引引 言言 我们生活在一个信息高速发达的时代 各种各样电子产品层出不穷 对于 广大老百姓来说 电子琴可以说已经不再是什么 新鲜玩意 了 它现在作为 一种休闲和娱乐的产品早就推出市面 面向百姓 进入了我们的生活 作为一 个电子信息科学与技术专业的学生 了解这些电子产品的基本的组成和设计原 理是十分必要的 我们学习过了计算机组成的理论知识 而我所做的课程设计 正是对我学习的理论进行实践和巩固 本设计主要介绍的是一个用超高速硬件 描述语言 VHDL 设计的一个具有若干功能的简易电子琴 集科学性 先进性 创新性 实用性于一体 其理论基础源自于计算机组成原理的时钟分频器 皖西学院毕业论文设计 第 9 页 共 41 页 第 9 页 1 1 设计的目的设计的目的 本次设计的目的就是在掌握计算机组成原理理论相关的基础上 了解 EDA 技术 掌握 VHDL 硬件描述语言的设计方法和思想 通过学习的 VHDL 语言结 合电子电路的设计知识理论联系实际 掌握所学的课程知识 例如本课程设计 就是基于所学的计算机原理中的时钟分频器和定时器的基础之上的 通过本课 程设计 达到巩固和综合运用计算机原理中的知识 理论联系实际 巩固所学 理论知识 并且提高自己通过所学理论分析 解决计算机相关的实际问题的能 力 1 2 设计的基本内容设计的基本内容 基于 MAX PLUS 平台 运用 VHDL 语言对简易电子琴的各个模块进行设 计 并使用 EDA 工具对各模块进行仿真验证 本设计包含如下三个模块 乐 曲自动演奏模块 音调发生模块 数控分频模块 最后把各个模块整合后 通 过电路的输入输出对应关系连接起来 1 3 设计方案设计方案 为了实现这种有 自动播放歌曲 和 复读 功能的多功能简易电子琴 以下提供两种方案以供参考 方案一方案一 采用单个的逻辑器件组合实现 这样虽然比较直观 逻辑器件分 工鲜明 思路也比清晰 一目了然 但是因为元器件种类 个数非常多 而且 过于复杂的硬件电路也容易引起系统的精度不高 体积过大等一系列的不利因 素 例如八个不同的音符是由八个不同的频率来控制输出发声的 而采用这个 方案需要运用不同的分频器来对信号进行不同程度的分频 所用仪器之多显而 易见 方案二方案二 采用 VHDL 语言编程来实现电子琴的各项功能 我这个系统主要 由电子琴发声模块 选择控制模块和储存器模块组成的 和方案一相比较 方 皖西学院毕业论文设计 第 10 页 共 41 页 第 10 页 案二就显得比较笼统 只是把整个系统分为了若干个小模块 却不牵涉到具体 的硬件电路 但是我们必须看到使用超高速硬件描述语言 VHDL 的优势 它不 仅具有良好的电路行为描述和系统描述的能力并且通俗易懂 2 FPGA EDA VHDL 简介简介 2 1 EDA 技术技术 EDA Electronic Design Automation 就是电子设计自动化 它是近几年来 迅速发展起来的计算机软件 硬件和微电子技术交叉运用的现代电子科学 是 20 世纪 90 年代初从 CAD 计算机辅助设计 CAM 计算机辅助制造 CAT 计算机辅助测试 CAE 计算机辅助工程 的概念发展而来的 EDA 技术是以计算机为工作平台 以 EDA 软件工具为开发环境 以硬件描述语言为 设计语言 以 ASIC Application Specific Integrated Circuits 为实现载体的电子 产品自动化设计过程 在 EDA 软件平台上 根据原理图或硬件描述语言 VHDL 完成的设计文件 自动的完成逻辑编译 化简 分割 综合及优化 布局布线 仿真 目标芯片的适配编译 逻辑映射和编程下载等工作 EDA 技术是在电子 CAD 技术基础上发展起来的计算机软件系统 是指以计算机为工作平台 融合 了应用电子技术 计算机技术 信息处理及智能化技术的最新成果 进行电子 产品的自动设计 利用 EDA 工具 电子设计师可以从概念 算法 协议等开 始设计电子系统 大量工作可以通过计算机完成 并可以将电子产品从电路设 计 性能分析到设计出 IC 版图或 PCB 版图的整个过程的计算机上自动处理完 成 在现在的电子设计领域 随着微电子技术的迅速的发展 无论是电路设计 系统设计还是芯片设计 其设计的复杂程度都在不断地增加 而且电子产品更 新步伐也非常的迅速 这样一来 我们仅仅依靠传统的手工设计已经不再能满 足现在工艺的要求 而电子设计自动化技术的发展给电子系统设计带来了革命 性的变化 大部分设计工作都可以在计算机上借助 EDA 工具来完成 现在对 EDA 的概念或范畴用得很宽 包括在机械 电子 通信 航空航天 化工 矿 产 生物 医学 军事等各个领域 都有 EDA 的应用 目前 EDA 技术已在各 皖西学院毕业论文设计 第 11 页 共 41 页 第 11 页 大公司 企事业单位和科研教学部门广泛使用 例如在飞机制造过程中 从设 计 性能测试及特性分析直到飞行模拟 都可能涉及到 EDA 技术 本文所指的 EDA 技术 主要针对电子电路设计 PCB 设计和 IC 设计 2 2 关于关于 FPGA 介绍介绍 2 2 1 FPGA 工作原理工作原理 FPGA 采用了逻辑单元阵列 LCA Logic Cell Array 这样一个概念 内部 包括可配置逻辑模块 CLB Configurable Logic Block 输出输入模块 IOB Input Output Block 和内部连线 Interconnect 三个部分 2 2 2 FPGA 的基本特点的基本特点 1 采用 FPGA 设计 ASIC 电路 专用集成电路 用户不需要投片生产 就能 得到合用的芯片 2 FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 3 FPGA 内部有丰富的触发器和 I O 引脚 4 FPGA 是 ASIC 电路中设计周期最短 开发费用最低 风险最小的器件之 一 5 FPGA 采用高速 CHMOS 工艺 功耗低 可以与 CMOS TTL 电平兼容 我们可以说 FPGA 芯片是小批量系统提高系统集成度 可靠性的最佳选 择之一 FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的 因此 工作时需要对片内的 RAM 进行编程 用户可以根据不同的配置模式 采用不 同的编程方式 加电时 FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中 配置完成后 FPGA 进入工作状态 掉电后 FPGA 恢复成白片 内部逻辑关 系消失 因此 FPGA 能够反复使用 FPGA 的编程无须专用的 FPGA 编辑器 只须用通用的 EPROM PROM 编程器即可 当需要修改 FPGA 功能时 只需 皖西学院毕业论文设计 第 12 页 共 41 页 第 12 页 换一片 EPROM 即可 这样 同一片 FPGA 不同的编程数据 可以产生不同 的电路功能 因此 FPGA 的使用非常灵活 2 3 硬件描述语言硬件描述语言 VHDL 2 3 1 VHDL 的简介的简介 VHDL 是一种用来描述数字逻辑系统的 编程语言 它的全名是 Very High Speed Integrated Circuit HardwareDescription Language 就是超高速集成电路硬 件描述语言 HDL 发展的技术源头是 在 HDL 形成发展之前 已有了许多程 序设计语言 如汇编 C Pascal Fortran Prolog 等 这些语言运行在不同硬 件平台和不同的操作环境中 它们适合于描述过程和算法 不适合作硬件描述 CAD 的出现 使人们可以利用计算机进行建筑 服装等行业的辅助设计 电子 辅助设计也同步发展起来 在从 CAD 工具到 EDA 工具的进化过程中 电子设 计工具的人机界面能力越来越高 在利用 EDA 工具进行电子设计时 逻辑图 分立电子原件作为整个越来越复杂的电子系统的设计已不适应 任何一种 EDA 工具 都需要一种硬件描述语言来作为 EDA 工具的工作语言 这些众多的 EDA 工具软件开发者 各自推出了自己的 HDL 语言 HDL 发展的社会根源是 美国国防部电子系统项目有众多的承包公司 由于各 公司技术路线不一致 许多产品不兼容 他们使用各自的设计语言 使得一个 公司的设计不能被另一个公司重复利用 造成了信息间的交换困难和维护困难 美国政府为了降低开发费用 避免重复设计 国防部为他们的超高速集成电路 提供了一种硬件描述语言 以期望 VHDL 功能强大 严格 可读性好 政府要 求各公司的合同都用它来描述 以避免产生歧义 由政府牵头 VHDL 工作小 组于 1981 年 6 月成立 提出了一个满足电子设计各种要求的能够作为工业标准 的 HDL 1983 年第 3 季度 由 IBM 公司 TI 公司 Intermetrics 公司签约 组 成开发小组 工作任务是提出语言版本和开发软件环境 1986 年 IEEE 标准化 组织开始工作 讨论 VHDL 语言标准 历时一年有余 于 1987 年 12 月通过标 准审查 并宣布实施 即 IEEE STD 1076 1987 LRM87 1993 年 VHDL 重新 修订 形成了新的标准 即 IEEE STD 1076 1993 LRM93 从此以后 美国 国防部实施新的技术标准 要求电子系统开发商的合同文件一律采用 VHDL 文 皖西学院毕业论文设计 第 13 页 共 41 页 第 13 页 档 即第一个官方 VHDL 标准得到推广 实施和普及 它源于美国政府于 1980 年开始启动的超高速集成电路计划 VHDL 主要用于描述数字系统的结构 行为 功能和接口 除了含有许多具有硬件特征的语句外 VHDL 的语言形式和描述 风格与句法是十分类似于一般的计算机高级语言 VHDL 的程序结构特点是将 一项工程设计 或称设计实体 可以是一个元件 一个电路模块或一个系统 分成外部 或称可是部分 及端口 和内部 或称不可视部分 既涉及实体的 内部功能和算法完成部分 在对一个设计实体定义了外部界面后 一旦其内部 开发完成后 其他的设计就可以直接调用这个实体 这种将设计实体分成内外 部分的概念是 VHDL 系统设计的基本点 应用 VHDL 进行工程设计的优点是多 方面的 VHDL 的应用必将成为当前以及未来 EDA 解决方案的核心 更是整个 电子逻辑系统设计的核心 2 3 2 VHDL 语言的特点语言的特点 1 VHDL 具有更强的行为描述能力 从而决定了他成为系统设计领域最佳的 硬件描述语言 强大的行为描述能力是避开具体的器件结构 从逻辑行为上描 述和设计大规模电子系统的重要保证 2 VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分 解和已有设计的再利用功能 符合市场需求的大规模系统高效 高速的完成必 须有多人甚至多个代发组共同并行工作才能实现 3 VHDL 丰富的仿真语句和库函数 使得在任何大系统的设计早期就能查验 设计系统的功能可行性 随时可对设计进行仿真模拟 4 对于用 VHDL 完成的一个确定的设计 可以利用 EDA 工具进行逻辑综合 和优化 并自动的把 VHDL 描述设 2 3 3 VHDL 语言上机操作条件语言上机操作条件 VHDL 语言描述能力强 覆盖面广 抽象能力强 所以用 VHDL 语言作为硬件 模型建模很合适 设计者的原始描述是非常简练的硬件描述 经过 EDA 工具综 合处理 最终生成付诸生产的电路描述或版图参数描述的工艺文件 整个过程 通过 EDA 工具自动完成 大大减轻了设计人员的工作强度 提高了设计质量 皖西学院毕业论文设计 第 14 页 共 41 页 第 14 页 减少了出错机会 VHDL 语言可读性好 VHDL 既能被人容易读懂 又能被计算机识别 作为技 术人员编写的源文件 它既是计算机程序 技术文档和技术人员硬件信息交流 的文件 又是签约双方的合同文件 VHDL 语言中的设计实体 Design entity 程序包 Package 设计库 Library 为设计人员重复利用他人的设计提供了 技术手段 重复利用他人的 IP 模块和软核 Soft core 是 VHDL 的特色 许多 设计不必个个都从头再来 而是只要在更高层次上把 IP 模块利用起来 就能达 到事半功倍的效果 VHDL 语言可以在多种 EDA 工具设计环境中运行 硬件平台是工作站或高档微 机 高档微机的配置应该具有 高分彩显 17 英寸以上 分辨率 1024 768 或更高 硬盘 20GB 以上 内存 512MB 以上 CPU Intel 兼容 CPU 光驱 8 倍速以上 操作系统 Windows XP 开发工具 MAX plus II 或 Quartus II Candence Menter ALTERA 等公司的 EDA 工具均支持 VHDL 语言环境 2 3 4 VHDL 的设计流程的设计流程 用 VHDL 语言设计电路的流程 在用 VHDL 语言来设计电路时 主要的过程是这样的 1 使用文本编辑器输入设计源文件 2 使用编译工具编译源文件 VHDL 的编译器有很多 ACTIVE 公司 MODELSIM 公司 SYNPLICITY 公司 SYNOPSYS 公司 VERIBEST 公司等 都有自己的编译器 3 功能仿真 对于某些人而言 仿真这一步似乎是可有可无的 但是对于一 个可靠的设计而言 任何设计最好都进行仿真 以保证设计的可靠性 另外 对于作为一个独立的设计项目而言 仿真文件的提供足可以证明你设计的完整 皖西学院毕业论文设计 第 15 页 共 41 页 第 15 页 性 4 综合 综合的目的是在于将设计的源文件由语言转换为实际的电路 这一 部分的最终目的是生成门电路级的网表 Netlist 5 布局 布线 这一步的目的是生成用于烧写的编程文件 在这一步 将用 到第 4 步生成的网表并根据 CPLD FPG 厂商的器件容量 结构等进行布局 布线 这就好像在设计 PCB 时的布局布线一样 先将各个设计中的门根据网表 的内容和器件的结构放在器件的特定部位 然后 在根据网表中提供的各门的 连接 把各个门的输入输出连接起来 6 后仿真 这一步主要是为了确定你的设计在经过布局布线之后 是不是还满足你的设 计要求 3 乐理知识乐理知识 音频就是一个专业术语 人们能够听到的所有的声音都可以称之为音频 它可能包括处理 如果把它制作成 CD 这时候所有的声音都不会有改变了 因为 CD 本来就是音频文件的一个种类 音频只是储存在计算机里的声音 如 果现在有一台计算机再加上相应的音频卡 就是我们说的声卡 这样一来我 们把我们想放的声音录制下了 声音的声学特性像是音的高低是可以用计算机 硬盘文件的方式把它们储存下来的 反过来 我们也可以把储存在计算机硬盘 文件的音频文件用一定的音频程序播放 还原以前录下的声音 3 1 音频音频 3 3 1 1 1 1 音音频频的的数数字字化化处处理理 随着计算机科学技术的发展 特别是海量存储设备和大容量内存在 机上的运用 对音频进行数字化处理便成为了可能了 数字化处理的核心就 是对音频信息的采样 通过对采集到的样本数据进行处理 得到所需要的相 应数据 这是音频数字化处理的基本含义 皖西学院毕业论文设计 第 16 页 共 41 页 第 16 页 3 3 1 1 2 2 音音频频的的处处理理 不同采样率 频率 通道数之间的变换和转换 而变换就是信息的 一种格式转化成可利用的格式 转化就离不开采样了 有时候还要根据精确 度的需要采用一些算法 如插值 以补偿转化中的失真现象 现在有淡入 淡出 音量调节等方法是针对音频数据本身进行的各种变换的 而高通 低 通滤波器是通过数字滤波算法进行的变换 音乐产生原理及硬件设计由于一 首音乐是许多不同的音阶组成的 而每个音阶对应着不同的频率 这样我们 就可以利用不同的频率的组合 即可构成我们所想要的音乐了 当然对于单 片机来产生不同的频率非常方便 我们可以利用单片机的定时 计数器来产 生这样方波频率信号 因此 我们只要把一首歌曲的音阶对应频率关系弄正 确即可 本次设计中单片机晶振为 12MHZ 那么定时器的计数周期为 1MHZ 假如选择工作方式 1 那 T 值便为 T 216 5 105 相应的频率 那么根据不同的频率计算出应该赋给定时器的计数值 那么根据不同的频 率计算出应该赋给定时器的计数值 列出不同音符与单片机计数T0 相关的 计数值如下表所示 音符频率 HZ 简谱码 T 值 中 1 DO 52364580 中 2 RE 58764684 中 3 M 65964777 中 4 FA 69864820 中 5 SO 78464898 中 6 LA 88064968 中 7 SI 98865030 采用查表程序进行查表时 可以为这个音符建立一个表格 有助于单片机通 过查表的方式来获得相应的数据 TABLE DW 64580 64684 64777 64820 64898 64968 65030 3 3 1 1 3 3 音音频频的的三三维维化化处处理理 长期以来 计算机的研究者们一直低估了声音对人类在信息处理中的作 用 当虚拟技术不断发展之时 人们就不再满足单调平面的声音 而更催向 皖西学院毕业论文设计 第 17 页 共 41 页 第 17 页 于具有空间感的三维声音效果 听觉通道可以与视觉通道同时工作 所以声 音的三维化处理不仅可以表达出声音的空间信息 而且与视觉信息的多通道 的结合可以创造出极为逼真的虚拟空间 这在未来的多媒体系统中是极为重 要的 这也是在媒体处理方面的重要措施 人类感知声源的位置的最基本的理论是双工理论 这种理论基于两种因 素 两耳间声音的到达时间差和两耳间声音的强度差 时间差是由于距离的 原因造成 当声音从正面传来 距离相等 所以没有时间差 但若偏右三度 则到达右耳的时间就要比左耳约少三十微秒 而正是这三十微秒 使得我们 辨别出了声源的位置 强度差是由于信号的衰减造成 信号的衰减是因为距 离而自然产生的 或是因为人的头部遮挡 使声音衰减 产生了强度的差别 使得靠近声源一侧的耳朵听到的声音强度要大于另一耳 基于双工理论 同样地 只要把一个普通的双声道音频在两个声道之间 进行相互混合 便可以使普通双声道声音听起来具有三维音场的效果 这涉 及到以下有关音场的两个概念 音场的宽度和深度 音场的宽度利用时间差的原理完成 由于现在是对普通立体声音频进行 扩展 所以音源的位置始终在音场的中间不变 这样就简化了我们的工作 要处理的就只有把两个声道的声音进行适当的延时和强度减弱后相互混合 由于这样的扩展是有局限性的 即延时不能太长 否则就会变为回音 音场的深度利用强度差的原理完成 具体的表现形式是回声 音场越深 则回音的延时就越长 所以在回音的设置中应至少提供三个参数 回音的衰 减率 回音的深度和回音之间的延时 同时 还应该提供用于设置另一通道 混进来的声音深度的多少的选项 音频是个专业术语 人类能够听到的所有声音都称之为音频 它可能包括 噪音等 声音被录制下来以后 无论是说话声 歌声 乐器都可以通过数字音 乐软件处理 或是把它制作成 CD 这时候所有的声音没有改变 因为 CD 本来 就是音频文件的一种类型 而音频只是储存在计算机里的声音 如果有计算机 再加上相应的音频卡 就是我们经常说的声卡 我们可以把所有的声音录制 下来 声音的声学特性如音的高低等都可以用计算机硬盘文件的方式储存下来 反过来 我们也可以把储存下来的音频文件用一定的音频程序播放 还原以 皖西学院毕业论文设计 第 18 页 共 41 页 第 18 页 前录下的声音 3 23 2 节拍及音符节拍及音符 在音乐中 时间被分成均等的基本单位 每个单位叫做一个 拍子 或 称一拍 拍子的时值是以音符的时值来表示的 一拍的时值可以是四分 音符 即以四分音符为一拍 也可以是二分音符 以二分音符为一拍 或 八分音符 以八分音符为一拍 拍子的时值是一个相对的时间概念 比如 当乐 曲的规定速度为每分钟 60 拍时 每拍占用的时间是一秒 半拍是二 分之一 秒 当规定速度为每分钟 120 拍时 每拍的时间是半秒 半拍就 是四分之一 秒 依此类推 拍子的基本时值确定之后 各种时值的音符就 与拍子联系在一起 例如 当以四分音符为一拍时 一个全音符相当于四拍 一个二分音符相当于两拍 八分音符相当于半拍 十六分音符相当于四分 之一拍 如果以八分音符做为 一拍 则全音符相当于八拍 二分音符是四 拍 四分音符是两拍 十六分音 符是半拍 小节中强拍和弱拍的循环称 2拍子 强拍 弱拍 弱拍循环的称 3拍子 表示每小节中基本单位拍的时值和数量的记号 称拍号 拍号的上方数字表 示每小节的拍数 下方数字表示每拍的时值 例如 2 4表示以4分音符为 1拍 每小节有 2拍 拍号中时值的实际时间 应视乐曲所标速度而定 例 如快速度2 2中的2分音符就可能比慢速度 4 4中的4分音符占时更短 因此 不能视为3 4比3 2快 3 8比3 4更快 每小节只有一个强拍的叫做单拍子 如 2 4 2 8是单2拍子 3 4 3 8是单3拍子 每小节有一个强拍并有次强拍的叫做复拍子 因为它 可被看作是单拍子的组合 如4 4 6 8是复2拍子 9 8 9 16是复3拍子 还有另一种划分单 复拍子的方法 即 每拍是单音符 如 或 的叫做单 拍子 每拍是附点音符 如 或 的叫做复拍子 根据这种拍子划分法 4 2 4 4 4 8等是单4拍子 12 4 12 8 12 16等是复4拍子 单位拍时 值相同而拍数不同的单拍子组合在一小节内 叫做混合拍子 常见的有 5 拍子 如5 4是由2 4 3 4或3 4 2 4组合而成 和 7拍子 如7 8是由 2 8 2 8 3 8或2 8 3 8 2 8或3 8 2 8 2 8组合而成等 不能把每 皖西学院毕业论文设计 第 19 页 共 41 页 第 19 页 小节包含两个 3拍子和一个2拍子的8拍子 如8 8是由2 3 3 8或3 2 2 8或 组合而成 和每小节由两个 4拍子组成的复拍子相混淆 在计算机术语中 一个 CPU 时钟周期也成为节拍 在运营管理理论中 节拍是指在一个工作站上完成相邻两个产品的实际 时间 又可称之为产品间隔时间 音符们各有不同 不同的音符代表不同的长度 音符有以下几种 全音符 没有符干和符尾的空心的白色音符叫 全音符 它是音符家 族的老大哥 其他音符的时值都比它短 而且要以它为准 依次分为两半 二分音符 带有符干 没有符尾的白色音符叫 二分音符 它只有全 音符的一半长 等于全音符 1 2的时值 四分音符 带有符干 没有符尾的黑色音符叫 四分音符 它比二分 音符又小一半 等于全音符 1 4的时值 八分音符 带有符干和 1条符尾的黑色音符叫 八分音符 它比四分音 符还小一半 等于全音符 1 8的时值 十六分音符 带有符干和 2条符尾的黑色音符叫 十六分音符 它比八 分音符还小一半 等于全音符 1 16的时值 三十二分音符 带有符干和 3条符尾的黑色音符叫 三十二分音符 它比十六分音符小一半 等于全音符 1 32的时值 六十四分音符 带有符干 4条符尾的黑色音符叫 六十四分音符 它 比三十二分音符小一半 等于全音符 1 64的时值 音名与频率的关系 音乐的十二平均率规定 每两个八度音 如简谱中的 中音1 与高音1 之间的频率相差一倍 在两个八度音之间 又可分为十二个半 音 每两个半音的频率比为 另外 音名 A 简谱中的低音6 的频率为440Hz 音名 B 到 C 之间 E 到 F 之间为半音 其余为全音 由此可以计算出简谱中从 低音1 至高音1 之间每个音名的频率 如表5 所示 由于音阶频率多为非整数 而分频系数又不能为小数 故必须将计算得到的分频数四舍五入取整 若基准 频率过低 则由于分频系数过小 四舍五入取整后的误差较大 若基准频率过 高 虽然误码差变小 但分频结构将变大 实际的设计应综合考虑两方面的因 素 在尽量减小频率误差的前提下取合适的基准频率 本实验中选取5MHZ 的基 皖西学院毕业论文设计 第 20 页 共 41 页 第 20 页 准频率 若无5MHz 的时钟频率 则可以先分频得到4MHz 或换一个新的基准频率 实际上 只要各个音名间的相对频率关系不变 C 作1 与 D 作1 演奏出的音乐 昕起来都不会 走调 4 简易电子琴设计简易电子琴设计 4 1 系统设计的总体思路系统设计的总体思路 实现这个多功能电子琴 我们要考虑的主要是以下三个方面的内容 一 每个音符都有自己的固有频率 由频率的不同就决定了发出什么音调 二 一 首乐曲的组成不仅仅是音调 还包括每个音调持续时间的长短 也就是我们通 常所说的音长 三 要实现 复读 功能 就需要一个既可以存入又可以即时 输出的 RAM 于是本设计就是以这三个部分为核心内容展开 经过对引言两种方案的分析 比较和总结 我们选用方案二来进行电子琴 的设计 采用现场可编程逻辑器件 FPGA 制作 利用 EDA 软件中的 VHDL 硬件描述语言编程进行控制 然后烧制实现 采用 FPGA 来设计的原理图如图 4 1 所示 它由控制输入电路 FPGA 显示电路和扬声器电路组成 图 4 1 采用 FPGA 设计的电子琴原理方框图 控制输入电路主要是为用户设计的 起到一个输入控制的作用 FPGA 是现场 可编程逻辑器件 也是本设计方案的核心内容 它是实现电子琴运作的主要控制模 块 由设计者把编好的 VHDL 程序烧制到现场可编程逻辑器件 FPGA 中 然后通 过控制输入电路把乐谱输入到 FPGA 产生不同的频率驱动扬声器 发出不同的乐 谱 同时也把发出的乐谱符号通过显示器输出 控制输入电路FPGA显示电路 扬声电路 皖西学院毕业论文设计 第 21 页 共 41 页 第 21 页 4 2 程序设计的流程图程序设计的流程图 程序设计的流程图如图 4 2 所示 图 4 2 程序设计流程图 根据系统的两大功能 手动弹奏与自动演奏 可将其分成音频发生模块 键盘控制模块和存储器模块三部分 系统框图如下图所示 音频发生模块由分 频器组成 产生 8 个频率 还可扩展 对应 8 个音符 中央 C D E F G A B 和高音 C 这些频率经放大后驱动喇叭 即可发出声 音 键盘选择手动弹奏模式时 按下音符键后就选通相应的频率输出 可同时 多个频率叠加输出 产生和弦效果 若同时打开录音开关 还可将所奏音乐记 录下来 然后回放 选择自动演奏模式时 存储器里事先编写好的音符信息被 依次取出 去选通各个频率输出 实现自动奏乐 开始 等待用户输入乐谱 根据乐谱进行音阶 频率的预置 根据频率的预置数输 出相应的乐谱的频率 扬声器发音 显示乐谱和 高低音标志 皖西学院毕业论文设计 第 22 页 共 41 页 第 22 页 音频发生模块 存储器 键 盘 控 制 线 总 线 系统结构框图 4 3 简易电子琴的工作流程图简易电子琴的工作流程图 皖西学院毕业论文设计 第 23 页 共 41 页 第 23 页 开始 按键按下是否成功 TO 初始化并开中断允放 TO 中断 识别按键功能 根据按键功能 装入音符 T 到 TO 中 启动 TO 工作 按键释放是否成功 停止 TO 工作 TO 中断入 口 重装 THO TLO 初值 P1 0 取反 中断返回 图 3 3 简易电子琴的工作流程图 4 4 简易电子琴中各模块的设计简易电子琴中各模块的设计 FPGA 的设计是整个系统的中心环节 具有举足清重的作用 它的实现主要是由设 皖西学院毕业论文设计 第 24 页 共 41 页 第 24 页 计者用 VHDL 硬件描述语言编程实现电子琴的功能 仿真调试成功之后 再烧到 FPGA 器件中去 这样作出来的成品插上电源 便可脱机运行 而 FPGA 模块的设 计又重在 VHDL 语言的编程实现 用 VHDL 语言编写的程序总的顶层模块映射 原理图如图 3 4 所示 它是由乐曲自动演奏模块 音调发生模块和数控分频模块 组成 标准时钟频率经分频器分频得到一个 12MHZ 的频率和一个 8HZ 的频率 并分别输入音调发生模块和自动演奏模块 从自动演奏模块输出的是乐谱信号 该乐谱信号作为音调发生模块的敏感信号输入并对其进行控制 音调发生模块 有两个输出 分别是 code 和 high 两个都接外部的显示部分 只不过 code 显 示的是乐谱 high 显示的是该乐谱是高音还是低音 为了更清楚的了解电子琴的工作过程 我们利用 EDA 工具 本课程设计 Max plus 对各个模块实施时序仿真 Timing Simulation 由自顶向下的设计 方式 最后将三个模块进行整合 做出简易电子琴整个系统的时序仿真图 4 4 14 4 1 乐曲自动演奏模块 乐曲自动演奏模块的作用是产生 8 位发声控制输入信号 当进行自动演奏时 由存储在此模块中的 8 位二进制作为发声控制输入 从而自动演奏乐曲 这段 模块的原理图如图所示 CLK AUTO INDEX0 7 0 INDEX2 7 0 乐曲自动演奏模块原理图 乐曲自动演奏模块可以由 VHDL 语言来实现 下面是一段主要代码 BEGIN IF AUTO 0 THEN CASE COUNT IS WHEN 0 INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0 00000010 2 END CASE ELSE INDEX0TONE0 773 CODE 1001111 HIGHTONE0 912 CODE 0010010 HIGHTONE0 1036 CODE 0000110 HIGHTONE0 1116 CODE 1001100 HIGHTONE0 1197 CODE 0100100 HIGHTONE0 1290 CODE 0100000 HIGHTONE0 1372 CODE 0001111 HIGHTONE0 1410 CODE 0000000 HIGHTONE 2047 CODE 0000001 HIGH 0 END CASE END PROCESS 4 4 34 4 3 数控分频模块 在对计算机组成原理的学习中 我们知道数控分频器的功能是在输入端输入不 同数据时 对输入时钟产生不同的分频比 输出不同频率的时钟 以改变输出 信号的频率 本设计中数控分频模块是利用并行预置数的减法计数器对时基脉 冲进行分频 得到与 1 2 3 4 5 6 7 七个音符相对应的频率 数控分频模块原理图如图所示 CLK1 SPKS TONE1 10 0 数控分频模块原理图 其主要 VHDL 代码如下所示 BEGIN PROCESS CLK1 VARIABLE COUNT INTEGER RANGE 0 TO 8 BEGIN 皖西学院毕业论文设计 第 27 页 共 41 页 第 27 页 IF CLK EVENT AND CLK1 1 THEN COUTNT COUNT 1 IF COUNT 2 THEN PRECLK 1 ELSE CO

温馨提示

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

评论

0/150

提交评论