欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    EDA音乐播放器课程设计(18页).doc

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

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

    EDA音乐播放器课程设计(18页).doc

    -EDA音乐播放器课程设计-第 13 页 摘 要 本课程设计是实现演奏三首乐曲演奏电路的硬件实现。总共分为五个模块,分别为20MHZ转换1MHZ分频模块,1MHZ转换4HZ分频模块,地址计数器模块,rom存储器模块,乐音分频模块。音符的频率由乐音分频模块获得,这是一个数控分频器。由时钟端输入一具有1MHZ的信号,分频比由预置数值决定,其输出频率将决定每一个音符的音调。音符的持续时间根据乐曲的速度及每个音符的节拍数来决定。三首乐曲分别为”两只老虎”,“找朋友”,“世上只有妈妈好”。关键词:乐曲演奏电路,20MHZ转换1MHZ分频模块,1MHZ转换4HZ分频模块, 地 址计数器模块 ,rom存储器模块 ,乐音分频模块 Pick to This course is designed to play music three play hardware implementation of the circuit. A total is divided into five modules, respectively for 20 MHZ conversion 1 MHZ frequency module, 1 MHZ conversion 4 HZ frequency module, address counter module, ROM memory module, dividing sound module. Note the frequency of the sound frequency module, a CNC divider. By the input, a signal with 1 MHZ clock end, frequency division ratio determined by the preset value, the output frequency will determine the tones of every note. The duration of the notes according to the number of speed and every note of the beat of the music to decide. Three piece respectively "two tigers", "find friends", "only a mother good in the world".Keywords: music playing circuit, 20 MHZ conversion 1 MHZ frequency module, 1 MHZ conversion 4 HZ frequency module, address count 前言电子技术飞速发展,传统的电子电路设计已经满足不了人们的要求,可编程逻辑逻辑器件和EDA技术的运用大大地提高了工作效率。大大地减轻了电路设计和PCB设计的难度。由于本人出于对音乐的热爱,故用EDA技术设计了一款音乐播放器。设计要求连续播放三首乐曲。设计采取用quartusII进行仿真,然后用开发板进行测试。基于工程领域中EDA技术应用的巨大实用价值,以及重视实践能力和创新意识培养的重要性,所以对各个模块进行了严格的测试。这是本人的第一次的关于EDA的作品,如果有不足之处,欢迎指正,本人邮箱liu_shu_quan。 目 录 第1章 分频器11.1 分频器11.2 20MHZ转换为1MHZ分频器11.3 1MHZ转换为4HZ分频器11.4 乐音分频器2第2章 存储器与地址发生器62.1 地址发生器62.2 rom存储器6第3章 顶层电路设计14143.2 播放器的组成14第4章 课程设计总结15参考文献16附录17 第1章 分频器1.1 分频器 分频器有三个,分别是20MHZ转换为1MHZ分频器,1MHZ转换为4HZ分频器,乐音分频器。1.2 20MHZ转换为1MHZ分频器 因为开发板提供的时钟信号为20MHZ的时钟信号,为了给乐音分频器和1MHZ转换为4HZ的分频器提供1MHZ的时钟信号,故设计了此分频器。主要实现的功能是20MHZ的输出信号转换为1MHZ的输出信号,分频器的符号图如图1-1所示。 图1-1 20MHZ转换为1MHZ分频器 波形如图1-2所示。 图1-2 20MHZ转换为1MHZ分频器波形1.3 1MHZ转换为4HZ分频器 4 HZ的时钟信号是乐谱节拍信号,为地址计数器与rom存储器提供信号。分频器的符号图如图1-3所示。 图1-3 1MHZ转换为4HZ分频器 波形如图1-4所示。 图1-4 1MHZ转换为4HZ分频器1.4 乐音分频器 由1MHZ提供时钟信号,根据乐谱存储器的输出得到对应音符的分频值,然后输出相应的方波信号。符号图如图1-5所示。 图1-5 乐音分频器 本人设计的乐音分频器有87个分频值,由于播放固定三首乐曲,使用到11个音符的分频值,篇幅有限,故只列出11个波形图。 乐音分频输出部分波形如图1-6所示。 图1-6 乐音分频器输出部分波形 乐音分频输出部分波形如图1-7所示。 图1-7 乐音分频器输出部分波形 乐音分频输出部分波形如图1-8所示。 图1-8 乐音分频器输出部分波形 乐音分频输出部分波形如图1-9所示。 图1-9乐音分频器输出部分波形 乐音分频输出部分波形如图1-10所示。 图1-10乐音分频器输出部分波形 乐音分频输出部分波形如图1-11所示。 图1-11乐音分频器输出部分波形 乐音分频输出部分波形如图1-12所示。 图1-12乐音分频器输出部分波形 乐音分频输出部分波形如图1-13所示。 图1-13 乐音分频器输出部分波形 乐音分频输出部分波形如图1-14所示。 图1-14 乐音分频器输出部分波形 乐音分频输出部分波形如图1-15所示。 图1-15 乐音分频器输出部分波形 乐音分频输出部分波形如图1-16所示。 图1-16 乐音分频器输出部分波形 第2章 存储器与地址发生器2.1 地址发生器 九位二进制计数器,内部设置计数最大值为474,作为音符数据rom存储器的地址发生器。这个计数器的计数频率为4HZ。其符号图如图2-1所示。 图2-1 地址发生器2.2 rom存储器 rom存储器存放的数据是三首乐曲的信息,分别为“两只老虎”,“找朋友”,“世上只有妈妈好”。由4HZ的信号控制时间,根据地址发生器的输出值作为rom存储器的地址输入,驱动rom存储器相对应的数据输出。其符号图如图2-2所示。 图2-2 rom存储器 rom存储器mif文件如表2-1所示。 表2-1 rom存储器mif文件数据 rom存储器输出数据波形如图2-3所示。 图2-3 rom存储器波形 rom存储器输出数据波形如图2-4所示。 图2-4 rom存储器波形rom存储器输出数据波形如图2-5所示。 图2-5 rom存储器波形rom存储器输出数据波形如图2-6所示。 图2-6 rom存储器波形rom存储器输出数据波形如图2-7所示。 图2-7 rom存储器波形 rom存储器输出数据波形如图2-8所示。 图2-8 rom存储器波形 rom存储器输出数据波形如图2-9所示。 图2-9 rom存储器波形 rom存储器输出数据波形如图2-10所示。 图2-10 rom存储器波形 rom存储器输出数据波形如图2-11所示。 图2-11 rom存储器波形rom存储器输出数据波形如图2-12所示。 图2-12 rom存储器波形 rom存储器输出数据波形如图2-13所示。 图2-13 rom存储器波形 rom存储器输出数据波形如图2-14所示。 图2-14 rom存储器波形 rom存储器输出数据波形如图2-15所示。 图2-15 rom存储器波形 rom存储器输出数据波形如图2-16所示。 图2-16 rom存储器波形 rom存储器输出数据波形如图2-17所示。 图2-17 rom存储器波形 rom存储器输出数据波形如图2-18所示。 图2-18 rom存储器波形 rom存储器输出数据波形如图2-19所示。 图2-19 rom存储器波形 rom存储器输出数据波形如图2-20所示。 图2-20 rom存储器波形 rom存储器输出数据波形如图2-21所示。 图2-21 rom存储器波形 rom存储器输出数据波形如图2-22所示。 图2-22 rom存储器波形 rom存储器输出数据波形如图2-23所示。 图2-23 rom存储器波形 rom存储器输出数据波形如图2-24所示。 图2-24 rom存储器波形 rom存储器输出数据波形如图2-25所示。 图2-25 rom存储器波形 第3章 顶层电路设计 顶层原理图如图3-1所示。 图3-1 顶层原理图3.2 播放器的组成 实验板的时钟输出是20MHZ,经过分频产生1MHZ的周期信号用作乐音分频器的时钟,4HZ的信号用作乐谱存储器的时钟。乐谱存储器存放乐谱的编码,乐音分频器输出每个乐音对应的频率,驱动扬声器发音。乐谱存储器地址保持时间就是每个乐音的发音时间,由乐谱存储器的时钟周期决定。播放器如图3-2所示。 图3-2 播放器组成 第4章 课程设计总结通过此次课程设计,我学到了许多,加深了对EDA技术的了解。将学到的知识付诸实践,更好地从结合工程实际层面来检验学习效果。实践出真知,实践是检验真理的唯一标准。此次课程设计使我明白了实践的重要。这次课程设计虽然面临很多困难,但是都被我一一克服。 EDA是一门很重要的课程,所以我为此做了充分的准备。 参考文献1潘松,黄继业.EDA技术与VHDL.北京:清华出版社,2014 附录-20MHZ转换为1MHZ分频器的VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FENPIN20 IS PORT(CLK: IN STD_LOGIC;OUT1:OUT STD_LOGIC);END ENTITY FENPIN20;ARCHITECTURE ONE OF FENPIN20 IS SIGNAL T1: INTEGER RANGE 0 TO 9;SIGNAL FIM: STD_LOGIC;BEGINPROCESS(CLK) BEGINIF CLK'EVENT AND CLK='1' then T1<=T1+1;IF T1 = 9 THEN FIM<= NOT FIM;T1<=0;END IF;END IF;END PROCESS;OUT1<=FIM;END ONE;-1MHZ转换为4HZ分频器的VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FENPIN1 ISPORT(CLK: IN STD_LOGIC;OUT1: OUT STD_LOGIC);END ENTITY FENPIN1;ARCHITECTURE FOUR OF FENPIN1 ISSIGNAL T1: INTEGER RANGE 0 TO 124999; SIGNAL FIM: STD_LOGIC;BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THEN T1<=T1+1;IF T1=124999 THEN FIM<= NOT FIM;T1<=0;END IF;END IF;END PROCESS;OUT1<=FIM;END FOUR;-地址发生器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT8 ISPORT(CLK: IN STD_LOGIC;Q: OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END;ARCHITECTURE BHV OF CNT8 ISSIGNAl q1: sTD_LOGIC_vector(8 downto 0);BEGINprocess(clk)beginIF CLK'EVENT AND CLK='1' THEN Q1 <=Q1+1;END IF;if q1="111011010" then q1<=(others=>'0');end if;END PROCESS;Q<=Q1;END BHV;-存储器LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY rom3 ISPORTaddress: IN STD_LOGIC_VECTOR (8 DOWNTO 0);clock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (6 DOWNTO 0)END rom3;ARCHITECTURE SYN OF rom3 ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (6 DOWNTO 0);COMPONENT altsyncramGENERIC (address_aclr_a: STRING;init_file: STRING;intended_device_family: STRING;lpm_hint: STRING;lpm_type: STRING;numwords_a: NATURAL;operation_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;widthad_a: NATURAL;width_a: NATURAL;width_byteena_a: NATURALPORT (clock0: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (8 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (6 DOWNTO 0)END COMPONENT;BEGINq <= sub_wire0(6 DOWNTO 0);altsyncram_component : altsyncramGENERIC MAP (address_aclr_a => "NONE",init_file => "E:/作业/lesson EDA/毕业设计/播放器(3)/顶层原理图/mus.mif",intended_device_family => "Stratix",lpm_hint => "ENABLE_RUNTIME_MOD=NO",lpm_type => "altsyncram",numwords_a => 512,operation_mode => "ROM",outdata_aclr_a => "NONE",outdata_reg_a => "UNREGISTERED",widthad_a => 9,width_a => 7,width_byteena_a => 1PORT MAP (clock0 => clock,address_a => address,q_a => sub_wire0END SYN;-乐音分频器LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY YUEYINFENPIN ISPORT (INX: IN STD_LOGIC_VECTOR(6 DOWNTO 0);-乐音编码CLK: IN STD_LOGIC;-1MHZ时钟信号SPK: OUT STD_LOGIC);-输出频率END ENTITY YUEYINFENPIN;ARCHITECTURE ONE OF YUEYINFENPIN ISSIGNAL TEMP: INTEGER RANGE 0 TO 30000;-分频计数值SIGNAL COUNT: INTEGER RANGE 0 TO 20000;-计数SIGNAL FIM: STD_LOGIC;-分频BEGINPROCESS (INX,CLK)BEGINCASE INX ISWHEN "0000000" => TEMP <=30000;WHEN "0000001" => TEMP <=18181;WHEN "0000010" => TEMP <=17160;WHEN "0000011" => TEMP <=16197;WHEN "0000100" => TEMP <=15288;WHEN "0000101" => TEMP <=14430;WHEN "0000110" => TEMP <=13620;WHEN "0000111" => TEMP <=12855;WHEN "0001000" => TEMP <=12134;WHEN "0001001" => TEMP <=11453;WHEN "0001010" => TEMP <=10810;WHEN "0001011" => TEMP <=10203;WHEN "0001100" => TEMP <=9630;WHEN "0001101" => TEMP <=9090;WHEN "0001110" => TEMP <=8580;WHEN "0001111" => TEMP <=8098;WHEN "0010000" => TEMP <=7644;WHEN "0010001" => TEMP <=7214;WHEN "0010010" => TEMP <=6810;WHEN "0010011" => TEMP <=6427;WHEN "0010100" => TEMP <=6066;WHEN "0010101" => TEMP <=5726;WHEN "0010110" => TEMP <=5404;WHEN "0010111" => TEMP <=5101;WHEN "0011000" => TEMP <=4815;WHEN "0011001" => TEMP <=4544;WHEN "0011010" => TEMP <=4289;WHEN "0011011" => TEMP <=4049;WHEN "0011100" => TEMP <=3821;WHEN "0011101" => TEMP <=3607;WHEN "0011110" => TEMP <=3404;WHEN "0011111" => TEMP <=3232;WHEN "0100000" => TEMP <=3033;WHEN "0100001" => TEMP <=2863;WHEN "0100010" => TEMP <=2702;WHEN "0100011" => TEMP <=2550;WHEN "0100100" => TEMP <=2407;WHEN "0100101" => TEMP <=2272;WHEN "0100110" => TEMP <=2145;WHEN "0100111" => TEMP <=2024;WHEN "0101000" => TEMP <=1910;WHEN "0101001" => TEMP <=1803;WHEN "0101010" => TEMP <=1702;WHEN "0101011" => TEMP <=1606;WHEN "0101100" => TEMP <=1516;WHEN "0101101" => TEMP <=1431;WHEN "0101110" => TEMP <=1350;WHEN "0101111" => TEMP <=1275;WHEN "0110000" => TEMP <=1203;WHEN "0110001" => TEMP <=1135;WHEN "0110010" => TEMP <=1072;WHEN "0110011" => TEMP <=1011;WHEN "0110100" => TEMP <=955;WHEN "0110101" => TEMP <=901;WHEN "0110110" => TEMP <=850;WHEN "0110111" => TEMP <=803;WHEN "0111000" => TEMP <=757;WHEN "0111001" => TEMP <=715;WHEN "0111010" => TEMP <=675;WHEN "0111011" => TEMP <=637;WHEN "0111100" => TEMP <=601;WHEN "0111101" => TEMP <=567;WHEN "0111110" => TEMP <=535;WHEN "0111111" => TEMP <=505;WHEN "1000000" => TEMP <=477;WHEN "1000001" => TEMP <=450;WHEN "1000010" => TEMP <=425;WHEN "1000011" => TEMP <=401;WHEN "1000100" => TEMP <=378;WHEN "1000101" => TEMP <=357;WHEN "1000110" => TEMP <=337;WHEN "1000111" => TEMP <=318;WHEN "1001000" => TEMP <=300;WHEN "1001001" => TEMP <=283;WHEN "1001010" => TEMP <=267;WHEN "1001011" => TEMP <=252;WHEN "1001100" => TEMP <=238;WHEN "1001101" => TEMP <=224;WHEN "1001110" => TEMP <=212;WHEN "1001111" => TEMP <=200;WHEN "1010000" => TEMP <=189;WHEN "1010001" => TEMP <=178;WHEN "1010010" => TEMP <=168;WHEN "1010011" => TEMP <=158;WHEN "1010100" => TEMP <=149;WHEN "1010101" => TEMP <=141;WHEN "1010110" => TEMP <=133;WHEN "1010111" => TEMP <=126;WHEN OTHERS => temp <=20000;END CASE;IF CLK'EVENT AND CLK='1' THEN COUNT<=COUNT+1;IF COUNT=TEMP THEN FIM<= NOT FIM; COUNT<=0;END IF;END IF;END PROCESS;SPK<=FIM;END ONE; 洛 阳 理 工 学 院 PLD课 程 设 计 报 告 课程名称 EDA技术与VHDL 设计题目 音乐播放器 专 业 通信工程 班 级 B110507 学 号 B11050711 姓 名 刘书全 完成日期 2014年12月22日 课 程 设 计 任 务 书设计题目: 音乐播放器设计 设计内容与要求:设计内容:设计一个音乐播放器,能够自动读取存储器中的乐谱通过输出端口的喇叭播放。要求:1、查找1至3首歌曲简谱,分析简谱乐谱中音符范围后进行乐谱编码,设计ROM保存乐谱编码。2、设计乐音分频器,设输入时钟频率是1MHZ,计算出这3首歌曲中所有音符对应的分频值,设计分频电路。3、分析这3首歌曲的速度,设计地址计数器的时钟频率,实现播放速度的控制。4、设计顶层电路,实现连续播放3首歌曲。 指导教师: 邹红文 2014 年12月1日课 程 设 计 评 语 成绩: 指导教师:_ 年 月 日

    注意事项

    本文(EDA音乐播放器课程设计(18页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开