数字逻辑设大实验 音乐播放器.doc

数字逻辑设大实验 音乐播放器.doc

ID:58480561

大小:1.35 MB

页数:24页

时间:2020-05-16

数字逻辑设大实验 音乐播放器.doc_第1页
数字逻辑设大实验 音乐播放器.doc_第2页
数字逻辑设大实验 音乐播放器.doc_第3页
数字逻辑设大实验 音乐播放器.doc_第4页
数字逻辑设大实验 音乐播放器.doc_第5页
资源描述:

《数字逻辑设大实验 音乐播放器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数字逻辑设计大实验音乐播放器2007-6目录一、音乐播放器简介及操作说明1.简介2.工作环境3.操作说明二、音乐播放器结构描述1.播放器结构的设计思路2.播放器结构的详细描述3.播放器结构示意图三、SD卡读取模块设计说明1.SD_ctrl模块2.File_Ctrl模块四、WAV文件读取模块设计说明五、VGA控制器模块设计说明六、WM8731控制器模块设计说明七、经验,技巧与总结音乐播放器简介及操作说明简介FrankPzh’sMediaPlayer是一个使用VHDL语言在FPGA上编写的音乐播放器。它

2、使用SD卡作为音乐文件来源,,使用PS/2键盘作为操作途径,使用VGA输出作为菜单和界面显示。音乐播放器按照CycloneEP1C6编译时,占用逻辑门资源3873个,占用片内存储空间69,632字节,占用PLL一个。工作环境音乐播放器的测试及工作环境为KX-CP2开发板(AlteraCycloneEP1C6),需要配备一个SD卡(推荐1.0GB),一个VGA显示器,一个PS/2键盘,一个耳机或音箱。操作说明将需要播放的音乐文件转换成.wav格式,然后使用windows自带的录音机将其转换成采样率48

3、KHz,8位,立体声。将转换后的.wav文件复制入SD卡内,保证文件名没有中文字符,推荐文件名长度在8个字节内。将SD卡插入开发板SD卡插槽,将耳机或音箱插入开发板上的橙色音频输出口,将键盘插入开发板上的PS/2接口,将VGA显示器信号线插入开发板上的VGA输出。以上接口均在开发板上而不是实验箱上!将开发板上的时钟跳线设为20MHz(连接上侧两个头),将实验箱的模式设为5。使用quartus打开工程,使用Programmer将播放器下载到开发板上。按动键8使得灯亮,再按动键8使得灯灭。此时屏幕上应该

4、显示有音乐播放器的菜单:PlayMIDI(Simple)FormatPlayWAVEFormatAbouttheAuthorFrankPzhResetPlayer按动键盘上下键移动高亮块,按动回车键选择选项。第一项PlayMIDI(Simple)Format不能使用第二项PlayWAVEFormat为播放.wav文件,进入后界面上会显示出SD卡上所有的.wav文件。移动高亮块并用回车键选择想要播放的文件,播放器即开始工作。在播放.wav文件时,屏幕上会显示一个进度条,以表示已经播放了多长时间的音乐。

5、此时按动PageUp和PageDown键可以调整输出音乐的音量。第三项AbouttheAuthorFrankPzh显示了一些关于作者和音乐播放器的信息供使用者观看。第四项ResetPlayer可以在更换SD卡后选择,播放器会更新目录列表。若播放器出现问题,可以按动实验箱上的键8进行reset操作,在一般情况下都可以奏效。音乐播放器结构描述播放器结构的设计思路一个音乐播放器从层次上,可以分为3个部分,也就是界面,内核和输入输出。很自然地,从播放器预想的功能上,我将它分为了console_ctrl,wa

6、v_reader和一堆与输入输出有关的模块:SD_ctrl,VGA_ctrl,WM8731_ctrl。由于SD_ctrl和wav_reader之间相互衔接上的问题,我又增加了File_ctrl模块。各个模块之间我基本上都是使用双口RAM进行数据交换,为了节约RAM资源我还使用选择的方式来将互不冲突的模块之间共享同一块RAM。结构框图中虚线部分框起的部分是因为效果不好以及资源不够而放弃使用的模块,计划实现的功能是读取自定义的乐谱文件并合成输出。播放器结构的详细描述1.Main主程序,将各个模块相互结合

7、,并包含有表示菜单的状态机。它还完成了File_ctrl和WAV_Reader之间的交互,以及File_RAM中的翻页效果(乒乓操作)。2.Console_ctrl该模块用来生成显示在屏幕上的字符,根据Main中状态机的状态合适地结合file_ram,将字符(ASCII码)写入Console_RAM。3.WAV_Reader该模块用来将wav文件格式转化成数字音频信号输出到WM8731_ctrl,从File_RAM读取数据。该模块还计算了播放的进度,使用一个复杂的竖式除法。4.SD_ctrl该模块与

8、SD卡相交互,获得SD卡上文件系统的FAT表,根目录表,以及文件对应的数据。将结果输出到SD_RAM以提供File_ctrl处理。该模块有一个命令列表,它的行为完全由File_ctrl控制。5.VGA_ctrl该模块从Console_RAM读取字符,并由片内的ROM生成字符点阵,输出至屏幕上。该模块还处理音乐播放器在播放时的进度条显示。6.WM8731_ctrl该模块与开发板上的WM8731芯片交互,完成设置音量以及音频输出功能。7.File_ctrl该模块向SD_c

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

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

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