您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页EDA音乐播放器课程设计

EDA音乐播放器课程设计

来源:爱go旅游网
洛阳理工学院课程设计(论文)

摘 要

本课程设计是实现演奏三首乐曲演奏电路的硬件实现。总共分为五个模块,

分别为20MHZ转换1MHZ分频模块,1MHZ转换4HZ分频模块,地址计数器模块,rom存储器模块,乐音分频模块。音符的频率由乐音分频模块获得,这是一个数控分频器。由时钟端输入一具有1MHZ的信号,分频比由预置数值决定,其输出频率将决定每一个音符的音调。音符的持续时间根据乐曲的速度及每个音符的节拍数来决定。三首乐曲分别为”两只老虎”,“找朋友”,“世上只有妈妈好”。

关键词:乐曲演奏电路,20MHZ转换1MHZ分频模块,1MHZ转换4HZ分频模块, 地 址计数器模块 ,rom存储器模块 ,乐音分频模块

I

洛阳理工学院课程设计(论文)

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\

Keywords: music playing circuit, 20 MHZ conversion 1 MHZ frequency module, 1 MHZ conversion 4 HZ frequency module, address count

II

洛阳理工学院课程设计论文

前 言

电子技术飞速发展,传统的电子电路设计已经满足不了人们的要求,可编程逻辑逻辑器件和EDA技术的运用大大地提高了工作效率。大大地减轻了电路设计和PCB设计的难度。由于本人出于对音乐的热爱,故用EDA技术设计了一款音乐播放器。设计要求连续播放三首乐曲。设计采取用quartusII进行仿真,然后用开发板进行测试。基于工程领域中EDA技术应用的巨大实用价值,以及重视实践能力和创新意识培养的重要性,所以对各个模块进行了严格的测试。这是本人的第一次的关于EDA的作品,如果有不足之处,欢迎指正,本人邮箱*********************。

III

洛阳理工学院课程设计论文

目 录

第1章 分频器 ....................................................................................... 1

1.1 分频器 ....................................................................................... 1 1.2 20MHZ转换为1MHZ分频器 .............................................. 1 1.3 1MHZ转换为4HZ分频器 .................................................... 1 1.4 乐音分频器 ............................................................................... 2 第2章 存储器与地址发生器 ............................................................. 6

2.1 地址发生器 ............................................................................... 6 2.2 rom存储器 ................................................................................ 6 第3章 顶层电路设计 ........................................................................ 15

3.1播放器的顶层电路 ................................................................ 15 3.2 播放器的组成 ........................................................................ 15 第4章 课程设计总结 ........................................................................ 16 参考文献 ................................................................................................. 17 附录 ......................................................................................................... 18

IV

洛阳理工学院课程设计论文

第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分频器

1

洛阳理工学院课程设计论文

4 HZ的时钟信号是乐谱节拍信号,为地址计数器与rom存储器提供信

号。分频器的符号图如图1-3所示。

图1-3 1MHZ转换为4HZ分频器

波形如图1-4所示。

图1-4 1MHZ转换为4HZ分频器

1.4 乐音分频器

由1MHZ提供时钟信号,根据乐谱存储器的输出得到对应音符的分频值,

然后输出相应的方波信号。符号图如图1-5所示。

图1-5 乐音分频器

2

洛阳理工学院课程设计论文

本人设计的乐音分频器有87个分频值,由于播放固定三首乐曲,使用到11个音符的分频值,篇幅有限,故只列出11个波形图。

乐音分频输出部分波形如图1-6所示。

图1-6 乐音分频器输出部分波形

乐音分频输出部分波形如图1-7所示。

图1-7 乐音分频器输出部分波形

乐音分频输出部分波形如图1-8所示。

图1-8 乐音分频器输出部分波形

3

洛阳理工学院课程设计论文

乐音分频输出部分波形如图1-9所示。

图1-9乐音分频器输出部分波形

乐音分频输出部分波形如图1-10所示。

图1-10乐音分频器输出部分波形

乐音分频输出部分波形如图1-11所示。

图1-11乐音分频器输出部分波形

乐音分频输出部分波形如图1-12所示。

图1-12乐音分频器输出部分波形

4

洛阳理工学院课程设计论文

乐音分频输出部分波形如图1-13所示。

图1-13 乐音分频器输出部分波形

乐音分频输出部分波形如图1-14所示。

图1-14 乐音分频器输出部分波形

乐音分频输出部分波形如图1-15所示。

图1-15 乐音分频器输出部分波形

乐音分频输出部分波形如图1-16所示。

图1-16 乐音分频器输出部分波形

5

洛阳理工学院课程设计论文

第2章 存储器与地址发生器

2.1 地址发生器

九位二进制计数器,内部设置计数最大值为474,作为音符数据rom存

储器的地址发生器。这个计数器的计数频率为4HZ。其符号图如图2-1所示。

图2-1 地址发生器

2.2 rom存储器

rom存储器存放的数据是三首乐曲的信息,分别为“两只老虎”,“找朋友”,“世上只有妈妈好”。由4HZ的信号控制时间,根据地址发生器的输出值作为rom存储器的地址输入,驱动rom存储器相对应的数据输出。其符号图如图2-2所示。

6

洛阳理工学院课程设计论文

图2-2 rom存储器

rom存储器mif文件如表2-1所示。

表2-1 rom存储器mif文件数据

rom存储器输出数据波形如图2-3所示。

图2-3 rom存储器波形

rom存储器输出数据波形如图2-4所示。

7

洛阳理工学院课程设计论文

图2-4 rom存储器波形

rom存储器输出数据波形如图2-5所示。

图2-5 rom存储器波形

rom存储器输出数据波形如图2-6所示。

图2-6 rom存储器波形

rom存储器输出数据波形如图2-7所示。

图2-7 rom存储器波形

rom存储器输出数据波形如图2-8所示。

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所示。

9

洛阳理工学院课程设计论文

图2-12 rom存储器波形

10

洛阳理工学院课程设计论文

rom存储器输出数据波形如图2-13所示。

图2-13 rom存储器波形

rom存储器输出数据波形如图2-14所示。

图2-14 rom存储器波形

rom存储器输出数据波形如图2-15所示。

图2-15 rom存储器波形

rom存储器输出数据波形如图2-16所示。

图2-16 rom存储器波形

11

洛阳理工学院课程设计论文

rom存储器输出数据波形如图2-17所示。

图2-17 rom存储器波形

rom存储器输出数据波形如图2-18所示。

图2-18 rom存储器波形

rom存储器输出数据波形如图2-19所示。

图2-19 rom存储器波形

rom存储器输出数据波形如图2-20所示。

图2-20 rom存储器波形

12

洛阳理工学院课程设计论文

rom存储器输出数据波形如图2-21所示。

图2-21 rom存储器波形

rom存储器输出数据波形如图2-22所示。

图2-22 rom存储器波形

rom存储器输出数据波形如图2-23所示。

图2-23 rom存储器波形

rom存储器输出数据波形如图2-24所示。

图2-24 rom存储器波形

13

洛阳理工学院课程设计论文

rom存储器输出数据波形如图2-25所示。

图2-25 rom存储器波形

14

洛阳理工学院课程设计论文

第3章 顶层电路设计

3.1播放器的顶层电路 顶层原理图如图3-1所示。

图3-1 顶层原理图

3.2 播放器的组成

实验板的时钟输出是20MHZ,经过分频产生1MHZ的周期信号用作乐音分频器的时钟,4HZ的信号用作乐谱存储器的时钟。乐谱存储器存放乐谱的编码,乐音分频器输出每个乐音对应的频率,驱动扬声器发音。乐谱存储器地址保持时间就是每个乐音的发音时间,由乐谱存储器的时钟周期决定。播放器如图3-2所示。

时钟乐谱存储器地址

图3-2 播放器组成

15

乐音分频器扬声器

洛阳理工学院课程设计论文

第4章 课程设计总结

通过此次课程设计,我学到了许多,加深了对EDA技术的了解。将学到的知识付诸实践,更好地从结合工程实际层面来检验学习效果。实践出真知,实践是检验真理的唯一标准。此次课程设计使我明白了实践的重要。这次课程设计虽然面临很多困难,但是都被我一一克服。 EDA是一门很重要的课程,所以我为此做了充分的准备。

16

洛阳理工学院课程设计论文

参考文献

[1]潘松,黄继业.EDA技术与VHDL.北京:清华出版社,2014

17

洛阳理工学院课程设计论文

附录

--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; BEGIN

PROCESS(CLK) BEGIN

IF 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 IS

PORT(CLK: IN STD_LOGIC;

OUT1: OUT STD_LOGIC);

END ENTITY FENPIN1;

ARCHITECTURE FOUR OF FENPIN1 IS

18

洛阳理工学院课程设计论文

SIGNAL T1: INTEGER RANGE 0 TO 124999; SIGNAL FIM: STD_LOGIC; BEGIN

PROCESS(CLK) BEGIN

IF 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 IS

PORT(CLK: IN STD_LOGIC;

Q: OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END;

ARCHITECTURE BHV OF CNT8 IS

SIGNAl q1: sTD_LOGIC_vector(8 downto 0);

BEGIN

process(clk) begin

IF CLK'EVENT AND CLK='1' THEN Q1 <=Q1+1; END IF;

if q1=\"111011010\" then q1<=(others=>'0'); end if;

END PROCESS;

19

洛阳理工学院课程设计论文

Q<=Q1;

END BHV;

--存储器 LIBRARY ieee;

USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.all; ENTITY rom3 IS

PORT ( );

address clock q

: IN STD_LOGIC_VECTOR (8 DOWNTO 0); : IN STD_LOGIC ;

: OUT STD_LOGIC_VECTOR (6 DOWNTO 0)

END rom3;

ARCHITECTURE SYN OF rom3 IS

SIGNAL sub_wire0 : STD_LOGIC_VECTOR (6 DOWNTO 0); COMPONENT altsyncram GENERIC (

address_aclr_a init_file

: STRING;

: STRING;

: STRING;

intended_device_family lpm_hint

: STRING; : STRING;

lpm_type numwords_a

: NATURAL;

: STRING;

operation_mode outdata_aclr_a outdata_reg_a widthad_a width_a

: STRING; : STRING;

: NATURAL;

: NATURAL;

20

洛阳理工学院课程设计论文

);

width_byteena_a : NATURAL

PORT ( );

END COMPONENT;

clock0 : IN STD_LOGIC ;

address_a : IN STD_LOGIC_VECTOR (8 DOWNTO 0); q_a : OUT STD_LOGIC_VECTOR (6 DOWNTO 0)

BEGIN

q <= sub_wire0(6 DOWNTO 0); altsyncram_component : altsyncram GENERIC MAP (

address_aclr_a => \"NONE\

init_file => \"E:/作业/lesson EDA/毕业设计/播放器(3)/顶层原理图

/mus.mif\

)

PORT MAP (

clock0 => clock, address_a => address, q_a => sub_wire0

21

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 => 1

洛阳理工学院课程设计论文

);

END SYN; --乐音分频器 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY YUEYINFENPIN IS

PORT (INX: IN STD_LOGIC_VECTOR(6 DOWNTO 0);--乐音编码

CLK: IN STD_LOGIC;--1MHZ时钟信号 SPK: OUT STD_LOGIC);--输出频率

END ENTITY YUEYINFENPIN;

ARCHITECTURE ONE OF YUEYINFENPIN IS

SIGNAL TEMP: INTEGER RANGE 0 TO 30000;--分频计数值 SIGNAL COUNT: INTEGER RANGE 0 TO 20000;--计数 SIGNAL FIM: STD_LOGIC;--分频 BEGIN

PROCESS (INX,CLK) BEGIN

CASE INX IS

WHEN \"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;

22

洛阳理工学院课程设计论文

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;

23

洛阳理工学院课程设计论文

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;

24

洛阳理工学院课程设计论文

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;

25

洛阳理工学院课程设计论文

洛 阳 理 工 学 院

PLD课 程 设 计 报 告

课程名称 EDA技术与VHDL 设计题目 音乐播放器 专 业 通信工程 班 级 B110507 学 号 B11050711 姓 名 刘书全 完成日期 2014年12月22日

洛阳理工学院课程设计论文

课 程 设 计 任 务 书

设计题目: 音乐播放器设计 设计内容与要求:

设计内容:

设计一个音乐播放器,能够自动读取存储器中的乐谱通过输出端口的喇叭播放。

要求:

1、查找1至3首歌曲简谱,分析简谱乐谱中音符范围后进

行乐谱编码,设计ROM保存乐谱编码。

2、设计乐音分频器,设输入时钟频率是1MHZ,计算出这3首歌曲中所有音符对应的分频值,设计分频电路。

3、分析这3首歌曲的速度,设计地址计数器的时钟频率,实现播放速度的控制。

4、设计顶层电路,实现连续播放3首歌曲。

指导教师: 邹红文 2014 年12月1日

课 程 设 计 评 语

成绩: 指导教师:_______________ 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务