基于EDA技术设计的一个简易的八音符电子琴.doc

基于EDA技术设计的一个简易的八音符电子琴.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简易电子琴的设计报告 学院: 物电学院 班级: 08(27) 姓名: 孟倩 学号: 日期: 2011-6-28 指导老师:康素成 目 录 一.实验目的 2 二.设计要求 2 三.设计的基本内容 2 四.简易电子琴设计过程 2 1.简易电子琴的工作原理 2 2.简易电子琴的工作流程图 2 3.简易电子琴中各模块的设计 2 3.1 乐曲自动演奏模块 2 3.2 音调器发生模块 2 3.3 数控分频模块 2 3.4 顶层设计 2 五.程序代码分析 2 1.顶层VHDL程序 2 2.音阶发生器VHDL程序 2 3. 数控分频模块VHDL程序 2 4. 自动演奏模块VHDL程序 2 六.实验操作内容及步骤: 2 1、打开QuartusⅡ,创建jtxhd工程 2 2.引脚分配 2 七.设计心得和体会 2 八、参考文献 2 一.实验目的 1. 在掌握基础上,EDA技术。 2. 掌握VHDL硬件描述语言的设计方法和思想用硬件描述语言VHDL按模块化方式进行设计,进行编程设计的EDA 工具对进行仿真验证音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T= 216--5﹡105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值 图的工作原理图 图的)) 乐曲自动演奏模块的作用是产生8位发声控制输入信号。当进行自动演奏时,由存储在此模块中的8位二进制作为发声控制输入,从而自动演奏乐曲。这段模块的原理图如图3.1所示: 3.1 乐曲自动演奏模块原理图 3.2 音调器发生模块 音调发生模块的作用是产生音阶的分频预置值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音阶的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。这段模块的原理图如图3.2所示: 图 3.2 音调发生器模块原理图 3.3 数控分频模块 数控分频模块对时基脉冲进行分频,得到1、2、3、4、5、6、7七个音符对应的频率。该模块的VHDL程序中包含了三个过程。首先对FPGA的32MHZ的时基脉冲进行分频得到8MHZ的脉冲,然后按照tonel输入的分频系数对8MHZ的脉冲再次分频,得到所需要的音符频率。第三个进程的作用是音调输出时再进行二分频,将脉冲展宽,使扬声器有足够发声功率。这段模块的原理图如图3.3所示: 图 3.3 数控分频模块原理图 3.4 顶层设计 顶层模块由乐曲自动演奏、音调发生器和数控分频器三个模块组成,把以上各个模块进行整合,最后我们得到了系统的整个工作原理图,如图3.4: 3.4 简易电子琴的顶层设计原理图 五.程序代码分析 1.顶层程序 --文件名:top.vhd --功能:顶层文件 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity top is Port ( clk32MHz :in std_logic; --32MHz系统时钟 handTOauto : in std_logic; --键盘输入/自动演奏 code1 :out std_logic_vector(6 downto 0); --音符显示信号 index1 :in std_logic_vector(7 downto 0); --键盘输入信号 high1 :out std_logic; --高低音节信号 spkout :out std_logic); --音频信号 end top; architecture Behavioral of top is component automusic Port ( clk :in std_logic; Auto: in std_logic; index2:in std_logic_vector(7 downto

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档