本次使用宝马NXP LPC1768作为实验平台,将LPC1768作为USB主机,挂载U盘,通过读取U盘里面的MP3文件,传送给VS1003进行解码播放。
VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP 处理器核VS_DSP,工作数据存储器,为用户应用提供5KB 的指令RAM 和0.5KB 的数据RAM。串行的控制和数据接口,4个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。这里就不对VS1003做详细介绍了,具体可以参考宝马开发板VS1003 MP3播放与录音例程及例程说明。
本实验是在宝马开发板USB主机U盘挂载例程基础上进行修改,使用NXP官方提供的nxpusblib库,添加VS1003操作与方向键配置,U盘枚举成功后,挂载fatfs文件系统,对于我们可以直接对文件进行打开读写操作,其程序播放主流程如下:循环检测按键状态,上下左右控制歌曲的音量加、音量减、上一曲、下一曲等,通过串口打印播放歌曲名称及音量大小。