打印
[LPC]

NXP LPC1768宝马开发板 第二十一章 宝马1768——MP3循环播放

[复制链接]
686|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开发环境:集成开发环境μVision4 IDE版本4.60.0.0
主机系统:Microsoft Windows XP
开发平台:旺宝NXP LPC1768开发板
21.1 VS1003简介
21.2 硬件描述
21.3 程序说明
21.4  实验现象
1VS1003简介:
VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP 处理器核VS_DSP,工作数据存储器,为用户应用提供5KB 的指令RAM 和0.5KB 的数据RAM。串行的控制和数据接口,4个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。
VS1003 特性:
●能解码 MPEG 1 和MPEG2 音频层 III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;WAV(PCM+IMAAD-PCM);产生MIDI/SP-MIDI 文件。
●对话筒输入或线路输入的音频信号进行IMAADPCM编码
●支持 MP3 和WAV 流
●高低音控制
●单时钟操作12..13MHz
●内部PLL锁相环时钟倍频器
●低功耗
●内含高性能片上立体声数模转换器,两声道间无相位差
●内含能驱动30 欧负载的耳机驱动器
●模拟,数字,I/O 单独供电
●为用户代码和数据准备的5.5KB片上RAM
●串行的控制,数据接口
●可被用作微处理器的从机
●特殊应用的SPI Flash引导
●供调试用途的UART接口
●新功能可以通过软件和4 GPIO 添加
2、硬件描述:
如图是VS1003电路图,通过LPC1768通过SPI0接口与VS1003连接,P0.0P0.1分别控制命令和数据片选,P0.4接数据请求引脚
3、程序说明:
      本例程是在已有移植好的Fatfs文件系统进行添加,在这里就不介绍Fatfs文件系统移植等操作了,直接调用即可。
程序开始先初始化VS1003、初始化LCD3.2寸)、初始化AD转换用于调节音量、初始化文件系统后开始查找SD卡根目录下的mp3文件并存放在缓冲区,开始逐个播放缓冲区里面的mp3文件,当播放到文件尾后从头开始播放,并检测滑动变阻器值来改变播放音量。对于硬件下mp3解码相对比较简单,将VS1003初始化完成后,将SD卡里面的mp3文件读出来后直接通过SPI接口传送到VS1003进行解码即可。因此这里主要介绍VS1003的初始化,首先是初始化LPC1768VS1003相连的SPI接口及命令数据片选端如下:
VS1003软件复位:通过向SCI_MODE寄存器SM_RESET位写1即可,当复位成功后自动清零;
设置时钟:3倍频,允许WMA流解码时给倍频器增加的额外的倍频值1.5倍,其中每位含义可参考SCLCLOCKF寄存器定义;
设置音量:高八位代表左声道,第八位代表右声道,数值越小音量越大,初始化将音量设置为0x4040,即左声道40-20dB)右声道40-20dB),主函数中通过检测滑动变阻器值设置音量,只需想0x0B寄存器写入对应的值即可。
4、实验现象:
    将SD卡(不大于2G)内装入mp3音频文件插在开发板SD卡座上,插上3.2寸彩屏模块,下载程序复位后,彩屏上面显示播放音频文件名(这里不支持中文歌曲名显示),将耳机插在J3耳机插座上,可以听到播放的mp3歌曲,程序为循环播放歌曲。
【21】宝马1768_mp3循环播放(2014.05.10).rar (236.28 KB)




相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专业生产销售STM32开发板,仿真器,http://openmcu.taobao.com/

71

主题

283

帖子

11

粉丝