基于fpga的mp3音乐播放器说明书说明书

基于fpga的mp3音乐播放器说明书说明书

ID:11321977

大小:106.59 KB

页数:43页

时间:2018-07-11

基于fpga的mp3音乐播放器说明书说明书_第1页
基于fpga的mp3音乐播放器说明书说明书_第2页
基于fpga的mp3音乐播放器说明书说明书_第3页
基于fpga的mp3音乐播放器说明书说明书_第4页
基于fpga的mp3音乐播放器说明书说明书_第5页
资源描述:

《基于fpga的mp3音乐播放器说明书说明书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MP3播放器说明文档43目录一、实现过程2二、代码说明42.1设计代码42.1.1顶层模块:【songer.vhd】42.1.2乐谱发生模块【NoteTabs.vhd】62.1.3乐谱码查表模块【ToneTaba.vhd】72.1.4时钟分频模块【DCM_12MHZ.vhd】82.1.5数控分频模块【Speakera.vhd】102.2.测试代码:112.2.1测试顶层模块【tb_songer.vhd】112.2.2测试Speakera模块【tb_spk.vhd】122.2.3测试DCM_12MHZ模块【tb_clk12mhz.vhd】12三、操

2、作过程1443一、实现过程1.制作乐谱查找表:找出不同音符的发音频率,寻找最佳待分频频率,计算分频数和分频预置数,制作乐谱查找表。如何选择基准频率很关键。若基准频率比较小,用他除以音符频率得到的分频系数也就比较小,这样的话进行四舍五入后误差相对而言会比较大。若基准频率偏大,分频系数也就偏大,这会增加系统的负担。综合考虑分频系数的准确性和大小,基准频率为750khz是比较合适的。由于我们从开发板的内部时钟分频得到的750khz的频率信号是脉宽极窄的尖脉冲信号,为了提高扬声器有足够的功率发音,我们对尖脉冲信号再进行二分频,得到对称方波后再输出。因此,

3、在表1中,就是以375khz为基准频率计算了各个音符的分频系数和分频预置数。选择11位二进制数表示分频系数和分频预置数(计数初值),因此最大值为2047。休止符不用进行分频,分频系数为0,频率为375000hz。分频系数和分频预置数的计算方法:分频系数=375000/音符频率分频预置数(计数初值)=2047-分频系数表1各个音符的频率及其对应的分频系数(基准频率375KHz)音符名频率(Hz)分频系数计数初值音符名频率(Hz)分频系数计数初值休止符37500002047中音4698.4565371510低音1261.5251435513中音578

4、3.9904781569低音2293.6641277770中音68804261621低音3329.6271138909中音7987.7663801667低音4349.22810221025高音11046.5023581689低音5391.9959571090高音21147.6593271720低音64408521195高音31318.5102841763低音7493.8837591288高音41396.9192681799中音1523.2517171330高音51567.9812391808中音2587.3296381409高音617602131

5、834中音3656.2555711476高音71975.53719018572.预置曲谱:定义一个转换规则,将音乐音符转换为代码预置在程序里。我们称预置在程序里的代码为乐谱代码。音符转换为乐谱代码的规则为:休止符转换为代码0,低音1-低音7转换为代码1-7,中音1-中音7转换为代码8-14,高音1-高音7转换为15-21。现在一般乐曲中,最小的节拍为1/4拍。若定义1拍的持续时间为1秒,那43么1/4拍的持续时间就为1/4秒,即0.25秒。其他的节拍数为1/4拍的整数倍,因此他们的持续时间就为0.25秒的整数倍。将乐曲中每个音符以及持续的节拍数写

6、进程序,定义一个4hz的时钟频率,每当时钟上升沿来临时就输出1/4拍音符,若是其他1/4拍整数倍的音符就连续输出整数倍的次数。这样,音符就源源不断的输出了。3.对预置的曲谱码在乐谱查表码里进行查找,找出相应音符对应频率的分频系数和分频预置数。4.根据查找到的分频预置数对待分频频率(750khz)进行分频并把输出连接到集成运放电路Vin实现音量调节。音量调节的原理图如图1所示。按图1所示电路图连接电路,Vout接扬声器。通过调节滑动变阻器R2就调节音量。图1音量控制电路43二、代码说明2.1设计代码2.1.1顶层模块:【songer.vhd】lib

7、raryIEEE;useIEEE.STD_LOGIC_1164.ALL;--加入函数库ENTITYSongerISPORT(clock:inSTD_LOGIC;--时钟信号输入rst:inSTD_LOGIC;--复位信号输入CODE1:OUTINTEGERRANGE0TO7;--简谱码输出显示HIGH1:OUTstd_logic;--高八度音显示SPKOUT:OUTSTD_LOGIC);--发音输出ENDSonger;ARCHITECTUREBehavioralOFSongerISCOMPONENTNoteTabs—添加notetabs元件POR

8、T(clk:INSTD_LOGIC;ToneIndex:OUTINTEGERRANGE0TO15);ENDCOMPONENT;COMPO

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

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

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