欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    硬件电子琴电路设计.docx

    • 资源ID:17827499       资源大小:481.40KB        全文页数:28页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    硬件电子琴电路设计.docx

    1、硬件电子琴电路设计江西理工大学应用科学学院SOPC/EDA综合课程设计报告设计题目: 硬件电子琴电路设计设 计 者: 学 号: 班 级: * * 完成时间: 2011-1-04设计报告综合测试总评格式(10)内容(40)图表(10)答辩(20)平时(20)一、设计任务与要求 1二、总体框图 2三、选择器件 5四、功能模块 61.Songer模块 61.1NoteTabs模块 61.2ToneTaba模块 111.3Speakera模块 132.div模块 163.七段译码器模块 18五、总体设计电路图211.顶层设计的电路原理图 212.顶层设计的仿真结果 233.电路的管脚图 23六、结束语

    2、24七、心得体会25硬件电子琴电路设计一、设计任务与要求使用FPGA设计一模拟电子琴键,实现电子琴按键的DO,Re,Mi,Fa,Sol,La,Si等中音以及相应的高音。二 、总体框图系统设计方案:方案一:采用单个的逻辑器件组合实现。这样虽然比较直观,逻辑器件分工鲜明,思路也比清晰,一目了然。但是由于元器件种类、个数繁多,而过于复杂的硬件电 路也容易引起系统的精度不高、体积过大等不利因素。例如八个不同的音符是由八个不同的频率来控制发出的,而采用方案一就需要运用不同的分频器来对信号进行不同程度的分频。所用仪器之多显而易见。方案二: 采用VHDL语言编程来实现电子琴的各项功能。系统主要由电子琴发声模

    3、块、选择控制模块和储存器模块组成。和方案一相比较,方案二就显得比较笼统,只是把整个系统分为了若干个模块,而不牵涉到具体的硬件电路。但是我们必须看到用超高速硬件描述语言VHDL的优势,它不仅具有良好的电路行为描述和系统描述的能力而且通俗易懂。经过对以上两种方案的分析、比较和总结,我们选用方案二来进行八音符电子琴的设计。 八音符电子琴设计总体框图,如图1: 图1 八音符电子琴设计总体框图该系统由三个模块:Songer、Div和SEG7(7段译码器)组成。1. Songer模块:此模块包括3个小模块,分别是NoteTabs模块,ToneTab模块和Speakera模块。此外,还需建立一个名为“mus

    4、ic”的LPM_ROM模块与NoteTabs模块连接。(1) NoteTabs模块:该模块的功能就是定义音符数据ROM“music”随着该模块中的计数器控制时钟频率速率作加法计数时。将从ROM中通过ToneIndex3.0端口输向ToneTaba模块,演奏采茶舞曲。(2) ToneTaba模块:是乐曲简谱码对应的分频预置数查找表电路,其中设置了乐曲的全部音符所对应的分频置数,每一音符的停留时间由音乐节拍和音调发生器模块NoteTabs的CLK的输入频率决定,这些值由对应于ToneTaba的4位输入值Index3.0确定,最多有16种可选值。输向ToneTaba中Index3.0的值ToneIn

    5、dex3.0的输出值与持续的时间由模块NoteTabs决定。(3) Speakera模块:是一个数控分频器,音符的频率可由此模块获得。由CLK端输入一具有较高频率的信号,通过Speakera分频后由SPKOUT输出。由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号。为了利用驱动扬声器,需加一个D触发器以均衡其占空比,频率将是原来的1/2。Speakera对CLK输入信号的分频比由预置数Tone决定。SPKOUT的输出频率将决定每一音符的音调。 2. Div模块:由于所使用的硬件设备不能满足设计所需要的两个CLK输出的频率,所以使用一个分频器来实现把一个50MHz的晶体振荡频率分成一个

    6、12MHz,一个8Hz两个分频率,再把两个频率分别给所需的两个模块。3. EG7模块:SEG7 模块是一个七段译码器,作用是在硬件上显示音频的高低,用0到7分别对应空节拍do、ri、mi、fa、suo、la、xi,高音时,LED灯亮,数码管显示对应数字。 发音原理:(1). 乐曲演奏的原理组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续时间,就可以使扬声器发出连续的乐曲声。(2).音调的控制: 频率的高低决定了音调的高低。2.1 基准频率f0的选取所有不同频率的信号都是从同一个基准频率f0分频而得到的

    7、。由于音节频率多为非整数,而分频系数又不能为小数,因此必须将计算所得的分频数四舍五入取整。若基准频率过高,则分频比太小,取整后误差较大。若基准频率过高,虽然误差减小,但分频数变大。综合这两方面因素,在尽量减小频率误差的前提下取合适的基准频率,在此取f0=12MHz。2.2 分频系数,二进制计数器计数的容量N和预置数的选取 :分频系数A=f0/音名频率分频系数n=f0/音名频率/2N=MAX分频系数n由表1可得最大分频系数为1274,因此N=2048为2的11次方。因此二进制计数器设为11位二进制加法计数器,其计数容量为2048,计数的最大值为2047。预置数=N-分频系数n表1为各音阶的频率、

    8、对应的分频系数及预置数:(3). 音长的控制:音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定的。采茶舞曲中最短的音符为四分音符,如果全音符的持续时间为1s,则四分音符的持续时间为0.25s,二分音符持续的时间为0.5s等等,只需再提供一个4Hz的时钟频率。每来一个脉冲计一次数,每一计数值的停留时间为0.25s,即要输入一个全音符时需要计四次数才行,则应在Rom表格中输出相应音符四次,表示一个全音符的持续时间。三、选择器件 1.装有QuartusII软件的计算机一台;2.外置扬声器;3.7段数码管;4.LED灯一个;5.芯片:使用altera公司生产的Cyclone系列芯片,如EP1C1

    9、2Q240C8芯片;6.EDA实验箱一个;7.下载接口是数字芯片的下载接口(JTAG),主要用于FPGA芯片的数据下载。Cyclone器件的配置器件:此次设计实验采用ALTERA公司的cyclone系列的FPGA芯片EP1C12,设计和仿真采用ALTERA公司的QUARTUS II软件,EP1C12各项参数参照表2。 Cyclone的配置器件 配置器件器件数量EP1C3EP1C4EP1C6EP1C12EP1C20EPCS1111N/AN/AEPCS411111EPC2 11122EPC411111EPC811111EPC1611111 表2 EP1C12参数表Cyclone的性能特性:1、新的

    10、可编程体系结构,实现低成本设计。 2、嵌入式存储器资源支持多种存储器应用和数字信号处理(DSP)实现 3、专用外部存储器接口电路,支持与DDR FCRAM和SDRAM器件以及SDR SDRAM存储器的连接。 4、支持串行总线和网络接口以及多种通信协议 片内和片外系统时序管理使用嵌入式PLL 5、支持单端I/O标准和差分I/O技术,LVDS信号数据速率高达640Mbps。 6、处理功耗支持Nios II 系列嵌入式处理器 7、采用新的串行配置器件的低成本配置方案 8、Quartus II 软件OpenCore评估特性支持免费的IP功能评估 四、功能模块1)、Songer模块如图3:图3 Song

    11、er模块Songer模块由三个模块组成:Note Tabs模块,ToneTaba模块和Speakera模块。Notetabs模块类似于弹琴人的手指,Tonetaba类似于琴键,Speakera类似于琴弦或音调发生器。1.NoteTabs模块:原理:在这个模块中设置了一个8位二进制计数器,作为音符数据 ROM的地址发生器。这个计数器的计数频率选为4HZ,即每一计数值的停留时间为0.25秒,当全音符设为1秒时,4分音符持续时间为0.25s, 2分音符持续的时间为0.5s等等。每来一个脉冲计一次数,每一计数值的停留时间为0.25s,即要输入一个全音符时需要计数4次才行,则应在Rom表格中输出相应音符

    12、四次,表示一个全音符的持续时间,要输入一个2分音符则需要计数2次,依次类推。NoteTabs模块图如图4:图4 NoteTabs模块程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity notetabs is port (clk1: in std_logic; toneindex: out std_logic_vector(7 downto 0);end;architecture one of notetabs iscomponent music port (address: in

    13、std_logic_vector (7 downto 0); clock: in std_logic; q: out std_logic_vector (7 downto 0);end component; signal counter:std_logic_vector(7 downto 0);begincnt8:process (clk1,counter) begin if counter=336 then counter=00000000; elsif (clk1event and clk1=1)then countertone=11111111111;CODE=0100;hightone

    14、=10010101101;code=0101;hightone=10100001010;code=0110;hightone=10101011100;code=0111;hightone=10110000010;code=0001;hightone=10111001000;code=0010;hightone=11000000110;code=0011;hightone=11000101000;code=0100;hightone=11001010110;code=0101;hightone=11010000100;code=0110;hightone=11011000000;code=000

    15、1;hightone=11011101010;code=0010;high null; end case; end process; end;(注:每一个index的值都对应一个code,tone值,index的值从0000到0111对应的high为低电,从1000到1111对应的high为高电。)ToneTaba模块波形仿真图如图10:图10 Tonetaba的波形仿真图3.Speakera(数控分频器)模块: 原理:数控分频器的功能是当在输入端给定不同的输入数时,将对输入的时钟信号有不同的分频比,数控分频器是用计数值可并行预置的加法计数器来完成的。在此,音符的频率可由数控分频器Speake

    16、ra获得。由其clk端输入一具有较高频率的信号,通过Speakera分频后由 Spkout 输出,由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了有利于驱动扬声器,需加一个D触发器以均衡其占空比,但这时的频率将是原来的1/2。Speakera对clk输入信号的分频比由11位预置数Tone10.0决定。Spkout 的输出频率将决定每一音符的音调,这样分频计数器的预置值Tone10.0与Spkout的输出频率就有了对应关系。如图11图11 Speakera模块程序:library ieee;library ieee;use ieee.std_logic_1164.all;use

    17、ieee.std_logic_unsigned.all;entity speakera is port (clk2:in std_logic; tone: in std_logic_vector (10 downto 0); spks: out std_logic);end;architecture one of speakera is signal preclk,fullspks: std_logic;begin divideclk:process(clk2) variable count4:std_logic_vector(3 downto 0); begin preclk11 then

    18、preclk=1; count4:=0000; elsif clk2event and clk2=1 then count4:=count4+1; end if; end process; genspks: process(preclk,tone) variable count11:std_logic_vector(10 downto 0); begin if preclkevent and preclk=1 then if count11=16#7FF# then count11:=tone; fullspks=1; else count11:=count11+1; fullspks=0;

    19、end if; end if; end process; delayspks:process (fullspks) variable count2:std_logic; begin if fullspksevent and fullspks=1 then count2:=not count2; if count2=1 then spks=1; else spks=1 then cnt:=0; tmp:=not tmp; else cnt:=cnt+1; end if; end if; CLK12MHz=3124999 then cnt:=0; tmp:=not tmp; else cnt:=c

    20、nt+1; end if; end if; CLK8Hz=tmp; end process u2;end one;Div模块波形仿真图如图14: 图14 Div的波形仿真图(注:由50MHz的时钟信号分频得到CLK12MHz,CLK12MHz)3)、SEG7模块:原理: SEG7 模块是一个七段译码器,作用是在硬件上显示音频的高低,用0到7分别对应空节拍do、ri、mi、fa、suo、la、xi,高音时,LED灯亮,数码管显示对应数字。如图15:图15 SEG7模块VGA为0010,如图16:图16 VGA连接图程序:library ieee; use ieee.std_logic_1164.

    21、all;use ieee.std_logic_unsigned.all;ENTITY SEG7 IS PORT(num:IN std_logic_vector(3 downto 0); A:OUT std_logic; B:OUT std_logic; C:OUT std_logic; D:OUT std_logic; E:OUT std_logic; F:OUT std_logic; G:OUT std_logic; DP:OUT std_logic );END SEG7;ARCHITECTURE fun OF SEG7 ISsignal led:std_logic_vector(6 dow

    22、nto 0);BEGIN A= led(6); B= led(5); C= led(4); D= led(3); E= led(2); F= led(1); G= led(0); DP=0; led=1111110when num=0000else 0110000when num=0001else 1101101when num=0010else 1111001when num=0011else 0110011when num=0100else 1011011when num=0101else 1011111when num=0110else 1110000when num=0111else 1111111when num=1000else 1111011when num=1001else 1110111when num=1010else 0011111when num=1011else 1001110when num=1100else 0111101when num=1101else 1001111when num=1110else 1000111when num=1111;END fun;SEG7模块波形仿真如图17:


    注意事项

    本文(硬件电子琴电路设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开