数字系统设计-音乐播放器

数字系统设计-音乐播放器

ID:47074225

大小:450.00 KB

页数:15页

时间:2019-07-17

数字系统设计-音乐播放器_第1页
数字系统设计-音乐播放器_第2页
数字系统设计-音乐播放器_第3页
数字系统设计-音乐播放器_第4页
数字系统设计-音乐播放器_第5页
资源描述:

《数字系统设计-音乐播放器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得装订线一、实验目的和要求:实验目的:(1)掌握音符产生的方法,了解DDS技术的应用。(2)了解AC97音频接口电路的应用。(3)掌握系统“自顶而下”的设计方法。实验任务:设计一个音乐播放器。(1)可以播放四首乐曲,设置play、next、reset三个按键。按play键播放当前乐曲,按next键播放下一首乐曲。(2)LED0指示播放情况(播放时点亮)

2、、LED2和LED3指示当前乐曲序号。二、实验内容和原理(1)音乐播放器的设计原理根据实验任务可将系统分为主控制器(mcu)、乐曲读取(song_reader)、音符播放(note_player)、AC97音频接口(codec_conditioner)和ac97_if五个子模块,系统的总体框图如下:各个模块的功能如下:1.mcu模块接收按键信息,通知song_reader模块是否要播放(play)及播放哪首乐曲(song),若一曲播放结束则进入播放结束END状态。2.song_reader模块根据mcu模块的要求,

3、逐个取出音符{note,duration}送给note_player模块播放,当一首乐曲播放完毕,回复mcu模块乐曲播放结束信号(song_done)。3.note_player模块接收到需播放的音符,在音符的持续时间内,以48kHz速率送出该音符的正弦波样品给AC97音频接口模块。当一个音符播放结束,向song_reader模块发送一个note_done脉冲索取新的音符。4.codec_conditiner、ac97_if模块负责与AC97音频系统接口工作,本实验已提供了这两个模块的代码。另外,按键处理模块完成输

4、入同步化、防颤动和脉宽变换等功能。1、主控制模块mcu的设计mcu模块是主控制模块,有响应按键信息、控制系统播放两大任务,工作流程如下面的流程图所示。要求系统复位后经RESET状态初始化后进入WAIT文案大全实用文档状态等待按键输入或乐曲播放结束应答,若有按键输入则转入相应的按键处理状态(NEXT或PLAY),若一曲播放结束则进入结束播放END状态。mcu的控制器算法流程图如下图:以下为mcu的端口含义引脚名称I/O引脚说明clkInput100MHz时钟信号resetInput复位信号,高电平有效play_but

5、tonInput“播放”按键,低电平有效next_buttonInput“下一曲”按键,一个时钟周期宽度的高电平脉冲playOutput高电平表示播放song_doneOutput当播放下一曲时,输出一个时钟周期宽度的高电平复位脉冲reset_play,并复位note_player模块song_doneInputnote_player模块的应答信号一个时钟周期宽度的高电平脉冲表示一曲播放结束song[1:0]Output当前乐曲的序号结合以上算法流程图和端口定义,mcu模块代码如下:modulemcu(clk,re

6、set,play_button,next,play,reset_play,song,song_done);parameterRESET=0,WAIT=1,END=2,NEXT=3,PLAY=4;inputreset,play_button,song_done,clk,next;outputreg[1:0]song;outputregplay,reset_play;文案大全实用文档regstate;always@(posedgeclk)beginif(reset)beginplay<=0;song<=2'b00;re

7、set_play<=1;state<=RESET;endelsecase(state)RESET:beginreset_play<=0;state<=WAIT;endWAIT:if(song_done)beginstate<=END;play<=0;reset_play<=1;endelseif(next)beginstate<=NEXT;play<=1;reset_play<=1;song<=song+1;endelseif(~play_button)beginstate<=PLAY;play<=1;reset_

8、play<=0;endelsebeginstate<=WAIT;reset_play<=0;endEND,NEXT,PLAY:beginstate<=WAIT;reset_play<=0;endendcaseendendmodule2、乐曲读取模块song_reader的设计乐曲读取模块song_reader的功能有:(1)根据mcu模块的要求,选择播放乐曲

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。