基于FPGA的音乐硬件演奏电路_第1页
基于FPGA的音乐硬件演奏电路_第2页
基于FPGA的音乐硬件演奏电路_第3页
基于FPGA的音乐硬件演奏电路_第4页
基于FPGA的音乐硬件演奏电路_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1 基于 FPGA 的音乐硬件演奏电路设计 李宁 渭南师范学院 物理与电气工程学院 电气工程及其自动化 2010 级 3 班 摘摘 要要 本设计是一种基于 FPGA 的音乐硬件演奏电路 该乐曲演奏电路是通过数控 分频器电路控制 FPGA 芯片的某个引脚输出音符所对应频率的方波 接上扬声器就能发出 各音符的音调 并且准确地控制乐曲中每个音符的持续时间 使乐曲能够完整并且连续的 播放出来 在此基础上加上数码管 将音符通过数码管显示出来 该设计可用于生活的各 个方面 比如手机铃声 mp3 等 提高人们的生活质量 关键词 关键词 FPGA 音乐硬件演奏电路 VerilogHDL 语言设计 QUARTUS II 9 0 EDA 技术 音乐硬件演奏电路已广泛应用于我们生活的各个角落 比如 mp3 手机铃 声等 为我们的生活带来了乐趣 同时也说明了现在的电子产品越来越发达 因此根据国家专业教学委员会对教育机构的要求 为了培养适应我国 21 世纪国 民经济发展需要的电子设计人才 同时基于国家教委面向 21 世纪电工电子课程 体系改革和电工电子工科教学基地建设两项教学改革研究成果 要求高等学校 学生能够自己动手完成简单数字器件的设计 这不但反应了我国当前在电子电 路的实验教学体系 内容和方法上的改革思路和教学水平的提高 更重要的是 在加强以传统电子设计方法为基础的工程设计训练的同时 使学生能够尽快掌 握现代电子设计自动化技术的新方法 新工具和新手段 系统的 科学的培养 了学生的实际动手能力 工程设计能力 创新能力 提高了学生的学习与设计 兴趣 本次设计在 EDA 开发平台 QUARTUS II9 0 上利用 verilog HDL 语言设计 数控分频器电路 采用 FPGA 驱动小扬声器 利用数控分频的原理设计音乐硬 件演奏电路 以 送别 为例 控制输出到扬声器的激励信号的频率的高低和 持续的时间 就可以使扬声器发声 同时用数码管实现音符的显示 1 EDA 技术介绍及其发展 1 1 EDA 技术的介绍 EDA 是电子设计自动化 Electronic Design Automation 缩写 是 90 年代 初从 CAD 计算机辅助设计 CAM 计算机辅助制造 CAT 计算机辅助 测试 和 CAE 计算机辅助工程 的概念发展而来的 EDA 技术就是以计算机 为工作平台 以 EDA 软件工具为开发环境 以 PLD 器件或者 ASIC 专用集成 电路为目标器件设计实现电路系统的一种技术 自动地完成逻辑编译 化简 分割 综合及优化 布局布线 仿真以及对于特定目标芯片的适配编译和编程 2 下载等工作 1 2 EDA 技术的发展 EDA 技术分为三个阶段 1 七十年代为 CAD 阶段 人们开始用计算机辅助进行一些模拟和预测 简单版图的绘制 PCB 布局布线 取代了手工操作 产生了计算机辅助设计的 概念 2 八十年代为 CAE 阶段 与 CAD 相比 除了纯粹的图形绘制功能外 在设计方法学 设计工具集成化方面取得了长足的进步 并且通过电气连接网 络表将两者相结合 实现了工程设计 CAE 的主要功能是 原理图输入 逻辑 仿真 电路分析 自动布局 布线 PCB 后分析 3 九十年代为 EDA 阶段 EDA 技术已经成为电子设计的普遍工具 EDA 的使用包括电子系统开发的全过程以及设计所涉及到的各个方面 21 世纪后 EDA 技术得到更快更好的发展 开始步入了一个新的时代 1 3 EDA 技术的发展趋势 目前的 EDA 产业正处在一场大变革的前夕 正因为更低成本 更低功耗的 要求和产品上市压力 使得 IC 供应商提供采用 0 13 m 或以下的千万门级的系 统芯片 这就更加迫使 EDA 供应商提供全新的设计工具和方法 然而 这些新 的需求为当代 EDA 工具和设计方法带来了不少新的挑战与机会 半导体工艺的 每一次跃升都促使 EDA 工具改变自己 以适应工艺的发展 反过来 EDA 工具 的进步又推动设计技术的发展 可以说 EDA 工具是 IC 设计产业的背后推手 系统芯片 SOC 正在迅速地进入主流产品的行列 由此引发的 芯片就等于 整机 的现象 将对整个电子产业形成重大的冲击 种种迹象表明 整个电子 产业正在酝酿着一场深刻的产业重组 这将为许多新兴的企业提供进入这一行 业的最佳 2 乐曲演奏电路简介及基本原理 乐曲演奏广泛用于手机铃声 集团电话及智能仪器仪表设备中 实现方法 有许多种 在众多的实现方法中 以纯硬件完成乐曲演奏且随着 FPGA 集成度 的提高 价格下降 EDA 设计工具更新换代 功能日益普及与流行 使用这种 方案的应用越来越多 PFGA 预装了很多已构造好的参数化库单元 LPM 器件 通过引入支持 LPM 的 EDA 软件工具 设计者可以设计出结构独立而且硅片的 使用效率非常高的产品 3 硬件电路的发声原理 每个乐曲都是由一连串的音符所组成的 想要使乐 曲发生 就要确定该乐曲所对应的音符 每个音符都对应相应的频率 只要控 制 FPGA 芯片的某个引脚输出音符所对应频率的方波 接上扬声器就能发出各 音符的音调 然而想要准确地演奏一首音乐 仅让扬声器发声是不够的 还必 须准确地控制乐曲中每个音符的持续时间 着两者就是乐曲能够连续演奏的两 个关键因素 3 方案设计与比较 3 1 设计内容 用 FPGA 器件驱动蜂鸣器演奏 送别 片段 一首乐曲包含三个要素 乐 曲声音的频率 发音时间的长短 停顿的时间 按照图 1 乐谱 设计相应电路 控制 speaker 信号的方波频率 某一频率持续时间长短 各频率间间隔大小 就 可以推动蜂鸣器演奏乐曲 图 1 送别 片段乐谱 3 2 设计方案比较 方案一 由单片机 AT89S52 来设计实现乐曲演奏电路 外围电源使用 5V 电源供电 时钟由 12MHz 的晶振产生 通过按键的状态来检测乐曲演奏的状态 中央处理器由 AT89S52 单片机来完成 乐曲演奏状态由七段数码管来模拟 这 种方案结构简单 比较易掌握 各部分电路实现起来野非常容易 在传统的乐 曲演奏设计中应用也较为广泛 其原理框图如图 2 4 图 2 单片机乐曲演奏原理图 方案二 基于现场可编程逻辑门阵列 FPGA 通过 EDA 技术 采用 VerilogHDL 硬件描述语言实现乐曲演奏电路设计 程序设计思想为 1 用频 电路产生不同频率方波 2 利用计数器实现 speaker 信号频率选择 某一频率 持续时间长短 各频率间间隔大小 其框图如图 3 图 3 乐曲演奏电路原理框图 3 3 方案论证 通过方案一 二的比较 可以看出方案一的设计使用的分立元件电路较多 因此会使电路调试困难度增加 且电路的不稳定性也会随之增加 而采用 FPGA 芯片实现该电路 在整体性上较方案一好 在信号的处理和整个系统的 控制中 方案二也能大大缩减电路的体积 提高电路的稳定性并且系统的调试周期 也能大大缩短 由于它们完全不同的工作原理 一般来讲 同样的逻辑 基于 FPGA 设计比基于单片机设计快很多 单片机是基于指令工作的 单片机的时 钟驱动着程序一步步的执行 而基于 FPGA 则是把相应的逻辑 暂时 固化为硬 件电路 而后的不响应速度就是电信号从一个管脚到另一个管脚的传播速度 同时电信号也要在芯片内进行一些栅电容的充放电动作 但这些动作都是非常 非常快的 3 4 方案选择 从目前的 EDA 技术来看 其特点是应用广泛 使用普及 软件功能强大 在 ASIC 和 PLD 器件方面 向高密度 超高速 低电压 低功耗方向发展 当 今社会人们对低故障 高实时 高可靠 高稳定性能更加青睐 综合本设计的 5 要求以及以上比较的情况 我们选择基于 FPGA 的乐曲演奏电路的设计方案 4 特殊器件的介绍 4 1 CPLD 器件介绍 CPLD 是 Complex Programmable Logic Device 的缩写 即复杂可编程逻辑 器件 它是有最早的 PLD 器件发展形成的高密度可编程逻辑器件 它的性能好 使用方便 CPLD 是基于与或阵列结构的 多采用 EEPROM 或 FLASH 工艺制 作 配置数据掉电后不会丢失 用户可根据自己的需要进行逻辑功能的构造 许多公司都开发出了 CPLD 可编程逻辑器件 比较典型的就是 Altera Lattice Xilinx 世界三大权威公司的产品 如 Altera 公司的 MAXII 器 件 就是其极具代表性的一类 CPLD 器件 是有史以来功耗最低 成本最低的 CPLD MAX II CPLD 基于突破性的体系结构 在所有 CPLD 系列中 其单位 I O 引脚的功耗和成本都是最低的 4 2 FPGA 器件的介绍 FPGA Field Programmable Gate Array 可以达到比 PLD 更高的集成度 它 是在 PAL GAL EPLD 等可编程器件的基础上进一步发展起来的 具有更复 杂的布线结构和逻辑实现 PLD 器件和 FPGA 的主要区别在于 PLD 是通过修改 具有固定内连电路得逻辑功能来进行编程 而 FPGA 是通过修改一根或多根分 割宏单元的基本功能块的内连线的布线来进行编程 它一般由可嵌入式阵列块 EAB 逻辑阵列块 LAB 快速互联通道 Fast Track IO 单元 IOE 组 成 由于 FPGA 是基于查找表 LUT 结构的器件 且每个 LAB 由 10 个 LE 组成 一个 LE 由 LUT 和寄存器组成 适合于时序逻辑电路的设计 4 3 CycloneEP1C12Q240C8 器件 EP1C12Q240C8 采用基于 1 5V 130nm 及全层铜 SRAM 工艺其密度增加至 20060 个逻辑单元 LE RAM 增加至 288KB 它不但具有锁相环 SDR DDR 和 RAM 所需的专用双数据率 DDR 接口 而且具有系统可编程性 其被动型的配置方式是在上电后由计算机通过编译后产生 SOF 文件 使用专用 的下载电缆配置电路 其主动型的配置是在上电后由专门的可编程配置电路自 动对 EP1C12Q240C8 进行配置 6 5 功能模块设计与说明 本设计由 FPGA 现场可编程门阵列 作为控制芯片 通过 VreilogHDL 硬件 描述语言设计 运用自顶而下的设计思想 按功能逐层分割实现层次化的设计 总体设计方案为 1 用分频电路产生不同频率方波 2 利用计数器实现 speaker 信号频率的选择 某一频率持续时间长短 各频率间间隔大小 下面介 绍主要模块的功能及作用 5 1 稳压电源电路 该稳压电路的作用是当电网电压波动 负载和温度变化时 维持输出直流 电压稳定 该电路可为晶振电路以及扬声器提供 3 3V 的稳定电压 驱动器件 工作 其原理图如图 4 所示 图 4 稳压电源电路 5 2 有源晶振电路 采用有源晶振作为时钟信号源 它是一个完整的振荡器 其内部除了石英 晶体外还有阻容软件和晶体管 有源晶振信号质量好 比较稳定 而且连接方 式比较简单 主要是作为电源滤波 通常使用的为一个电容和电感组成的 PI 型 滤波网络 输出端使用一个小阻值电阻过滤信号 串电阻可减小反射波 避免 反射波叠加引起过冲 减少谐波以及阻抗匹配 减小回波干扰及导致的信号过 冲 其原理图如图 5 所示 7 图 5 有源晶振电路 5 3 蜂鸣器电路 根据蜂鸣器输入信号频率的不同决定了其发声不同的原理 来设计一个由 数控分频器控制 BUZZER 发声的简单实验 数控分频器的预置值由乐曲的音调 的值来决定 从而间接地控制 BUZZER 得发声频率 其原理图如图 6 所示 图 6 蜂鸣器电路 5 4 七段数码显示电路 七段数码管和普通发光二极管的发光原理一样 为了进行直观显示而将普 通发光二极管封装在一起 能够进行 16 进制数字显示 有共阳极和共阴极之分 该设计采用共阴极的连接方式 在控制端输入高点平的时候发光 在输入低电 平的时候就不发光 其原理电路图如图 7 所示 8 图 7 七段数码管显示电路 6 软件实现 通过至顶向下 TOP DOWN 的设计方法 我们对电路的设计要求作了 分析 从电路要实现的功能着手 逐层分析电路设计的步骤 再具体到各个模 块的设计实现以及各模块实现方案的选择 6 1 音调的控制 频率的高低决定了音调的高低 由音乐的十二平均率规定可计算出简谱中 从低音 1 至高音 1 之间每个音名对应的频率如表 1 所示 表 1 简谱中音名与频率的关系 所有不同频率的信号都是从同一个基准频率分频而得到的 由于音阶频率 都为非整数 而分频系数又不能为小数 因此要将计算得到的分频数四舍五入 取整 实际的设计应在尽量减小频率误差的前提下取合适的基准频率 该乐曲各音阶频率及相应的分频比如表 6 2 所示 为了减小输出的偶次谐 波分量 最后输出到扬声器的波形应为对称方波 表 2 中的分频比就是从 频率 HZ 音名 1234567 低音261 6293 7329 6349 2392440493 9 中音523 3587 3659 3699 5784880987 8 高音1046 51174 71319 51396 9156817601975 5 9 6MHz 频率二分频得到的 3MHz 频率基础上计算得出来的 从表 6 2 可以看出 最大的分频系数为 11468 故采用 14 位二进制计数器 分频可满足需求 对于不同的分频系数 只要加载不同的预置数即可 对于乐 曲中的休止符 只要将分频系数设为 0 即初始值为 16383 即可 此时扬声器 将不会发声 采用加载预置数实现分频的方法比采用反馈复零法节省资源 实 现起来也容易些 表 2 各音阶频率对应的分频比及预置数 音 名分 频 比预 置 数音 名分 频 比预 置 数 低音 1114684915中音 5382712556 低音 2102156168中音 6340912974 低音 391027281中音 7303713346 低音 485917792高音 1286713516 低音 576538730高音 2255413829 低音 668189565高音 3227414109 低音 7607310310高音 4214814235 中音 1573610647高音 5191314470 中音 2511111272高音 6170514678 中音 3455211831高音 7151914864 中音 4428912094休止符016383 6 2 音长的控制 音符的持续时间根据乐曲的速度及每个音符的节拍数来确定 本次演奏的 送别片段 最短的音符为四分音符 如果将全音符的持续时间设为 1s 的话 则 只需要再提供一个 4Hz 的时钟频率即可产生四分音符的时长 根据乐曲演奏电 路的原理框图可知 乐谱产生电路用来控制音乐的音调和音长 控制音调通过 设计计数器的预制数来实现 预置不同的数值就可以使计数器产生不同频率的 信号 从而产生不同的音调 控制音长是通过控制计数器预置数的停留时间来 实现的 预置数停留的时间越长 该音符演奏的时间久越长 每个音符的演奏 时间都是 0 25s 的整数倍 对于节拍较长的音符 如二分音符 在记谱时将该 音名连续记录两次即可 6 3 音符显示 音符显示电路用来显示乐曲演奏时对应的音符 可用数码管显示音符 实 现演奏的动态显示 在该设计中 high 3 0 med 3 0 low 3 0 等信号分别用 10 于显示高 中 低音音符 为了使演奏能够循环进行 需要另外设置一个时长 计数器 当乐曲演奏完成时 保证能自动从头开始 7 总结 7 1 心得体会 通过本次设计 对 EDA 技术 对电子技术 对 quartusII 对 verilog 语言 我们都有了更深层次的认识理解 并从实践中感受到了 EDA 技术给我们设计者 带来的方便 回顾此次课程的设计 从不断的寻找书籍 网络上的查找到设计 电路 从制定好题目到完成整个设计 从理论到实践 我确实学到了很多东西 本次的设计让我明白了理论与实际相结合是很重要的 仅有所学的理论知识是 远远不够的 我们应该把所学的理论知识与实践相结合起来 从理论中得出结 论 才能真正提高自己的实际动手能力和独立思考的能力 并且在实践中我们 可以在查找资料的过程中学到许多以前在课本和课堂上所无法学到的并从中体 会到许多的乐趣 从而丰富了自己 也学到了更多 7 2 致谢 在这次的设计过程中我学到许多以前在课本上所无法学到的 特别是在本 次课程设计的过程中 无论是学习方面 生活方面都得到了老师与几位同学的 悉心指导与帮助 由于自己所学知识有限 有了你们的帮助才使得我我本次的 设计非常圆满的完成 在此对你们表示我最衷心的感谢 谢谢你们 指导教师 苏变玲 参考文献参考文献 1 康华光 陈大钦 电子技术基础数字部分 第四版 M 高等教育出版社 1987 45 59 2 潘松 EDA 技术实用教程 M 北京 科学教育出版社 2006 2 38 3 卢毅编著 VHDL 与数字电路设计 M 北京 科技大学出版 2001 38 40 4 侯佰亨 顾新编著 VHDL 硬件描述语言与实际应用 M 西安 西安电子科社 2000 269 280 5 谢自美 电子线路设计 第二版 M 华中科技大学出版社 2000 130 135 6 美 J Bhasker Verilog HDL 硬件描述语言 M 机械工业出版社 2000 1 126 7 王金明 数字系统设计与 verilog HDL 第四版 M 电子工业出版社 2011 264 270 Based on the FPGA hardware music playing circuit design LI Ning Cl

温馨提示

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

评论

0/150

提交评论