EDA课程设计--乐曲硬件演奏电路设计
eda乐曲硬件演奏电路课程设计
eda乐曲硬件演奏电路课程设计一、课程目标知识目标:1. 学生能够理解EDA乐曲硬件演奏电路的基本原理,掌握电路组成及各部分功能。
2. 学生能够描述常见电子元件在演奏电路中的作用,并运用相关知识分析电路性能。
3. 学生能够掌握编程软件及硬件设计工具,完成简单的EDA乐曲演奏电路设计。
技能目标:1. 学生能够运用所学知识,独立完成演奏电路的搭建与调试。
2. 学生能够通过编程软件,编写简单的乐曲程序,实现乐曲演奏。
3. 学生能够运用团队协作能力,共同解决演奏电路设计过程中遇到的问题。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子技术和音乐艺术的热爱,提高审美情趣。
2. 学生在学习过程中,养成积极探究、勇于创新的精神,增强实践操作能力。
3. 学生能够认识到科技与艺术的结合在生活中的应用,增强社会责任感和团队合作意识。
课程性质:本课程为实践性较强的课程,结合电子技术与音乐艺术,旨在培养学生的动手能力、创新思维和团队协作能力。
学生特点:本年级学生具备一定的电子技术基础知识,对音乐艺术有一定兴趣,好奇心强,善于动手实践。
教学要求:教师应注重理论与实践相结合,引导学生积极参与实践操作,鼓励学生创新思维,提高团队协作能力。
同时,关注学生的个体差异,因材施教,确保每位学生都能在课程中收获成长。
二、教学内容本课程教学内容主要包括以下三个方面:1. 理论知识学习:- 电路基础知识:回顾电路的基本概念、原理及电路图的识别。
- 电子元件介绍:学习常用电子元件的原理、功能及在演奏电路中的应用。
- EDA软件使用:介绍编程软件及硬件设计工具的使用方法,如Multisim、Proteus等。
2. 实践操作能力培养:- 电路搭建:学习演奏电路的搭建方法,熟悉各类电子元件的连接方式。
- 程序编写:编写简单的乐曲程序,掌握编程技巧,实现乐曲演奏。
- 调试与优化:对搭建的演奏电路进行调试,找出问题并进行优化。
3. 创新思维与团队协作:- 设计实践:运用所学知识,小组合作完成指定乐曲的演奏电路设计。
EDA课程设计---乐曲硬件演奏电路的VHDL设计
EDA课程设计题目:乐曲硬件演奏电路的VHDL设计一、 设计题目:乐曲硬件演奏电路的VHDL 设计二、 设计目标:1)能够播放“梁祝”乐曲。
2)能够通过LED 显示音阶。
3)具有“播放/停止”功能,并在此基础上实现“按键演奏”的电子琴功能。
三、 设计原理:1. 音乐基础知识一段简单乐谱由音调和节拍组成,音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
音符的节拍我们可以举例来说明。
在一张乐谱中,我们经常会看到这样的表达式,如1=C 44、1=G 43……等等。
以43为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。
比如:图1其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。
1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。
那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。
我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。
2.原理图框图:图2.框图3.原理图说明音乐播放原理说明音符的频率由数控分频器模块Speakera产生。
ToneTaba模块从NoteTabs模块中输入的音符数据,将对应的分频预置数据传送给Speakera模块,并将音符数据送到LED模块显示音阶。
NoteTabs模块中包含有一个音符数据ROM,里面存有歌曲“梁祝”的全部音调,在此模块中设置了一个8位二进制计数器,作为音符数据ROM的地址发生器。
这个计数器的计数频率为4Hz,即每一个数值的停留时间为0.25秒。
例如:“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即1秒钟时间,所对应的“3”音符分频预置数为1036,在Speakera的输入端停留了1秒。
eda乐曲演奏电路设计
eda乐曲演奏电路设计
设计一个eda乐曲演奏电路可以分为以下几个步骤:
1. 选择音频输入设备:首先需要选择合适的音频输入设备,如麦克风或乐器接口,用于将音频信号输入到电路中。
2. 音频信号处理:接下来,需要对音频信号进行处理,以便对其进行分析和控制。
可以使用模拟或数字信号处理技术来实现这一步骤。
3. 音符检测与转换:将处理后的音频信号输入到音符检测模块中,以检测出演奏中的音符和音高。
可以使用算法(如傅里叶变换)来实现音符检测,并将检测结果转换成数字形式,以便后续处理。
4. 控制信号生成:根据检测到的音符和音高,产生相应的控制信号。
可以使用模拟电路或数字信号处理器(DSP)来实现这一步骤。
5. MIDI信号输出:将控制信号转换成MIDI(Musical Instrument Digital Interface)格式的信号,以便将其与其他MIDI设备或乐器连接起来。
可以使用MIDI编码/解码器芯片实现这一步骤。
6. 音乐合成与演奏控制:利用MIDI信号控制MIDI设备或乐器,实现乐曲的合成与演奏。
可以使用MIDI合成器,MIDI 乐器模块或其他合成器设备来实现这一步骤。
在整个设计过程中,需要考虑信号处理的实时性、音质、精度等因素,并根据具体需求进行优化和调整。
电子课程设计 EDA课程设计 乐曲硬件演奏电路
电子课程设计——乐曲硬件演奏电路设计学院太原科技大学华科学院专业、班级电子信息工程姓名学号指导教师2011年12月目录一、设计任务与要求 (3)二、总框体图 (3)三、选择器件 (4)四、功能模块 (4)1、音乐数据模块 (4)2、音符控制输出模块 (7)3、音符译码模块 (8)4、数控分频器模块 (11)5、分频器模块 (12)6、译码模块 (13)五、总体设计电路图 (15)1、总体电路原理图 (15)2、管脚分配图 (15)3、电路仿真结果 (15)4、硬件验证 (16)六、设计心得 (17)七、附录 (19)乐曲硬件演奏电路设计一、设计任务与要求:1、实验内容利用可编程逻辑器件FPGA,设计乐曲硬件演奏电路,可自动演奏乐曲。
2、实验要求(1)利用数控分频器设计硬件乐曲演奏电路。
(2)利用给定的音符数据定制ROM“music”。
(3)设计乘法器逻辑框图,并在QuartusII上完成全部设计。
(4)将音乐通过实验箱上的喇叭播放出来。
(5)与演奏发音相对应的简谱码输出在数码管上显示。
二、总体框图设计思路:C调音阶频率表:同的预置数即可发出不同频率的声音。
由此,可以以此为设计基础。
设计一功能模块,能够将乐曲中的音符逐一以对应的频率以预置数的形式置入数控分频计中,即可利用该数控分频计产生不同的声音,演奏出设定好的音乐。
ROM中的音乐数据文件刚可由编辑好的音符填入MIF文件中再定制LPM_ROM将音符数据加载入ROM中,并设计程序在运行时自动读取ROM中的文件并置入数控分频器中。
当采用四四拍曲子时,每节拍持续时间为0.5秒。
置入数控分频器的速度也应与此同步或一致,避免音乐过快或过快慢而失真。
由已知的C调音阶频率表,各频率对应的预置数就与数控分频推动蜂鸣器发出声音的频率对应。
在编写数控分频器时,不仅要考虑预置数的输入方式,还要考虑输入的速度,以及驱动蜂鸣器发声的频率。
为了显示高音音调,可在音符预置数的译码过程中,同时译出高音音阶的信号,并利用LED灯输出信号。
乐曲硬件演奏电路EDA设计
摘要随着科学技术的飞速发展,微电子技术、集成技术和计算机技术也有了迅速的发展,电子系统的设计方法也随之发生变革,基于EDA技术的设计方法也成为现代电子系统设计的主流。
大规模可编程逻辑器件FPGA/CPLD是当今应用最广泛的两类可编程专用集成电路(ASIC)。
由于结构和工艺的改进,可编程ASIC 芯片上包含的资源越来越丰富,可实现的功能越来越强,它已成为实现电子系统集成化的重要手段。
特别是可编程逻辑器件的功能和容量的不断扩大,如FPGA(Field Programmable Gate Array,现场可编程门阵列)使集成电路的设计进入片上系统(System on a Chip,SOC)或可编程片上系统(System on a Programmable Chip,SOPC)的设计时代。
同时采用超高速集成电路硬件描述语言VHDL (Very High Speed Integrated Circuit Hard—ware Description Language),其具有多层次描述系统硬件功能的能力,既支持模块化设计,也支持层次化设计,使各种数字化电子系统的设计通过描述芯片功能实现系统功能,从而有效地缩短了产品开发周期,减少了设计芯片的数量,缩小了系统体积,降低了系统能耗,提高了系统的灵活性和可靠性。
关键词FPGA, 音乐节拍发生器模块,音乐译码电路模块,数控分频模块AbstractTechnically fly to soon develop along with science, micro-electronics technique, integration technique and calculator technique also had a quick development and the design method of electronics system also immediately took place a change and also become modern main current of design of the electronics system according to the EDA technical design rge-scale and programmable FPGA/CPLD of the logic spare part is nowadays to apply two types of most extensive programmable appropriation integrated circuits(ASIC).Because of the improvement of structure and craft, include on the programmable ASIC chip of the resources be more and more abundant, can carry out of the function be more and more strong, it has become to carry out electronics system the integration turn of important means.Function and capacity of especially programmable logic spare part continuously extend and make the design of integrated circuit get into a slice of top system(the System on a Chip, SOC) or programmable slice the top system(a Programmable of the System on Chip, SOPC) such as the FPGA(the Gate Array of the Field Programmable, the spot programmable door array) of design ages.Adopt in the meantime extremely high soon the integrated circuit hardware describe language VHDL(the Circuit Description Language of the Hard-ware of the Speed Integrated of the Very High), it has the system hardware of the multilayers description the ability of the function, since support the mold piece turn a design, also support layer's turn a design and make various numeral turn the design of electronics system to pass description chip function to carry out system function, thus and availably shortenned a product a development a period, reduced to design chip of amount, contracted a system physical volume, lowering system can consume and raised the vivid and credibility of the system.Keywords FPGA, the music rhythm occurrence machine mold piece, music translates the code electric circuit mold piece and the number controls the Pin mold of cent a piece目录摘要 (I)ABSTRACT (II)1引言 (1)1.1 ASIC技术 (1)1.2可编程专用集成电路ASIC (1)1.2.1 概述 (1)1.2.2主要特点 (1)1.2.3发展前景 (2)1.3EDA技术 (2)1.3.1概述 (2)1.3.2 EDA技术的发展趋势 (2)2乐曲演奏系统设计原理分析 (3)2.1乐曲演奏基本要求 (3)2.2乐曲演奏原理 (3)3系统硬件设计 (6)3.1FPGA的介绍 (6)3.1.1 FPGA的基本结构 (6)3.1.2 Altera公司的FPGA (6)3.2FLEX系列的结构特点 (7)3.2.1 概述 (7)3.2.2 FLEX的特点 (7)4乐曲硬件演奏电路的层次化设计方案 (8)4.1音乐节拍发生器N OTE T ABS (8)4.2音符译码电路T ONE T ABA模块 (13)4.3数控分频模块S PEAKERA设计 (15)4.4乐曲硬件演奏电路的顶层设计和仿真 (17)总结 (20)致谢 (21)参考文献 (22)附录 (23)1引言1.1ASIC技术ASIC(Application Specific Integrated Circuits)专用集成电路,与通用集成电路相比,它是面向专门用途的电路,以此区别于标准逻辑(Standard Logic)、通用寄存器、通用微处理器等电路。
eda课程设计 音乐播放器乐曲演奏电路 世上只有妈妈好
电子信息科学与技术专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页EDA课程设计报告1 设计任务及要求用VHDL语言设计音乐的节拍与音符产生电路;用VHDL语言设计分频系数、音符显示数据产生电路;用VHDL语言设计可控分频器电路;理解简易音乐播放器总体设计方案。
掌握基本的VHDL语言,理解简易音乐播放器总体设计方案。
掌握用VHDL 语言设计音乐的节拍与音符产生电路,掌握用VHDL语言设计分频系数、音符显示数据产生电路,掌握用VHDL语言设计可控分频器电路。
设计结果及原理图与原程序、电路仿真图。
能在实训系统上播放悦耳动听的音乐。
其基本要求及内容如下:一、用纯硬件的方法设计音乐演奏电路。
二、采用模块化设计的方法设计乐曲演奏电路。
三、能反复演奏程序中的“世上只有妈妈好”乐曲片段。
四、当改变时钟频率时乐曲播放的快慢节奏会发生变化。
五、数码管能显示当前的简谱码。
2设计原理及总体框图产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器来实现乐曲演奏要复杂的多,如果不借助于功能强大的EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。
根据设计要求,乐曲硬件演奏电路系统主要由数控分频器和乐曲存储模块组成。
数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。
乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。
其中,乐曲的每个音符的频率值,即音调,频率的高低决定了音调的高低。
音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。
在两个八度音之间,又可以分为十二个半音,每两个半音的频率比为21/12 ≈1.12246 。
音名A(简谱中的低音6)的频率为440Hz,音名B到C之间,E到F之间为半音,其余为全音。
EDA实验报告5_乐曲硬件演奏电路设计
EDA技术与应用实验报告姓名学号专业年级电子信息工程实验题目乐曲硬件演奏电路设计实验目的1.学习利用数控分频器设计硬件乐曲演奏电路2.掌握模块化和层次化的设计方法以及音符编码的设计思想实验原理1.一定频率的矩形波通过扬声器可以发出相应频率的声音,乐曲是由一系列的音符组成的。
所以,如果我们通过控制每个音符的发音频率值及其持续的时间,就可以以纯硬件的手段,利用这些数值来实现所希望演奏的乐曲。
2.该硬件演奏电路由三个模块构成<1>音符数据ROM的地址发生器模块NoteTabs.vhdl内置8位二进制计数器,作为ROM的地址发生器,计数频率4Hz,即每一计数值的停留时间为0.25s,恰为全音符设为1s时,四四拍的4音符持续时间。
随着NoteTabs中的计数器按4Hz的时钟速率作加法计数即地址值递增时,ROM中的音符数据将通过ToneIndex[3..0]输向ToneTaba模块,乐曲即开始演奏起来。
<2>乐曲简谱码对应的分频预置数查表电路模块ToneTaba.vhdlToneTaba为Speakera提供决定所发音符的分频预置数,此数在Speakera输入口停留的时间即为此音符的节拍值。
输入Index[3..0]可确定乐曲全部音符所对应的分频预置数(13个)每一音符的停留时间由NoteTabs模块的clk决定(4Hz)。
<3>决定每一个音符音调的数控分频器模块Speakera.vhdl输入端clk输入一较高频率(12MHz)的信号,经Speakera分频,再经2分频以展宽脉冲后,由SpkOut输出。
11位预置数Tone[10..0]决定由clk输入信号的分频比,SpkOut输出的频率决定每一音符的音调。
实验内容1.定制存放LPM-ROM模块Music,在连续地址上存放乐曲的音符数据,2.用vhdl文本输入法和元件例化语句完成NoteTabs.vhdl的设计,该模块包含音符数据ROM模块Music.vhdl3.完成ToneTaba.vhdl的设计,此模块给数控分频模块提供每个音符所对应的分频预置数,即计数初值4.完成Speakera.vhdl的设计,该模块是一个初值可变的加法计数器。
EDA课程设计——乐曲硬件演奏电路资料
《电子技术基础Ⅲ》项目设计报告课程名称任课教师设计题目乐曲硬件演奏电路设计班级姓名学号成绩日期一、题目分析1.设计要求利用FPGA,设计一硬件乐曲硬件演奏电路,能够利用硬件电路,自动播放音乐。
2.题目分析乐曲是由一连串的音符组成,而每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本因素。
所以,设计音乐发生电路,需要得到相应音符的频率值,及其持续时间。
如果能够得到这两个基本元素,利用程序来控制FPGA 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
所以,获取这两个要素是本实验的关键。
(1)频率值频率的高低决定了音调的高低。
由于乐曲都是由一连串的音符组成,因此按照乐曲的乐谱,依次输出这些音符相对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。
简谱的音名与频率的关系如下表:表1 简谱中的音名与频率的关系(2)时长这次设计中所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4Hz 的时钟频率即可产生四分音符的时长。
系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,如果在曲谱文件中某个音符为三拍音长,只要将该音符连续书写三遍,系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,这样就可以控制音乐的音长了。
二、设计方案1.顶层实体描述音乐播放器,是能够演奏一曲完整的乐曲,在外部时钟的作用下,产生相应频率的方波信号,即在乐曲中对应相应的音符。
并且信号要持续一定的时间,即对应乐曲中的节拍。
得到了音调和节拍后,就可以组成相应的乐曲了。
2.模块划分采用“自顶向下”的设计方法,将音乐播放器模块主要划分为地址发生模块、数控分频模块、music模块和预置数模块。
(1)地址发生模块:增地址计数器,用于产生地址数。
基于EDA的乐曲硬件演奏电路
6.4乐曲硬件演奏电路EDA设计6.4.1 设计要求利用可编程逻辑器件FPGA,设计一个乐曲硬件演奏电路。
由键盘输入控制音响,同时可自动演奏乐曲。
演奏时可选择键盘输入乐曲或者已存入的乐曲,并配以一个小扬声器。
其结构如图6-34所示,该设计产生的音乐选自"梁祝"片段。
图6-34 乐曲演奏电路结构方框图6.4.2 原理描述产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器(CPU)来实现乐曲演奏要复杂的多如果不借助于功能强大的EDA工具和硬件描述语言,凭借传统的数字逻辑技术,即使最简单的演奏电路也难以实现。
根据6.4.1的设计要求,乐曲硬件演奏电路系统主要由数控分频器和乐曲存储模块组成。
数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出。
乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由计数器的计数时钟信号作为乐曲节拍控制信号。
1 音名与频率的关系音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍.在两个八度音之间,又可分为十二个半音,每两个半音的频率比为4。
另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间,E到F之间为半音,其余为全音,由此可以计算出简谱中从低音1到高音1之间每个音名的频率如表6-3所示.由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。
若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大,若基准频率过高,虽然误码差变小,但分频结构将变大。
实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取舍合适的基准频率。
本例中选取4MHz的基准频率,若无4MHz的时钟频率,实际上,只要各个音名间的相对品频率关系不变,C作1与D作1演奏出的音乐听起来都不会“走调”。
各音阶频率及相应的分频系数如表6-4所示。
EDA乐曲硬件演奏电路设计-课程设计
E D A乐曲硬件演奏电路设计-课程设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN摘要乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设备。
实现方法有许多种,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。
如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。
使用现今的EDA软件工具来应付这些问题,并不是一件简单的事情。
FPGA预装了很多已构造好的参数化库单元LPM器件。
通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。
本课设在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以“两只老虎”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。
只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。
关键词:FPGA;EDA;VHDL;音乐目录设计要求........................................................................................ 错误!未定义书签。
1、方案论证与对比 ..................................................................... 错误!未定义书签。
方案一.................................................................................... 错误!未定义书签。
乐曲硬件演奏电路设计-verilog
EDA技术及创新实践(设计报告)题目: 乐曲硬件演奏电路设计姓名: 漩涡鸣人学院: 数理与信息工程学院专业: 电子科学与技术班级: 112 学号: 1886****20 指导教师: 汤大智2014年6 月一、设计目的及要求实验目的:1、理解音乐演奏的原理及分频器的原理与使用。
2、了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。
3、培养自主学习、正确分析和解决问题的能力。
要求:利用分频器设计硬件乐曲演奏电路;能通过数码管显示动态效果;通过一个开关实现两首乐曲的切换;在音乐播放的同时,会有led流水灯的闪烁。
二、设计原理乐曲演奏的原理是这样的:组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。
图1、顶层模块图其中,乐谱产生电路用来控制音乐的音调和音长。
控制音调通过设置计数器的预置数来实现,预置不同的数值可以使计数器产生不同频率的信号,从而产生不同的音调。
控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。
每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如2分音符,在记谱时将该音名连续记录两次即可。
1、音调的控制频率的高低决定了音调的高低。
音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。
在两个8度音之间,又可分为12个半音,每两个半音的频率比为12√2。
另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音[4]。
由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如表2所示:表2简谱中的音名与频率的关系所有不同频率的信号都是从同一个基准频率分频得到的。
由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。
EDA设计乐曲硬件演奏电路
HIGH <=' 0' ;- - 2047
新
WHEN "0001" => Tone<="01100000101" ; CODE<="0001";
HIGH <=' 0' ;- - 773;
WHEN "0010" => Tone<="01110010000" ; CODE<="0010";
HIGH <=' 0' ;- - 912;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY Songer IS
PORT ( CLK12MHZ : IN STD_LOGIC;
--
音调频率信号
ToneIndex : IN STD_LOGIC_VECTOR(7 DOWNTO 0); ―
―8 个按键输入
CODE1 : OUT
STD_LOGIC_VECTOR (3 DOWNTO 0);- - 简谱码输出显示
VHDL 是 常 用 的 HDL, 它 的 英 文 全 名 是 VHSIC“Very High Speed Integrated Circuit Handware Description Language (高 速 集成电路硬件描述语言)”,VHDL 语言具有很强的电路描述和 建 模能力, 能简化硬件设计任务, 提高设计的效率和可靠性。
serials EDA system from HongZhou KongXin electronic Inc, and explain how to design a music player circuit using a digital fre-
术 quency multiplex system. The readers can get familiar with VHDL hardware description language and Quartus II developing environ- ment.
EDA乐曲硬件演奏电路设计 课程设计
摘要乐曲演奏广泛用于自动答录装置、手机铃声、集团、及智能仪器仪表设备。
实现方法有许多种,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。
如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。
使用现今的EDA软件工具来应付这些问题,并不是一件简单的事情。
FPGA预装了很多已构造好的参数化库单元LPM器件。
通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。
本课设在EDA开发平台上利用VHDL语言设计数控分频器电路,利用数控分频的原理设计乐曲硬件演奏电路,并定制LPM-ROM存储音乐数据,以“两只老虎”乐曲为例,将音乐数据存储到LPM-ROM,就达到了以纯硬件的手段来实现乐曲的演奏效果。
只要修改LPM-ROM所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新定制LPM-ROM,连接到程序中就可以实现其它乐曲的演奏。
关键词:FPGA;EDA;VHDL;音乐目录设计要求 (1)1、方案论证与对比 (1)1.1方案一 (1)1.2方案二 (1)1.3综合对比 (1)2 乐曲演奏电路原理 (2)2.1 音乐演奏电路原理 (2)2.2 音符频率的获得 (2)2.3 乐曲节奏的控制 (3)2.4 乐谱发生器 (3)2.5 乐曲演奏电路原理框图 (3)3音乐硬件演奏电路的设计实现 (4)3.1 地址发生器模块 (4)3.1.1 地址发生器的VHDL设计 (4)3.2 分频预置数模块 (6)3.2.1 分频预置数模块的VHDL设计 (6)3.3 数控分频模块 (8)3.3.1 数控分频模块的VHDL设计 (8)3.4 music模块 (10)3.4.1 音符数据文件 (10)3.5.2 LPM-ROM定制 (12)3.6 顶层文件 (14)4 时序仿真及下载调试过程 (16)4.1 时序仿真图 (16)4.2 引脚锁定以及下载 (17)4.3调试过程及结果 (17)5扩大乐曲硬件演奏电路的通用性 (18)5.1 完善分频预置数模块的功能 (18)设计总结与心得体会 (21)参考文献 (22)乐曲硬件演奏电路设计设计要求利用FPGA,设计一个乐曲硬件演奏电路。
EDA课程设计-乐曲硬件演奏电路设计
课程设计名称:乐曲硬件演奏电路设计一、设计要求:利用数控分频器设计硬件乐曲演奏电路二、所用设备:计算机、MaxplusⅡ、下载实验箱(ZY11EDA13BE)三、设计原理:主系统由三个模块组成,其内部有三个功能模块:TONETABA.VHD、NOTABS.VHD和SPEAKERA.VHD。
本设计项目作为“梁祝”乐曲演奏电路的实现。
①组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,问题是如何来获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果音符的频率由U3---Speakera获得,这是一个数控分频器。
由其时钟信号输入端clk输入一具有较高频率(这里是12MHz)的信号,通过Speakera 分频后由SPKOUT输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需另加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。
Speakera对clk输入信号的分频比由11位预置数Tone[10...0]决定。
SPKOUT的输出频率将决定每一音符的音调,这样分频计数器的预置值Tone[10...0]与SPKOUT的输出频率就有了对应关系。
例如在ToneTaba模块中若取Tone[10...0]=1036,将发出音符为“3”音的信号频率。
②音符的持续时间需根据乐曲的速度及每个音符的接拍数来确定,模块ToneTaba的功能首先是为Speakera提供决定所发音符的分频预置数,而此数在Speakera输入口停留的时间即为此音符的节拍值。
模块ToneTaba是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs 的clk的输入频率决定,在此为4Hz。
这13个值的输出由对应于ToneTaba的4位输入值Index[3...0]确定,而Index[3...0]最多有16种可选值。
EDA 课程设计——乐曲演奏电路
出题教师:李天倩乐曲演奏电路一、 设计简要说明:用FPGA 器件驱动蜂鸣器演奏“梁祝”片段。
一首乐曲包含三个要素:乐曲声音频率,发音时间的长短,停顿的时间。
按照图1乐谱,设计相应电路控制speaker 信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。
图1 “梁祝”片段乐谱电路功能模块为:1、用分频电路产生不同频率方波;2、利用计数器实现speaker 信号频率选择,某一频率持续时间长短,各频率间间隔大小。
详细内容见教材《数字系统设计与Verilog HDL 》(第三版)P208相关内容。
二、 源代码及说明(参考)//"梁祝"乐曲演奏电路 //信号定义与说明: //clk_4Hz : 用于控制音长(节拍)的时钟频率; //clk_6MHz : 用于产生各种音阶频率的基准频率; //speaker : 用于激励扬声器的输出信号,本例中为方波信号;//high,med,low : 分别用于显示高音、中音和低音音符,各驱动一个数码管来显示。
module song(clk_6MHz,clk_4Hz,speaker ,high,med,low); input clk_6MHz,clk_4Hz; output speaker;output[3:0] high,med,low; reg speaker;reg[3:0] high,med,low; reg[7:0] counter;reg[13:0] divider ,origin; wire carry;assign carry=(divider==16383); always @(posedge clk_6MHz) begin if(carry) divider<=origin; else divider<=divider+1; endalways @(posedge carry)begin speaker<=~speaker;end //2分频产生方波信号356215521 6 1 3 56 52365132651 6 16 57always @(posedge clk_4Hz)begin case({high,med,low}) //分频比预置'b000000000011: origin<=7281;'b000000000101: origin<=8730;'b000000000110: origin<=9565;'b000000000111: origin<=10310;'b000000010000: origin<=10647;'b000000100000: origin<=11272;'b000000110000: origin<=11831;'b000001010000: origin<=12556;'b000001100000: origin<=12974;'b000100000000: origin<=13516;'b000000000000: origin<=16383;endcaseendalways @(posedge clk_4Hz)beginif(counter==63) counter<=0; //计时,以实现循环演奏else counter<=counter+1;case(counter) //记谱0: {high,med,low}<='b000000000011; //低音"3"1: {high,med,low}<='b000000000011; //持续4个时钟节拍2: {high,med,low}<='b000000000011;3: {high,med,low}<='b000000000011;4: {high,med,low}<='b000000000101; //低音"5"5: {high,med,low}<='b000000000101; //发3个时钟节拍6: {high,med,low}<='b000000000101;7: {high,med,low}<='b000000000110; //低音"6"8: {high,med,low}<='b000000010000; //中音"1"9: {high,med,low}<='b000000010000; //发3个时钟节拍10: {high,med,low}<='b000000010000;11: {high,med,low}<='b000000100000; //中音"2"12: {high,med,low}<='b000000000110; //低音"6"13: {high,med,low}<='b000000010000;14: {high,med,low}<='b000000000101;15: {high,med,low}<='b000000000101;16: {high,med,low}<='b000001010000; //中音"5"17: {high,med,low}<='b000001010000; //发3个时钟节拍18: {high,med,low}<='b000001010000;19: {high,med,low}<='b000100000000; //高音"1"20: {high,med,low}<='b000001100000;21: {high,med,low}<='b000001010000;22: {high,med,low}<='b000000110000;23: {high,med,low}<='b000001010000;24: {high,med,low}<='b000000100000; //中音"2"25: {high,med,low}<='b000000100000; //持续11个时钟节拍26: {high,med,low}<='b000000100000;27: {high,med,low}<='b000000100000;28: {high,med,low}<='b000000100000;29: {high,med,low}<='b000000100000;30: {high,med,low}<='b000000100000;31: {high,med,low}<='b000000100000;32: {high,med,low}<='b000000100000;33: {high,med,low}<='b000000100000;34: {high,med,low}<='b000000100000;35: {high,med,low}<='b000000110000; //中音"3"36: {high,med,low}<='b000000000111; //低音"7"37: {high,med,low}<='b000000000111;38: {high,med,low}<='b000000000110; //低音"6"39: {high,med,low}<='b000000000110;40: {high,med,low}<='b000000000101; //低音"5"41: {high,med,low}<='b000000000101;42: {high,med,low}<='b000000000101;43: {high,med,low}<='b000000000110; //低音"6"44: {high,med,low}<='b000000010000; //中音"1"45: {high,med,low}<='b000000010000;46: {high,med,low}<='b000000100000; //中音"2"47: {high,med,low}<='b000000100000;48: {high,med,low}<='b000000000011; //低音"3"49: {high,med,low}<='b000000000011;50: {high,med,low}<='b000000010000; //中音"1"51: {high,med,low}<='b000000010000;52: {high,med,low}<='b000000000110;53: {high,med,low}<='b000000000101; //低音"5"54: {high,med,low}<='b000000000110;55: {high,med,low}<='b000000010000; //中音"1"56: {high,med,low}<='b000000000101; //低音"5"57: {high,med,low}<='b000000000101; //持续8个时钟节拍58: {high,med,low}<='b000000000101;59: {high,med,low}<='b000000000101;60: {high,med,low}<='b000000000101;61: {high,med,low}<='b000000000101;62: {high,med,low}<='b000000000101;63: {high,med,low}<='b000000000101;endcaseendendmodule三、仿真结果四、硬件测试实验开发板(教改项目完成后可以提供相应平台)乐曲需要现场听五、思考题(指导教师根据学生完成思考题情况酌情加分)1、补完整个乐曲。
EDA课程设计——乐曲硬件演奏电路
《电子技术基础Ⅲ》项目设计报告课程名称任课教师设计题目乐曲硬件演奏电路设计班级姓名学号成绩日期一、题目分析1.设计要求利用FPGA,设计一硬件乐曲硬件演奏电路,能够利用硬件电路,自动播放音乐。
2.题目分析乐曲是由一连串的音符组成,而每个音符的发音频率值及其持续时间是乐曲能连续演奏所需的两个基本因素。
所以,设计音乐发生电路,需要得到相应音符的频率值,及其持续时间。
如果能够得到这两个基本元素,利用程序来控制FPGA 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
所以,获取这两个要素是本实验的关键。
(1)频率值频率的高低决定了音调的高低。
由于乐曲都是由一连串的音符组成,因此按照乐曲的乐谱,依次输出这些音符相对应的频率,就可以在蜂鸣器上连续地发出各个音符的音调。
简谱的音名与频率的关系如下表:表1 简谱中的音名与频率的关系(2)时长这次设计中所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4Hz 的时钟频率即可产生四分音符的时长。
系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,如果在曲谱文件中某个音符为三拍音长,只要将该音符连续书写三遍,系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,这样就可以控制音乐的音长了。
二、设计方案1.顶层实体描述音乐播放器,是能够演奏一曲完整的乐曲,在外部时钟的作用下,产生相应频率的方波信号,即在乐曲中对应相应的音符。
并且信号要持续一定的时间,即对应乐曲中的节拍。
得到了音调和节拍后,就可以组成相应的乐曲了。
2.模块划分采用“自顶向下”的设计方法,将音乐播放器模块主要划分为地址发生模块、数控分频模块、music 模块和预置数模块。
(1)地址发生模块:增地址计数器,用于产生地址数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.对于模块 ToneTaba,是乐曲简谱码对应的分频预置数查找表电路,其中设 置了乐曲的全部音符所对应的分频置数,每一音符的停留时间由音乐节拍和音调发 生器模块 NoteTabs 的 CLK 的输入频率决定,这些值由对应于 ToneTaba 的 4 位输入 值 Index[3..0]确定,最多有 16 种可选值。输向 ToneTaba 中 Index[3..0]的值 ToneIndex[3..0]的输出值与持续的时间由模块 NoteTabs 决定。
4. SEG7 模块是一个七段译码器,作用是在硬件上显示音频的高低,用 0 到 7 分别 对应空节拍、do、ri、mi、fa、suo、la、xi,高音时,LED 亮,数码管显示对应数字。
四、选择器件
1.EP1C12Q240C8 芯片及相应的连接设备 2.外置扬声器 3.7 段数码管 4.计算机 5.LED 灯一个
1.对于模块 NoteTabs 的功能描述:该模块的功能就是定义音符数据 ROM“music” 随着该模块中的计数器控制时钟频率速率作加法计数时,即地址值递增时,音符数据 ROM 中的音符数据。将从 ROM 中通过 ToneIndex[3..0]端口输向 ToneTaba 模块,演奏《寂寞 的季节》。在该模块中设置了一个 8 位二进制计数器(计数最大值为 197),作为音符数据 ROM 的地址发生器。这个计数器的计数频率为 4Hz,即每一计数值的停留时间为 0.25 秒, 恰为当全音符设为 1 秒时,四四拍的 4 分音符持续时间。
二、设计任务要求
本文介绍在 EDA 开发平台上利用 VHDL 语言设计数控分频器电路,利用数控 分频的原理设计音乐硬件演奏电路,并定制 LPM-ROM 存储音乐数据,以“感恩 的心”乐曲为例,将音乐数据存储到 LPM-ROM,就达到了以纯硬件的手段来实 现乐曲的演奏效果。只要修改 LPM-ROM 所存储的音乐数据,将其换成其他乐
太原科技大学:名字起个什么
曲的音乐数据,再重新定制 LPM-ROM,连接到程序中就可以实现其它乐曲的演 奏。
三、总体框图
分频器
NOTETABS
TONETABA
译码器
SPEAKERA
扬声器
该主系统由三个模块:Songer.vhd、div.vhd、SEG7.Vhd(7 段译码器)组成。 ①首先定制 Songer.Vhd,此模块包括 3 个小模块,分别是 NoteTabs 模块,ToneTaba 模 块,Speakera 模块,此外,我们还需建立一个名为“music”的 LPM_ROM 模块与 NoteTabs 模块连接。 ②根据给出的乘法器逻辑原理图及其模块的 VHDL 描述在 QUARTUS2 上完成设计。③完成 编译,综合,仿真,管脚分配,编程下载。
1:Songer 模块………………………………………………3 1)NoteTabs 模块(程序 仿真图)……………………5 2)ToneTaba 模块(程序 仿真图)……………………6 3)Speakera 模块(程序 仿真图)……………………8
2:diபைடு நூலகம் 模块(程序 仿真图)………………………………11 3:七段译码器模块(程序)………………………………13 六:总体设计电路图…………………………………………15 1.顶层设计的电路原理图…………………………………15 2.顶层设计的仿真结果……………………………………17 3.电路的管脚图……………………………………………18 七:结束语………………………………………………………19 八:心得体会……………………………………………………19
太原科技大学:名字起个什么
电子技术课程设计
————乐曲硬件演奏电路设计
学 院: 专业 班级: 姓 名: 学 号: 指导教师:
2009 年 11 月
太原科技大学:名字起个什么
目录 一:前言…………………………………………………….1 二:设计任务要求………………………………………………2 三:总体框图……………………………………………………2 四:选择器件……………………………………………………3 五:功能模块:…………………………………………………3
3.模块 Speakera 是一个数控分频器,音符的频率可由此模块获得。由 CLK 端输入 一具有较高频率的信号,通过 Speakera 分频后由 SPKOUT 输出。由于直接从数控分频器 中出来的输出信号是脉宽极窄的脉冲式信号。为了利用驱动扬声器,需加一个 D 触发器
太原科技大学:名字起个什么
以均衡其占空比,频率将是原来的 1/2。Speakera 对 CLK 输入信号的分频比由预置数 Tone 决定。SPKOUT 的输出频率将决定每一音符的音调。
五、功能模块
1.对于模块 Songer 《梁祝》乐曲简谱如下:
太原科技大学:名字起个什么
乐曲硬件演奏电路设计
一、前言
乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智能仪器仪表设 备。实现方法有许多种,在众多的实现方法中,以纯硬件完成乐曲演奏,随着 FPGA 集成度的提高,价格下降,EDA 设计工具更新换代,功能日益普及与流行, 使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的 压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结 构的独特性。使用现今的 EDA 软件工具来应付这些问题,并不是一件简单的事情。 FPGA 预装了很多已构造好的参数化库单元 LPM 器件。通过引入支持 LPM 的 EDA[1] 软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。