文档详情

硬件课程设计-基于FPGA的MP3音乐播放器设计.doc

发布:2018-07-23约1.06万字共13页下载文档
文本预览下载声明
基于FPGA的MP3音乐播放器设计 ——预置乐曲播放器设计 摘要:本次课程设计的主题是‘基于FPGA的MP3播放器’,这是一个发展空间很大的课题,研究者可以根据自己的能力水平和兴趣爱好自由发展。我们组实现的功能是‘预置乐曲的播放’。本次设计是在BASYS2实验开发板上实现,使用xinlinx13.1软件,利用VHDL硬件描述言语设计数控分频器电路,利用数控分频原理设计音乐硬件播放数字电路,将音乐数据存放在程序中,利用时钟驱动音符输出,通过集成运放调节音量,达到了乐曲播放的效果。程序中存放的音符数据易修改,只要修改程序中所放的的音符数据,将其转换为其他乐曲的音符数据,就可以实现不同乐曲的播放。 关键字:FPGA;xilinx;VHDL;预置音符;音乐播放 目录 摘要 - 1 - 一、绪论 - 3 - 1.1研究背景 - 3 - 1.2基本技术简介 - 3 - 1.2.1可编程逻辑器件FPGA - 3 - 1.2.2硬件描述语言VHDL - 3 - 1.2.3开发软件xilinx - 4 - 二、需求分析和研究思路 - 4 - 2.1需求分析 - 4 - 2.2研究思路 - 5 - 三、系统设计 - 5 - 3.1系统原理 - 5 - 3.1.1音调控制 - 6 - 3.1.2音长控制 - 6 - 3.1.3乐谱发生器 - 7 - 3.1.4音量控制 - 7 - 3.2系统结构 - 8 - 3.2.1各功能模块概述 - 8 - 3.2.2系统整体原理框图 - 9 - 四、详细的程序实现和仿真分析 - 9 - 4.1时钟分频模块 - 9 - 4.2乐谱码发生模块 - 10 - 4.3乐谱码查表模块 - 11 - 4.4数控分频模块 - 11 - 4.5音量放大模块 - 12 - 4.6顶层模块 - 12 - 五、结论 - 12 - 六、个人感想 - 13 - 一、绪论 1.1研究背景 在电子技术的飞速发展的今天,电子产品的种类越来越多,功能越来越强大,体积越来越小,功耗越来越低。随着经济的快速发展,人们对生活质量的要求也越来越高,在越来越高效率的生活条件下,人们需要来音乐来释放压力,而体型庞大的随身听已经满足不了人们的需求。在此背景下,MP3应运而生。MP3播放器,顾名思义也就是可播放MP3格式的音乐播放工具+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”,在芯片的设计中完成对电路板的设计,减少了电路板连线,提高了系统集成度,降低了可能的干扰,增加了系统的可靠性和稳定性,提高了设计的灵活性和效率,大大提升了技术指标。 1.2基本技术简介 1.2.1可编程逻辑器件FPGA FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA 在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。它采用专用的集成电路,用户不需要投片生产就可以得到合用的芯片。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一,功耗低,是小批量系统提高系统集成度、可靠性的最佳选择之一。 本次课程设计使用的是BASYS2开发板,是一个基于xinlinx Spartan-3E 可编程逻辑器件和Atmel AT90USB2 USB 控制器的电路设计和实现的平台,USB电缆提供电源和编程接口,所以他没有其他的电源供应器和编程电缆。BASYS2开发板向用户提供完整的,准备使用的,硬件适合托管范围的,基本的逻辑器件复杂控制器的电路,开发板上包括I/O设备和所必须的FPGA支持电路,不需要任何其他组件就可以实现无数的电路设计。 1.2.2硬件描述语言VHDL VHDL语言是一种超高速集成电路硬件描述语言,是用于电路设计的高级语言,事实上已成为通用的硬件描述语言。VHDL主要用于描述数字系统的结构、行为、功能和接口,他的语言形式十分类似于一般的计算机高级语言。他的程序特点是将一个设计实体分成外部和内部,外部又称可视部分,或者端口,同理,内部又称不可视部分,涉及实体的内部功能和算法完成部分Xilinx ISE Design Suite 13.1,利用它编写VHDL程序,仿真,综合编译并生成后缀为.bit的数据文件。 二、需求分析和研究思路 2.1需求分析 MP3播放器的功能可以有很多,基本功能就有从SD卡读取文件,通过扬声器播放音乐,通过调节按钮调节音量等。还可以有多个扩展功能,如通过LED显示歌曲的歌曲名、演唱者、播放时间等相关信息,快进后退,暂停等。甚至可以实现
显示全部
相似文档