网站大量收购独家精品文档,联系QQ:2885784924

基于FPGA的简单音乐电路设计教案分析.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 基于FPGA的简单音乐电路设计 ? 要求 理解运用VHDL硬件描述语言和Quartus II开发工具进行音乐电路设计的方法 ( 知识点 理解音乐电路总体方案设计方法 理解音乐电路各模块设计方法 ( 重点和难点 理解音乐电路各模块设计方法 引言 音乐电路广泛用于自动答录装置、手机铃声、集团电话及智能仪器仪表设备中。随着CPLD/FPGA 集成度的提高,价格下降, EDA 设计工具更新换代,功能日益强大,以CPLD/FPGA实现乐曲演奏电路会越来越多。本章将引导学生应用VHDL语言设计一个音乐电路。 9.1 工作任务的陈述与背景 一、工作任务的陈述 使用层次化设计方法,设计并用FPGA实现一个能循环播放乐曲的音乐电路。 二、工作任务的背景 据有关媒体介绍,中国的第一颗人造卫星东方红一号卫星,于1965年开始研制,1970年4月24日进入太空轨道,该星重量超过了苏、美、法、日等前4个国家第一颗卫星重量的总和,在某些技术方面超过上述4个国家第一颗卫星的水平,开创了中国航天史的新纪元。  东方红一号重173公斤,设计寿命为14天,实际寿命达到20天,1970年5月14日停止发送信号。关键技术包括《东方红》乐音装置、短波天线遥测系统等4项。其中电子乐音发生器是全星的核心部分,它通过20兆赫兹短波发射系统反复向地面播送“东方红”乐曲的前八小节全世界的人都能听得到。东方红乐音装置任务中国科学院自动化所的一个小组。他们首先考虑,用什么样的方法来模拟出“东方红”乐曲。当时有三种方案提上了台面,一种是八音盒方案,它采用机械齿轮播放音乐;另一种就是把音乐录在磁带机上,但是当时中国还没有小磁带机,都是笨重的大磁带机,不可能装上卫星升空;因此第三种方案自然就是电子音乐,这也是后来被广泛接受的一种方案。?上级,只让卫星播放《东方红》前八个小节的旋律。小组决定在四十秒内连续播放两遍这八个小节,然后发射机就切换成遥测信号,用一个发射机就可以实现交替传送乐曲和遥测信号的目的。东方红乐音装置乐音装置最重要“音的高低”和“音的长短” 图9-1 音乐电路设计总体参考方案 其中的两个时钟频率取值,下面再做分析。 三、决策 本音乐电路设计重点在可控分频模块和控制电路模块的设计,故只讨论这两个模块以及顶层模块的设计方案的选择。 可控分频模块设计方案的选择 (1)等占空比非等占空比占空比,等占空比非等占空比等占空比偶数分频、数分频偶数分频、奇数分频数分频偶数分频奇数分频数分频非等占空比偶数分频、奇数分频等占空比偶数分频、奇数分频偶数等占空比分频非等占空比分频分频等占空比奇数分频偶数奇数分频数分频偶数分频非等占空比分频分频数分频LPM_ROM来存储对应于不同计数值的音符序号。 VHDL输入设计法和原理图输入设计法的选择 本任务,底层模块采用VHDL输入设计法较简单,而顶层模块采用VHDL输入设计法或原理图输入设计法都可。 四、实施 下面用用于演奏“梁祝”乐曲的音乐电路为例,对音乐电路各模块的实施进行进一步的分析。 (一)控制电路模块 控制电路模块包含节拍产生模块和音符产生模块两子模块,可合写成一个文件。 1.节拍产生模块设计分析 根据以上分析,此模块为一计数器,现在需进一步决定计数器的模及其输入时钟频率。 根据乐曲“梁祝”的简谱,此乐曲以四分音符为一拍,四拍为一节,所有的音的音长的最小公因数是一个十六分音符时值,所以以十六分音符时值作为一个状态持续时间,把乐曲“梁祝”中各个音所占据状态个数累加而得知节拍产生模块计数器的模是139,其中最后休止符用了三个时间单位。 乐曲“梁祝”的简谱没有明确标出演奏速度,根据经验设定一分钟演奏60拍,因此一拍持续时间即四分音符的时值为一秒,一个状态持续时间即一个十六分音符时值为0.25秒。故节拍产生模块输入时钟周期为0.25秒,频率为4Hz。 2.音符产生模块设计分析 音符产生模块的功能是将节拍产生电路的计数器的计数值按照乐曲“梁祝”的简谱翻译成对应的音符,若用Counter表示计数器的状态,Index表示音符符号,可把乐曲“梁祝”的简谱出现的音规定如下: 表9-1 音符与Index、LED数据的对应关系 低音 中音 高音 音名 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 Index 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 那么,根据乐曲“梁祝”的简谱可得其真值表如下: 表9-2音符产生模块真值表 Counter:Index Counter:Index Counter:Index Counter:Index Counter:Index 00: 3 ; 01: 3 ; 02: 3 ; 03: 3; 04: 5; 05: 5; 06: 5;

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档