EDA简易电子琴设计
EDA简易电子琴

EDA上机实验报告简易电子琴学院:电子工程学院班级:020831简易电子琴1.系统原理框图扬声器在不同频率的信号驱动下将发出不同的声音。
本实验是利用实验板上的8个按键产生不同的音阶信号,按键不同时,不同的音阶信号产生不同的频率信号去驱动扬声器,从而实现电子琴的功能。
根据音乐理论,每个8度音之间可分为12个半音,每个半音之间的频率相差(0599.1212 Hz )。
若C 调第一个音名的频率为261.63Hz ,则各音名与频率以及2MHz 时钟的分频系数的关系如表所示。
表1—1音名与频率以及2MHz 时钟的分频系数的关系器产生按键编码信号;时钟分频器产生不同的分频系数,将输入时钟频率分频至各音名对应的频率值,从而驱动扬声器发出该频率的声音。
键盘输入扬声器2MHz 时钟输入图1—2 简易电子琴的系统框图图1—3为实现简易电子琴的顶层原理图。
其中,KEYBOARD 模块实现对键盘的编码,K[7..0]为键盘输入,SEL[2..0]为3位二进制编码输出,EN 为使能输出信号(高电平有效);M_FREQ 模块实现分频功能,CLK 为时钟输入,当SEL[2..0]编码输入不同,且EN 输入为高电平时,分频器产生不同的频率值,当SPK 输出为1时扬声器响,否则静音。
图1—3实现简易电子琴的顶层原理图2.模块设计①键盘编码器VHDL描述文件keyboard.vhd如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity keyboard isport(k: in std_logic_vector(7 downto 0); --8位键盘输入sel: out std_logic_vector(2 downto 0); --3位键盘编码输出en: out std_logic ---使能输出);end keyboard;architecture arc_keyboard of keyboard isbeginprocess(k)begincase k iswhen"11111110"=>sel<="001"; --按键,产生编码en<='1';when"11111101"=>sel<="010";en<='1';when"11111011"=>sel<="011";en<='1';when"11110111"=>sel<="100";en<='1';when"11101111"=>sel<="101";en<='1';when"11011111"=>sel<="110";en<='1';when"10111111"=>sel<="111";en<='1';when"01111110"=>sel<="000";en<='1';when others=> sel<="000";en<='0';end case;end process;end arc_keyboard;②时钟分频器VHDL描述文件m_freq,vhd如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity m_freq isport(clk,en:in std_logic;sel: in std_logic_vector(2downto 0); --3位键盘编码输入spk: out std_logic --扬声器控制信号输出);end m_freq;architecture arc_m_freq of m_freq issignal count_ld,count:std_logic_vector(12 downto 0);beginprocess(sel)begincase sel iswhen "000" => count_ld <= "0111011101110"; --3822when "001" => count_ld <= "1110111011011"; --7643when "010" => count_ld <= "1101001010101"; --6809when "011" => count_ld <= "1011110110010"; --6066when "100" => count_ld <= "1011001011101"; --5725when "101" => count_ld <= "1001111101101"; --5101when "110" => count_ld <= "1000111000000"; --4544when "111" => count_ld <= "0111111010000"; --4048when others => count_ld <= "0111011101110"; --3822end case;end process;processbeginwait until clk'event and clk='1'; --计数器同步清零if en='0' thencount<=(others=>'0');spk<='1'; --当计数值小于count_ld/2时,spk=’1’,且加1计数elsif count<('0'&count_ld(12 downto 1)) thencount<=count+1;spk<='1';--当计数值大于count_ld/2且小于count_ld时,spk=’0’,且加1计数elsif count<count_ld thencount<=count+1;spk<='0';--当计数值小于count_ld时,计数器清零,spk=’1’else count<=(others=>'0');spk<='1';end if;end process;end arc_m_freq;3.原理图和波形仿真图①键盘编码器的.bsf图:②时钟分频器的.bsf图:③简易电子琴的顶层原理图.bdf:⑤波形仿真图:⑴按键编码为’11111110’时波形图:⑵按键编码为’11111101’时波形图:⑶按键编码为’01111111’时波形图:其它的波形图也和这差不多,只要分别改变k[7]到k[0]的高低电平达到和编码的高低电平相同,然后仿真再看波形图。
eda课程设计简易电子琴

eda课程设计简易电子琴一、课程目标知识目标:1. 让学生了解EDA(电子设计自动化)的基本概念,掌握简易电子琴的设计原理;2. 使学生掌握电子琴电路的组成、工作原理和编程方法;3. 帮助学生理解电子琴音调、音量调节的电路实现方式。
技能目标:1. 培养学生运用EDA工具进行电路设计和编程的能力;2. 提高学生动手实践、团队合作和问题解决的能力;3. 让学生学会使用电子琴演奏简单曲目,培养音乐素养。
情感态度价值观目标:1. 激发学生对电子设计的兴趣和热情,培养创新精神和实践能力;2. 培养学生严谨、认真、负责的学习态度,养成良好的学习习惯;3. 引导学生关注科技发展,认识电子技术在生活中的应用,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合理论知识,注重培养学生的动手能力和创新能力。
学生特点:学生处于初中阶段,具有一定的物理、数学基础,对新鲜事物充满好奇心,但可能缺乏实际操作经验。
教学要求:结合学生特点,采用任务驱动法,引导学生主动探究、实践,注重理论与实践相结合,提高学生的综合能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 理论知识:- 电子元件基本原理:电阻、电容、二极管、三极管等;- 电子琴工作原理:振荡器、分频器、放大器、键盘扫描电路等;- EDA软件使用:原理图绘制、PCB设计、仿真测试等。
2. 实践操作:- 简易电子琴电路搭建:指导学生动手搭建电子琴电路;- EDA软件操作:教授学生使用EDA软件进行原理图绘制和PCB设计;- 编程与调试:教授学生编程方法,对电子琴进行调试。
3. 教学大纲:- 第一周:电子元件基本原理学习;- 第二周:电子琴工作原理学习;- 第三周:EDA软件使用教学;- 第四周:简易电子琴电路搭建与调试;- 第五周:总结与展示,学生进行作品展示,分享心得。
4. 教材章节:- 《电子技术基础》中关于电子元件、电路原理的相关章节;- 《电子设计自动化》中关于EDA软件使用的相关章节;- 《电子琴设计与制作》中关于电子琴工作原理和制作过程的相关章节。
基于EDA的简易电子琴设计-鲍亚文

基于EDA的简易电子琴设计鲍亚文(安庆师范大学物理与电气工程学院安徽安庆 246011)指导老师:郑江云摘要:本设计是一个简易的七音符电子琴,该电子琴可以通过按键输入来控制音调,也可对预置乐曲的自动演奏,同时由数码管显示即时音符。
系统的实现是基于EDA技术,在Quartus软件平台上,借助FPGA目标器件,用硬件描述语言Verilog HDL进行编程并仿真验证。
本设计中的电子琴可操作性好,音符显示直观,声音优美。
关键词:电子琴,电子设计自动化,Verilog HDL语言引言科技发展的日新月异,催生了一系列新奇实用的电子产品。
在这些电子产品中,电子琴早已成为电子乐器行列中的重要一员。
电子琴是人类仿制常规乐器的代表之一,其发明问世极大地丰富了人们的听觉感受,推动了音乐的普及和发展。
在信息化与电子化交织的今天,电子琴作为社会科技与文明的产物,正扮演着音乐领域中不可或缺的角色。
EDA技术的快速发展和成熟,FPGA等数字可编程器件的出现和进步,基于EDA技术的设计也变得愈加简单可行。
基于EDA技术的设计不仅系统可靠性较高,而且能实现较为复杂的功能。
运用EDA软件可方便地在计算机平台上实现设计与仿真,本设计中的电子琴便是基于EDA技术,运用Verilog HDL 语言设计完成的。
1 EDA概述与音乐知识1.1 EDA技术1.1.1 EDA的发展EDA(Electronic Design Automation,电子设计自动化)可以认识为在计算机工作平台上,以EDA 软件为开发环境,以PLD器件或ASIC专用集成电路为目标器件来设计实现电路系统的一门技术。
EDA 技术在逐渐进步,其大致经历了3个发展阶段:CAD阶段(20世纪70年代至80年代初)、CAE阶段(20世纪80年代初至90年代初)、EDA阶段(20世纪90年代以后)。
[1]EDA技术在进入21世纪后,得到了不小的进步和发展,突出表现在以下几个方面:[2](1)不断推出在仿真验证和设计两方面都支持标准硬件描述语言的EDA软件,功能更加强大且验证更加高效;(2) EDA技术使得电子设计成果以自主知识产权(IP)的方式予以确认,提高了设计成果的可重用性;(3)EDA技术使得电子领域各学科之间的界限更加模糊,互为包容,如模拟和数字、软件和硬件、系统和器件、ASIC和FPGA等;(4)SoPC(可编程芯片系统)进入实用化阶段;(5)高速数字信号处理算法可基于FPGA的DSP技术实现。
EDA简易电子琴设计报告

,、题目分析1、分析要求,确定总体方框图本设计基本部分是用VHDL语言设计一个简易的八音符电子琴,在Quartus II 平台下下载到Cyclone系列的EP1C12Q240C芯片中,该电路设计能够实现DO RE Ml、FA等八个音调的电子琴,发挥部分是设计一乐曲自动演奏器,用户自己编制乐曲存入电子琴,电子琴可以完成自动演奏。
电子琴音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。
根据系统设计要求,系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图1所示,它由乐曲自动演奏模块AUTO音调发生模块TONE和数控分频模块FENPIN三部分组成。
图1系统的整体组装设计原理图2、最终完成的技能指标(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。
(2)演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲】、选择方案通过可编程逻辑器件(PLD和VHDL硬件描述引言来实现电子琴的基本部分和发挥部分的设计。
对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得到各个音阶对应的频率最为输出。
当按下不同的键时发出不同的声音。
对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制(index数据存留时间)和音阶选择信号,即在此模块中可存放一一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
方案一:由单片机来完成设计。
可用单片机控制键盘的输入,以及产生相应的频率信号作为输出。
目前,单片机的功能已比较强大,集成度日益增高且其设计和控制比较容易。
但是由于在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,如锁存器,译码器等都需要单独的电路,因此整个系统显得十分复杂,抗干扰性差,在运行过程中容易死机或进入死循环,可靠性降低,而功耗费用增高。
数字电子EDA课程设计八音电子琴

数字电子EDA课程设计八音电子琴第一篇:数字电子EDA课程设计八音电子琴燕山大学EDA课程设计实验报告院系:信息科学与工程学院姓名:班级:学号:日期:[实验名称] 八音电子琴[实验要求] 1.能发出1.2.3.4.5.6.7.i八个音2.用按键作为键盘3.C调至B调对应频率如下表音调 C(高音)B A G F E D C频率(Hz)261.63x2 493.88 440.00 392.00 349.23 329.63 293.66 261.63 [实验电路设计] 1.命题分析根据命题的要求,要使扬声器发音,需要在其输入信号端连接一个对应频率的方波信号.实验使用的信号源可以提供从几Hz到几兆Hz不等的信号频率,自然可以想到本实验命题的关键是一个具有相应分频比的分频器.考虑到硬件(按钮)在实际工作过程中会因元件的接触产生一些不可避免的抖动脉冲电平,会对实验造成影响,因此需要在按键接入线路中安装防抖动电路.2.设计过程1>分频器为了取得合适的电路复杂度和可接受的误差范围,分频器的时钟信号选取为器件所提供的JPCK—1(3MHz音频信号).然后通过计算,用时钟信号频率除以各发音频率,得到的分频比如下表:分频比(16进制)5DEE 6384 6F84 7D62 8ADE 951C A760 BBDE频率(Hz)高C:261.63x2 B:493.88 A:440.00 G:392.00 F:349.23 E:329.63 D:293.66 C:261.63 利用四片十六进制计数器74LS161就可以连接成适用的分频器.分频器连接完成后会产生一个预定频率的周期脉冲.但是实验要求的方波其占空比应该为1:1,因此在输出脉冲端加装一个T触发器,每次脉冲到达触发器的时候输出便会跳变电平,这就达到了驱动扬声器的条件.但是在应用了T触发器后输出方波的周期比预定的扩大了一倍,也就是说频率减至原来的二分之一.此时应重新选择时钟信号,令其为原来2倍即可.根据实验指导书,最终确定选择的时钟信号为6MHz.2>防抖动电路利用D触发器的电压跟随特性可以用一个频率较低的时钟信号驱动,达到防止按键抖动的目的.电路较简单,见图3.图1.时钟分频电路(downway)图2.CP为375K时上图的B4输出波形由于设计的原因,本电路只能支持单音节输入.当同时键入两个以上的音阶时,分频比较小的(比较高的音阶)优先发声.图3.按键输入防抖动电路3>电路组合组合后的电路模块如图4.共有11个输入端和1个输出端.其中,CP_6M为整个电路的主频,使用电路板上的6MHz信号输出端;CP_1US为防抖动电路中触发器所使用的时钟,要求频率不高,选择电路板提供的CLK3-3(12Hz);KEYCa-B是电子琴的输入按键接口,依次是从低音到高音.Speaker是电路的输出端,接入扬声器,为其产生相应音阶的频率.实际电路如图4.连接完成后,对该电路进行仿真测试,如图5,令其CP_6M为6MHz,CP_1US为一个较低频率脉冲,设臵KEYB(音节B)为有效电平,在speaker上得到的输出频率为493,与实际音节的频率相同.图4.八音电子琴图5.电子琴完成品的仿真波形T触发器2分频电路[硬件测试] [实习心得] 第一感觉,数字电子技术EDA实习很有意思.我们可以有充分的时间去思考怎么做出一个东西,这个东西的用处也许不大甚至几乎没有,但重要的是思考的过程:从它的用途总结出它的特性,从它的特性构思出它的原理,从原理到构建模型,再到模型的实现,利用已有的知识,可用的元件,最终组合出一个具有高度逻辑性的组合电路,这和我们小时候玩搭积木差不多.把积木一块块的搭成一座城堡,中间缺少任何一层甚至任何一块,城堡都可能会倒塌.同理,在我们构建命题所给的元器件时任何一个逻辑错误都可能是致命的,导致最后无法出现正确结果或者干脆不能用.因此,实习,有意思的同时还不能大意.这是一个锻炼逻辑思维和思维严谨性的极好的机会,我和我的同学们在这次工作中受益非浅.大家都积极思思考,查找资料,集思广益来解决现有的问题。
音乐发生器及简单电子琴的eda设计 2

音乐发生器及简单电子琴的eda设计摘要本系统是采用EDA技术设计的一个简易的八音符电子琴和音乐发生器,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
系统由乐曲自动演奏模块、乐器演示模块琴/乐功能选择模块、音调发生模块和数控分频模块五个部分组成。
系统实现是用硬件描述语言VHDL按模块化方式进行设计,然后进行编程、时序仿真、整合。
本系统功能比较齐全,有一定的使用价值。
关键字电子琴;EDA;VHDL;音调发生;QuartusII;1 引言:1.1设计目的1)利用数控分频器设计一个电子琴硬件电路和音乐发生器2)演奏时可以选择是手演奏(键盘输入)或自动演奏已存入的乐曲,并且能自动重复演奏1.2设计的基本内容运用VHDL语言对简易电子琴的各个模块进行设计,并使用EDA 工具对各模块进行仿真验证。
本设计包含如下三个模块:乐曲自动演奏模块,音调发生模块,数控分频模块,最后把各个模块整合后,通过电路的输入输出对应关系连接起来2.1 EDA技术EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。
2.2 硬件描述语言——VHDL2.2.1 VHDL的简介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,诞生于1982年。
eda电子琴课程设计

eda电子琴课程设计一、课程目标知识目标:1. 学生能够理解并掌握EDA电子琴的基本结构和工作原理;2. 学生能够运用电子琴演奏简单的旋律,并识别不同音符的音高和时值;3. 学生能够了解并运用基本的音乐理论知识,如音阶、和弦等;4. 学生掌握音乐创作的基本方法,能够创作简单的电子琴曲目。
技能目标:1. 学生能够熟练操作EDA电子琴,进行基本演奏;2. 学生能够运用所学音乐理论知识,进行简单的曲目分析和创作;3. 学生能够在团队合作中,与他人共同演奏和创作音乐作品;4. 学生能够运用电子琴进行即兴演奏,提高音乐表现力。
情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐素养,树立正确的审美观念;2. 学生在学习和创作过程中,培养创新精神和实践能力;3. 学生通过团队合作,培养协作精神和沟通能力;4. 学生通过音乐学习,增强自信,勇于展示自我。
本课程针对小学四年级学生,结合电子琴教学实际,以趣味性和实用性为导向,注重培养学生的动手操作能力、音乐素养和团队协作精神。
通过本课程的学习,使学生能够在轻松愉快的氛围中掌握电子琴演奏技巧,提高音乐创作能力,激发学生对音乐的热爱和兴趣。
同时,课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 电子琴基础知识:介绍EDA电子琴的结构、功能键及操作方法,使学生了解电子琴的基本构成和演奏方式。
- 教材章节:第一章 电子琴概述- 内容列举:电子琴结构、功能键、演奏操作2. 音乐理论基础:学习基本的音乐符号、音阶、和弦等知识,为演奏和创作打下基础。
- 教材章节:第二章 音乐理论基础- 内容列举:五线谱、音符、音阶、和弦3. 电子琴演奏技巧:教授基本演奏技巧,如指法、音色选择、节奏控制等,提高学生的演奏能力。
- 教材章节:第三章 电子琴演奏技巧- 内容列举:指法、音色、节奏、动态4. 简单曲目演奏:选取适合学生程度的曲目,指导学生进行演奏练习,巩固所学知识。
EDA_电子琴课程设计 2(1).

《EDA技术实用教程》课程设计课程设计报告课题: EDA电子琴课程名称: EDA技术实用教程学院名称:物理电气信息学院班级: 2011级通信工程(1)班学生姓名:安昱学号: 12011243986 指导教师:杨泽林2013年12月26日EDA技术实用教程课程设计EDA电子琴摘要:本课程设计主要采用EDA技术设计一个简易的八音符电子琴,它可通过按键输入来控制音响从而演奏出已存入的乐曲。
在课程设计中,系统开发平台为Windows XP,程序设计采用VHDL语言,程序运行平台为Quartus II。
然后编写程序实现电子琴的各项功能,使不同的音阶对应不同频率的正弦波,按下不同的键时发出对应频率的声音。
程序通过调试运行,时序仿真,电路功能验证,顺利地实现了设计目标。
关键词:电子琴;EDA;VHDL;音阶;频率1、引言随着信息科学的进步,现代电子产品的性能越来越高,复杂度越来越大,更新步伐也越来越快,电子技术的发展进入了划时代的阶段。
其中电子技术的核心便是电子设计自动化EDA(Electronic Design Automatic)技术。
EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD 通用软件包,它根据硬件描述语言VHDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
本课程设计就是采用EDA技术描述语言VHDL编程实现简易电子琴的各项功能,是EDA技术应用于实际的一个很好的例子。
1.1 课程设计目的本课程设计主要是基于VHDL文本输入法设计乐曲演奏电路,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,通过按键输入来控制音响或者自动演奏已存入的歌曲。
系统由乐曲自动演奏模块、音调发生模块和数控分频模块三个部分组成。
系统实现是用硬件描述语言VHDL按模块化方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲。
EDA电子琴课程设计

EDA 电子琴课程设计1000字(As an AI language model, I can only provide the text in simplified Chinese as I am not able to generate texts in languages I am not trained for.)EDA电子琴课程设计一、课程背景与目标EDA电子琴课程是一门面向初学者的音乐教育课程。
该课程的主要目标是帮助学生了解电子琴的基本演奏方法和音乐知识,培养学生的音乐素养和演奏能力。
二、课程内容1. 电子琴的基本知识电子琴的基本构造、键盘的结构和尺寸、音色和声音效果的表达方式等相关基础知识。
2. 手指的基本运动包括手指的按键方法、按键力度、手指运动的节奏和速度等,以及在不同曲目中的应用。
3. 流行曲演奏方法基础曲目的演奏方法,并教授不同曲风和音乐风格的演奏方法,如流行、民谣、摇滚等。
4. 音乐基础知识包括音符、音阶、节奏、和弦、记号等,以及有关音乐表达和文化的一些知识。
三、课程特点1. 实用性强EDA电子琴课程以实用性为主要目标,帮助学生在最短时间内成功地学会电子琴的基本演奏技巧和音乐知识。
2. 用户体验好该课程采用现代化的在线教育理念,采用互动式教学方法,利用多媒体手段提高学生学习质量和体验。
3. 强调个性化针对不同年龄段和不同学生的个性,提供个性化的教学方案和教学内容。
同时,教师还会根据学生的进步和需求进行动态调整。
四、课程评价方式1. 以学生为中心EDA电子琴课程注重以学生为中心的教学模式,让学生成为课堂的主要参与者,在教师的引导下自主学习和探究。
2. 多元化评价对学生的成绩和表现采取多元化的评价方式,包括考试、作业、实践和上课表现等,使学生能够全面地了解自己的学习状况并不断提高。
五、总结EDA电子琴课程是一门具有实用性、个性化和多元化特点的音乐教育课程。
通过该课程的学习,学生可以快速初步掌握电子琴的基本演奏技巧和音乐知识,为开展音乐素养和演奏能力的培养打下基础。
简易电子琴的设计

简易电子琴的设计摘要本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计,该电子琴的设计大体可以由三个模块构成,分别是弹奏模块、分频模块和自动演奏模块。
用硬件描述语言VHDL编程可以实现各个模块的功能,不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。
系统实现是用硬件描述语言VHDL按照模块化方式进行设计,然后进行编程、时序仿真。
本文中介绍了电子琴系统部分的设计,采用了Xilinx公司研发的ISE14.6版本软件进行的模拟仿真,以仿真为主,验证简易电子琴的工作原理及最终结果。
关键词:八音符电子琴 EDA 硬件描述语言VHDL 模拟仿真AbstractThis system is the use of a simple eight-note keyboard design EDA technology, which is based on the principle of the computer system clock divider, using top-down design methodology to implement, it can control the audio through the key input. Multifunction keyboard design is a design based on the original expansion of the ordinary on the keyboard, the keyboard is designed to be roughly consists of three modules, namely, play modules, frequency module and automatic performance modules. VHDL hardware description language programming function of each module can be achieved, not only to achieve the piano and playing features, it can achieve "repeat" function that can store any piece of music, and you can instantly play it. System implementation is VHDL hardware description language designed in a modular way, and then be programmed timing simulation. This paper describes the design of the keyboard part of the system, using a simulation developed ISE14.6 version of Xilinx software to simulation-based, simple flower verify the working principle and the final result.Keyword: Eight-note keyboard EDAHardware Description Language VHDL Simulation目录1 引言 (3)1.1 设计的目的 (3)1.2 设计的基本内容 (3)1.2.1 EDA技术 (3)1.2.2 硬件描述语言——VHDL (4)1.3 乐理知识 (4)2 系统设计总体方案 (5)2.1 设计方案 (5)2.1.1 自动演奏模块设计 (5)2.1.2 弹奏模块设计 (6)2.1.3 分频模块设计 (6)2.2 顶层结构 (6)3 结果与总结 (7)3.1 仿真结果 (7)3.2 项目总结 (7)参考文献 (7)4 附录 (8)4.1 各个模块的程序代码 (8)4.1.1 自动演奏模块程序代码 (8)4.1.2 弹奏模块程序代码 (10)4.1.3 分频模块程序代码 (11)4.1.4 顶层设计 (13)4.1.5 仿真波形文件程序代码 (14)4.2 各个模块的原理图 (15)4.2.1 自动演奏模块 (15)4.2.2 弹奏模块 (15)4.2.3 分频模块 (15)4.3 小组成员的贡献 .................................................. 错误!未定义书签。
EDA课设--简易电子琴

目录1 概述 (1)1.1 设计背景和意义 (1)1.2 设计任务 (1)1.3 设计要求 (1)2 原理设计及层次划分 (2)2.1 工作原理 (2)2.2 层次划分 (2)3 软件设计 (5)3.1 乐曲自动演奏模块代码设计 (5)3.2 音调发生模块代码设计 (6)3.3 数控分频模块代码设计 (7)3.4 顶层模块代码设计 (8)4 仿真及测试 (9)4.1 乐曲自动演奏模块仿真 (9)4.2 音调发生模块仿真 (9)4.3 数控分频模块仿真 (9)4.4 顶层模块仿真 (10)4.5 原理图综合时序仿真 (10)5 总结 (11)6 参考文献 (12)1 概述1.1 设计背景和意义EDA技术是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
1.2 设计任务利用所学的EDA设计方法设计简易电子琴,熟练使用QUARTUSⅡ应用软件,进一步学习使用VHDL语言、原理图等EDA设计方法进行综合题目的方法。
1.3 设计要求①设计一个简易的八音符电子琴,它可通过按键输入来控制音响。
②演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。
③能够自动演奏多首乐曲,且每首乐曲可重复演奏。
④它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。
2 原理设计及层次划分2.1 工作原理本课程设计目的在于灵活运用EDA技术编程实现一个简易电子琴的乐曲演奏,它要求在实验箱上构造一个电子琴电路,不同的音阶对应不同频率的正弦波。
按下每个代表不同音阶的按键时,能够发出对应频率的声音。
故系统可分为乐曲自动演奏模块(AUTO)、音调发生模块(TONE)和数控分频模块(FENPIN)三部分。
数电EDA简易电子琴Verilo

数电EDA简易电子琴Verilog- 设计.数字电子技术课程设计--简易电子琴设计专业班级:电子姓名:学号:日期: 2015.6.5一、设计任务用Verilog HDL语言设计简易电子琴。
(1)单独从左至右按下S1-S7每个按键后能够各自对应发出“哆来咪发唆啦西”的音乐声;(2)按下最右边按键(S8),同时再配合按下S1-S7键后,发高八度的对应音;(3)按键需要进行“消抖”处理;(4)外部输入脉冲信号频率为1mhz;(5)扩展要求:自主设计(增加低8度功能)。
二、实验目的1、学习verilogHDL语言的基本运用,能够利用其进行简单编程;2、学习使用QuartusⅡ7.0的基本操作,能够利用其进行简单的设计;3、结合实践加深对理论知识的理解。
三、设计原理1)喇叭的振动频率不同,导致产生不同的声音;振动频率越低,声音越低沉,振动频率越高,声音越尖锐。
题目中音乐基本音的“哆”对应频率为523Hz 、“来”对应频率为587Hz 、“咪”对应频率为659Hz 、“发”对应频率为698Hz 、“唆”对应频率为784Hz 、“啦”对应频率为880Hz 、“西”对应频率为998Hz。
低8度音:基本音频率/2,例如低音1的频率为523/2=261.5Hz。
高8度音:基本音频率×2,例如高音1的频率为523×2=1046Hz.。
不同的频率产生利用给定的时钟脉冲来进行分频实现。
(2)消抖的原理:按键默认输入逻辑‘1',当有按键按下时对应的输入为逻辑‘0'(但会存在抖动),当FPGA开始检测到该引脚从‘1'变为‘0'后开始定时(按键抖动时间大约10ms),定时时间结束后若该引脚仍然为‘0'则表示确实发生按键按下,否则视为抖动而不予以理会;按键松开过程的消抖处理和按下时原理一样。
)原理框图3(.四、程序设计消抖模块module xiaodou(key_in,key_out,clk); input key_in;input clk;output key_out;reg key_out;reg [2:0]presta;integer q;parameter s0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101,s6=3'b110,s7=3'b111;always@(posedge clk)begincase(presta)s0:beginkey_out<=0;q<=0;if(key_in==1)presta<=s0;elsepresta<=s1;ends1: beginkey_out<=0;if(q>9999)presta<=s2;elseq<=q+1;ends2:beginkey_out<=0;q<=0;if(key_in==1)presta<=s0;elsepresta<=s3;ends3:beginkey_out<=1;q<=0;if(key_in==0)presta<=s3;elsepresta<=s4;ends4:beginkey_out<=1;if(q>44444)presta<=s5;elseq<=q+1;ends5:beginq<=0;if(key_in==1)presta<=s0;elsepresta<=s3;ends6:beginpresta<=s0;ends7:beginpresta<=s0;endendcaseendend module按键模块module anjian(a,b,c,d,e,f,g,h,i,qout); input a,b,c,d,e,f,g,h,i;output [10:0] qout;reg [8:0] q;reg [10:0] qout;always@(a or b or c or d or e or f or g or h or i) beginq[0]=i;q[1]=h;q[2]=g;q[3]=f;q[4]=e;q[5]=d;q[6]=c;q[7]=b;q[8]=a;endalways@(q)begincase(q)9'b100000000:qout<=11'b01110111100;9'b010000000:qout<=11'b01101010011;9'b001000000:qout<=11'b010********;9'b000100000:qout<=11'b010********;9'b000010000:qout<=11'b010********;9'b000001000:qout<=11'b010********;9'b000000100:qout<=11'b00111110101;9'b100000010:qout<=11'b00111011110;9'b010000010:qout<=11'b00110101010;9'b001000010:qout<=11'b00101111011;9'b000100010:qout<=11'b00101100110; 9'b000010010:qout<=11'b00100111111; 9'b000001010:qout<=11'b00100011100; 9'b000000110:qout<=11'b00011111011;9'b100000001:qout<=11'b11101111000; 9'b010000001:qout<=11'b11010100110; 9'b001000001:qout<=11'b10111101110; 9'b000100001:qout<=11'b10110011000; 9'b000010001:qout<=11'b10011111100; 9'b000001001:qout<=11'b10001110000; 9'b000000101:qout<=11'b01111101010;9'b000000011:qout<=11'b00000000000; 9'b000000001:qout<=11'b00000000000; 9'b000000000:qout<=11'b00000000000; 9'b000000010:qout<=11'b00000000000; default:qout<=qout;endcaseendendmodule分频模块module fenpin(clk_1M,yuzhi,pl_out); input clk_1M;input [10:0]yuzhi;reg [10:0]q;output pl_out;reg pl_out;always@(posedge clk_1M)beginif(yuzhi>0)beginif(q<yuzhi)beginq<=q+1;pl_out<=0;endelsebeginq<=11'b00000000000;pl_out<=1;endendelsebeginq<=11'b00000000000; pl_out<=1;endendendmodule五、原理图及仿真波形图六、心得体会由于之前对本次设计所需知识了解较少,所以在实验过程中遇到了很多的困难,真的很难,但是同样在解决各种困难的过程中也有所收获。
eda简易电子琴课程设计

eda简易电子琴课程设计一、课程目标知识目标:1. 学生能理解并掌握EDA简易电子琴的基本组成结构及其工作原理。
2. 学生能掌握基础电子元件的使用,如电阻、电容、二极管、三极管等,并能运用到电子琴的制作中。
3. 学生能理解并运用基础的电子音乐理论知识,如音符、音阶、和弦等。
技能目标:1. 学生能够独立完成EDA简易电子琴的组装和调试。
2. 学生能够通过编程实现对电子琴音调的控制,具备初步的编程能力。
3. 学生能够运用所学的电子琴知识创作简单的音乐作品,提高动手实践能力。
情感态度价值观目标:1. 学生通过动手实践,培养对电子科技的兴趣,提高创新意识和团队合作精神。
2. 学生在创作过程中,体验科技与艺术的结合,培养审美观念和艺术修养。
3. 学生在课程学习过程中,树立正确的价值观,认识到科技发展对生活的改善,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合电子技术与音乐艺术,旨在培养学生的动手能力、创新意识和团队合作精神。
学生特点:六年级学生具备一定的认知能力和动手能力,对新鲜事物充满好奇,喜欢动手实践。
教学要求:教师需注重理论与实践相结合,关注学生的个体差异,鼓励学生主动探究,培养学生的创新思维和解决问题的能力。
同时,注重课程目标的分解与落实,确保学生能够达到预期学习成果。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 电子琴基础知识- 了解EDA简易电子琴的组成结构,包括键盘、主控板、音源、功放等。
- 学习基础电子元件(电阻、电容、二极管、三极管等)的功能和选型。
- 掌握基础的电子音乐理论知识,如音符、音阶、和弦等。
教学内容关联教材章节:第二章 电子元件与电路基础2. 电子琴制作与调试- 学习使用面包板进行电路搭建,掌握EDA简易电子琴的组装方法。
- 学习编程控制电子琴音调,实现不同音符的演奏。
- 学习调试电子琴,解决制作过程中遇到的问题。
教学内容关联教材章节:第三章 数字电路与编程基础、第四章 电子琴设计与制作3. 音乐创作与展示- 运用所学知识创作简单的音乐作品,进行小组内分享与评价。
EDA设计电子琴设计

湖南人文科技学院课程设计报告课程名称:EDA技术与VHDL设计题目:简易电子琴系别:通信与控制工程系专业:电子信息工程班级: 2010 级1班学生姓名: 刘滨蒋卓学号: 10409121 10409123起止日期: 2013年6月13日~2013年6月27日指导教师:田汉平岳舟教研室主任:侯海良指导教师评语:指导教师签名:年月日成绩评定项目权重成绩刘滨蒋卓1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总成绩教研室审核意见:教研室主任签字:年月日教学系审核意见:主任签字:年月日摘要本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。
系统由频率选择模块、分频模块和扬声器输出模块三个部分组成。
系统实现是用硬件描述语言VHDL按模块化方式进行设计,然后进行编程、时序仿真、整合。
本系统功能比较齐全,有一定的使用价值。
关键词:电子琴;EDA;VHDL目录.课程设计的目的 (1).设计要求 (1).开发工具简介 (1)(1) EDA技术 (1)(2)硬件描述语言—VHDL (2)1、方案论证与对比 (4)1.1方案一 (4)1.2方案二 (4)1.3方案三 (4)2、各功能块电路及工作原理 (6)2.1实体部分 (6)2.2节拍显示 (6)2.3频率选择模块 (6)2.4分频模块 (7)2.5扬声器输出模块 (8)2.6 波形仿真 (8)3、心得与总结 (10)4、参考文献 (11)5、附录 (12)简易电子琴设计·课程设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。
EDA电子琴设计

EDA电子琴设计简介EDA电子琴,是一种基于电子技术的模拟乐器,利用数字信号处理技术实现各种音色的效果。
本文档将介绍EDA电子琴的设计流程,并提供相关的电路图和PCB布局文件。
设计流程EDA电子琴的设计流程主要包括以下几个步骤:1.需求分析:根据客户需求和市场需求确定所需的功能和性能参数。
例如,音色的种类和数量、键盘的大小和布局、输出接口等。
2.原理设计:根据需求分析确定的功能和性能参数,设计EDA电子琴的原理电路图。
例如,采样电路、滤波电路、AD/DA转换电路、MIDI接口等。
3.电路图设计:根据原理电路图,绘制EDA电子琴的各个电路组成部分的电路图。
例如,PWM输出电路、混响电路、调制电路等。
4.PCB设计:将电路图转换为PCB布局图,设计EDA电子琴的PCB布局。
需要考虑电路板大小、部件数量、功率消耗、电源接口等因素。
5.制造和测试:将PCB布局导出为Gerber文件,送至PCB厂家制造出EDA电子琴的电路板。
然后进行电子元件的贴装、引脚焊接、测试等制造过程。
6.调试和优化:对EDA电子琴进行软件和硬件的调试和优化,检查各种功能和效果是否正常工作。
7.批量生产:对EDA电子琴进行批量生产,并配备说明书和保修服务。
电路图与布局电路图以下是EDA电子琴的主要电路图://请在此处插入电路图,采用Markdown语法。
PCB布局以下是EDA电子琴的PCB布局文件://请在此处插入PCB布局文件,采用Markdown语法。
设计一款EDA电子琴需要经过多个环节的精心设计和制造,涉及到硬件和软件方面的知识。
本文档提供EDA电子琴的主要设计流程和相关的电路图和布局文件,希望能够为对此感兴趣的读者提供一些参考和帮助。
EDA 电子琴课程设计.

EDA课程设计基于VHDL文本输入法的乐曲演奏电路的设计摘要本课程设计主要采用EDA技术设计一个简易的八音符电子琴,它可通过按键输入来控制音响从而演奏出已存入的乐曲。
在课程设计中,系统开发平台为Windows XP,程序设计采用VHDL语言,程序运行平台为MAX+plusⅡ。
然后编写程序实现电子琴的各项功能,使不同的音阶对应不同频率的正弦波,按下不同的键时发出对应频率的声音。
程序通过调试运行,时序仿真,电路功能验证,顺利地实现了设计目标。
关键词电子琴;EDA;VHDL;音阶;频率Abstract The main use of this curriculum design EDA technology to design a simple eight-note organ, it can be key to control the audio input so as to have been deposited in a concert of music. In the course design, system development platform for Windows 2000, the procedures VHDL design language, platform for running MAX + plus Ⅱ. And then program to achieve the various functions of the organ, so that different scale corresponds to a different frequency sine wave, press different keys when the voice of the corresponding frequency. Running through the debugging process, timing simulation, functional verification circuit, successfully achieved the goal of the design. Key Words Electric piano; EDA; VHDL; scale; frequency1 引言随着信息科学的进步,现代电子产品的性能越来越高,复杂度越来越大,更新步伐也越来越快,电子技术的发展进入了划时代的阶段。
EDA课设电子琴设计.

武汉理工大学《电子线路EDA》课程设计课程设计任务书学生姓名: - 专业班级:电子科学与技术0903班指导教师:李成军工作单位:信息工程学院题目: 简易电子琴设计初始条件:QUARTUS 软件,微机, EDA-IV型实验箱。
课题要求:结合所学的知识,利用QUARTUS采用VHDL语言设计乐曲演奏电路,可以演奏8个音符:1、2、3、4、5、6、7、1。
课题内容:时间安排:1、2011年6月11日集中,听老师作课设安排与报告格式要求说明。
2、2012年6月12日至6月16日,选好课题,学习相关资料,开始课设。
3、2012年6月17日至6月19日,进行硬件调试。
4、2012年6月20至6月21日,撰写实验报告。
5、2012年6月22日,检查硬件,进行答辩,提交设计报告。
设计一个简易的八音符电子琴,可以通过按键输入来控制蜂鸣器输出不同音调。
指导教师签名: 2012年月日系主任(或责任教师)签名: 2012年月日武汉理工大学《电子线路EDA》课程设计目录摘要 (3)Abstract (4)绪论 (5)1设计简介 (6)1.1 课程设计的目的 (6)1.2 课程设计的内容 (6)2.VHDL简介 (7)2.1 VHDL的特点 (7)2.2VHDL特点 (8)2.3VHDL设计流程 (8)3程序过程 (9)3.1设计总体模块 (9)3.2模块原理及程序 (9)4波形仿真 (12)5总结体会 (13)参考文献 (14)附录源程序 (15)武汉理工大学《电子线路EDA》课程设计摘要随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。
作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA 有个全面的认识。
本程序设计的是简易电子琴的设计。
采用EDA作为开发工具,VHDL语言为硬件描述语言,QUARTUS作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。
基于EDA数字电路的电子琴设计报告

Civil Aviation University of China数字音乐电路设计的实验总结报告Music electronic design experiment prepare report专业:计算机科学与技术学号:110341328学生姓名:田野所属学院:计算机2013/10/28一.设计要求设计一个简易的八音符电子琴,通过弹击按键演奏音乐,实现单曲循环播放和低音的7个发声。
二.设计思路电子琴的发生原理是:某个琴键按下去的时候控制电路给扬声器输出固定的频率信号。
利用这一原理,首先设计一个分频电路Frequency,并封装成一个独立的模块;然后再利用Frequency这一分频电路,将实验箱上自带的48MHZ的标准频率分出一750KHZ的基准频率,在此基础上进行详细分频得到各个音阶,为了保证输出的频率信号能够驱动扬声器工作特意加入了一个二分频的电路,并将加入二分频电路的分频电路封装成名为MUSICAL_NOTE的模块。
利用以上两个自制的模块和QuartusⅡ自带的LPM_CONSTANT强大宏模块就可以完成第一个功能(七音按键),再加入一个按键除颤、循环计数和乐谱频率文本就可以实现乐曲的自我播放。
综上,分频、音频电路、按键除颤和乐曲文本是本实验最主要的功能模块,其中分频电路是最基本的电路,乐曲文本是根据音频表对乐谱的翻译,音频电路则是建立在分频电路的基础上,同时也是该实验最重要的一个模块。
各模块的电路设计图均在后面进行叙述。
三.实验电路图1.MUSICAL_NOTE模块本模块调用了Frequency模块,P[15..0]用于接收初始值,key_in是一个外部按键,用于告诉这个模块是否要进行工作,中间的74160则用于设定固定频率。
2.Frequency模块由于SmartEDA实验箱仅提供一个48MHZ的标准频率,所以设计了下图的能够得到任何频率的分频电路,用于实现750K、1KHZ、100HZ、10HZ、8HZ、4HZ、2HZ频率,而最后的74161目的是得到占空比为50%的方波信号。
eda电子琴课程设计

eda电子琴课程设计一、课程目标知识目标:1. 学生能理解EDA电子琴的基本工作原理,掌握电子琴的构造及各部分功能。
2. 学生能掌握基本的电子琴演奏技巧,如音阶、和弦的演奏。
3. 学生能了解并运用电子琴的音色、节奏变化进行创作。
技能目标:1. 学生能运用电子琴进行简单的曲目演奏,提高演奏技能。
2. 学生能通过电子琴进行音乐创作,培养创新意识和动手能力。
3. 学生能通过小组合作,与他人协作完成一首乐曲的演奏。
情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐素养,增强审美能力。
2. 学生在课程中培养耐心、细心和团队协作精神,提升个人品质。
3. 学生通过音乐表达自己的情感,学会尊重他人,培养良好的人际交往能力。
课程性质:本课程以实践操作为主,理论讲解为辅,注重培养学生的动手能力和创新能力。
学生特点:五年级学生,对新鲜事物充满好奇心,具备一定的音乐基础,喜欢动手实践。
教学要求:结合学生特点,注重课程趣味性,激发学生学习兴趣,鼓励学生积极参与,培养创新意识和团队协作精神。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,教学内容分为以下三个部分:1. 电子琴基础知识:- 电子琴的构造及各部分功能- 电子琴的基本工作原理- 音色、节奏的选择与运用关联教材章节:第一章 电子琴概述2. 电子琴演奏技巧:- 音阶、和弦的演奏方法- 基本指法训练- 简单曲目的演奏关联教材章节:第二章 电子琴演奏技巧3. 音乐创作与团队协作:- 运用电子琴进行音乐创作- 小组合作完成乐曲的演奏- 舞台表现与情感表达关联教材章节:第三章 音乐创作与团队协作教学进度安排:1. 电子琴基础知识(2课时)2. 电子琴演奏技巧(4课时)3. 音乐创作与团队协作(4课时)教学内容注重科学性和系统性,结合教材章节,由浅入深地展开。
在教学过程中,教师需根据学生的接受程度,适时调整教学进度,确保学生充分掌握所学知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合肥工业大学电子科学与技术专业《集成电路课程设计》简易电子琴设计一、 实验目的使用VerilogHDL 语言进行前端设计,并使用Quaruts 软件在GW48-PK2实验上实现仿真,实现硬件电子琴。
电子琴要求有8个音阶,使用外部时钟信号3MHz ,能同步显示音阶。
二、设计要求1、 设计一个简易电子琴。
要求能演奏的音域为D 调的do 到E 调do 。
2、 用GW48-PK2中的8个按键作为琴键。
3、 GW48-PK2中有蜂鸣器。
4、 可以使用GW48-PK2上的12MHz 作为输入时钟信号三、设计思路通过可编程逻辑器件(PLD )和VHDL 硬件描述语言来实现电子琴的基本要求。
设计的主体是数控分频器,对输入的频率按照与每个音阶对应的分频系数进行分频,得到各个音阶对应的频率分别在蜂鸣器和数码管上以声音和频率数值的形式作为输出。
四、设计组成与原理下图为系统的工作原理框图。
分频置 数按 键分 频器12MHZ蜂 鸣 器数码管显示五、模块设计1.音名与频率的关系音乐的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。
在2个八度音之间,又可分为12个半音。
灵位,音符A(简谱中的低音6)的频率为440HZ,音符B到C之间、E到F之间为半音,其余为全音。
由此可以计算出简谱中所有的音符的频率,在这我们只需计算出中音1到高音1的频率即可。
如下所示:表一简谱音名与频率的对应关系由于各音符对应的频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。
若分频器时钟频率过低,则由于分频系数过小,四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但分频数将变大。
实际的设计应综合考虑两方面的因素,在尽量减少频率误差的前提下取合适的时钟频率。
本实验要求用12MHZ的时钟脉冲信号,所以不必考虑这方面的因素。
实际上,只要各个音符间的相对频率关系不变,弹奏出来的音调听起来是不会走调的。
2.分频系数与初始值(预置数)本例设计的音乐电子琴选取12MHZ的系统时钟频率。
在数控分频器模块中,由于数控分频器输出的波形是脉宽极窄的脉冲波,为了更好地驱动扬声器发生,减少输出的偶次谐波分量,在到达扬声器之前需要均衡占空比,从而生成各音符对应频率的对称方波输出。
这个过程实际上进行了一次二分频,频率变为原来的二分之一,即6MHZ。
因此,分频系数的计算可以按照下面的方法进行。
以中音1为例,对应的频率值为523.3HZ,它的分频系数应该为:Divider=6MHz/523.3=6*106 /523.3=11466至于其他音符,同样由上式求出对应的分频系数,这样利用程序可以轻松地得到相应的乐声。
各音名对应的分频系数如下表:表二各音名对应的分频系数由于最大的分频系数为11466,故采用14位二进制计数器已能满足分频要求。
将分频系数设为0,其初始值为16383(214 -1 )即可,此时扬声器不会发声。
对于不同的分频系数,加载不同的初始值即可。
本实验参考王金明:《Verilog HDL程序设计教程》,采用差值法进行分频。
把差值作为初始值,为不同音阶的发声的来源。
各音名对应的初始值如下表:表三各音名对应的初始值3.数控分频器数控分频器是对基准频率进行分频,得到与各个音阶对应的频率输出。
数控分频模块是由一个初始值可变的14位加法计数器构成,该计数器的模为214=16384,当计数器记满时,产生一个进位信号,该信号就是用作发音的频率信号。
其分为预分频和脉冲展宽两部分。
a)预分频assign preclk=(divider==16383)?1:0;always@(posedge clk)beginif(preclk)divider=origin;elsedivider=divider+1;endb) 脉冲展宽(二分频)always@(posedge preclk)beginspeaker=~speaker;目的是将预分频产生的占空比很小的波形进行拓宽,使得波形有足够长的高电平来驱动扬声器。
六、实验仿真(一)测试使用的仪器与软件仪器康芯GW48系列EDA设备-----GW48-PK2实验电路图和适用范围:本实验适用模式3,其结构图如下1.Altera 公司的Cyclone 系列的EP2C5T144C8芯片2.康芯教学实验箱 软件 Quartus IIQuartus II 是Altera 公司的综合性PLD 开发软件,支持原理图、VHDL 、VerilogHDL 以及AHDL (Altera Hardware Description Language )等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD 设计流程 以下为使用Quartus II 软件得到的RTL 级视图CLOCK9CLOCK5CLOCK2CLOCK0实验电路结构图NO.3译码器译码器译码器译码器译码器译码器译码器译码器D9D16D15D14D13D12D11D10D8D7D6D5D4D3D2D1PIO8PIO9PIO10PIO11PIO12PIO13PIO14PIO15S P E A K E R扬声器12345678目标芯片FPGA/CPLD PIO0PIO1PIO2PIO3PIO4PIO5PIO6PIO7键1键2键3键4键5键6键7键8PIO15-PIO8PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16(二) 测试方法注:选择模式3,此模式下按键为琴键式,适合本实验演奏。
1.打开QuartusⅡ软件,file-NewProjectWizard-选择程序e_piano2.2.Assignment-Device-设置芯片为CycloneⅡ系列的EP2C5T144C83.定义管脚如下下图为管脚定义界面4.定义完成后再次编译,再执行Programmer,选中e_piano.sof,开始下载。
下图为编译下载界面5.下载完成后控制按键,观察音调准确,声音清晰,数码管能够正常显示音调。
七、实验总结根据老师的要求,我们先一起通过所学知识讨论了设计原理,不懂的问了下其他同学,最后定制出了大致计划。
在具体设计过程中,我们根据步骤逐次检验,查阅了有关资料,主要包括王金明:《Verilog HDL程序设计教程》以及潘松,黄继业,潘明的《EDA技术实用教程》在初次编写分频模块时候,使用的是比较基本的计数器分频法,编写程序后在modelsim软件中进行了仿真,发现无法观察到分频情况。
经过分析,原因是由于分频比过大,因此在波形图中很难观察到。
而且由于预分频的占空比很小,更难以观察到高电平。
在原因找到后,为了考察程序的性能,我们将输入频率减小。
同时适当缩小分频比,这样就得到了模块仿真中的分频波形。
通过此次实验,我们不仅学会了Quartus II软件的使用方法,还对集成电路设计有了更深的认识,对专业知识得到了加强。
同时认识到了自己的不足,比如有些知识已经模糊,所以有待于复习,所谓“温故而知新”,我们要学习的东西还很多。
这次的学习将对自己以后的研究生学习和将来的工作有很大的帮助,也是一次实践的锻炼!参考文献1.王金明:《Verilog HDL程序设计教程》2.潘松,黄继业,潘明《EDA技术实用教程》3.其他网上资料附录:程序源代码//信号定义与说明://clk:用于产生各种音阶频率的基准频率;//key:电子琴音符输入端口;//speaker:用于激励扬声器的输出信号,本例中为方波信号;//med,high:分别用于显示中音,高音音符,各驱动一个数码显示管和LED来显示;//origin:为数控分频模块提供音符频率的初始值;module dianziqin(clk,key,speaker,med,high);input clk; //12MHZ input [7:0] key;output speaker;output high; //高音显示 output [3:0] med; //中音显示 reg [13:0] divider; //分频系数和初始值 reg [13:0] origin;reg speaker;reg high;reg [3:0] med;wire preclk;assign preclk=(divider==16383)?1:0; //14位,对时钟频率进行预分频always@(posedge clk)beginif(preclk)divider=origin;elsedivider=divider+1;endalways@(posedge preclk)beginspeaker=~speaker;//进行2分频,拓宽波形,产生方波信号endparameter do=8'b00000001,re=8'b00000010,mi=8'b00000100,fa=8'b00001000,so=8'b00010000,la=8'b00100000,xi=8'b01000000,do_=8'b10000000;//状态编码,采用独热码编码方式always@(key) //分频比预置case(key)do: beginorigin=4917;med=1;high=0;endre: beginorigin=6167;med=2;high=0;endmi: beginorigin=7282;med=3;high=0;endfa: beginorigin=7793;med=4;high=0;endso: beginorigin=8730;med=5;high=0;endla: beginorigin=9565;med=6;high=0;endxi: beginorigin=10309;med=7;high=0;enddo_: beginorigin=10650;med=1;high=1;enddefault:beginorigin=16383; high=0;endendcaseendmodule。