采用STM32F103作为微控制器有很多优势,STM32F系列属于中等容量增强型,是32位基于ARM核心的带64或者128KB闪存的微控制器,在市场上是性价比很高的产品。本设计主要有控制模块、WiFi无线模块、音频解码模块 VS1003B、SD卡,其系统结构框图如图1所示。
图1 系统结构框图
工作流程:点击智能手机客户端软件上的播放按钮,通过WiFi模块接收到命令后,STM32F103读取SD卡中的MP3音乐文件,然后将读取的数据通过 SPI传输到音频解码芯VS1003B,经过解码转换后发送到耳机听筒,实现播放音乐功能;点击暂停按钮,STM32F103停止读取SD卡里的MP3 音乐文件数据,这样就能实现停止播放音乐功能;点击其他按钮,也能实现相应的功能。
本设计主要特点如下:
① 在开放的Android系统控制终端设计的基础上,使用支持组件的重用和替换应用程序框架。使用交互式图形界面清晰美观,操作控制简单,设计出来的产品经过用户体验反映非常好。
② 本设计摒除了传统音乐播放系统对专用控制按键的依赖,通过用户的手机就能实现对音乐播放器播放、暂停等的控制,大大方便了用户的操作。这样设计出来的音乐播放系统不仅具有一般音乐播放器的功能,而且具有将控制端和硬件部分分离的优势,实现了对音乐播放系统的远距离控制。
音频解码模块:VS1003B是一个单片MP3/WMA/MIDI 音频解码器和ADPCM 解码器。它包含一个高性能、自主产权的低功耗的DSP处理器核VS_DSP4,工作数据存储器为用户应用提供5KB的指令ROM 和0.5KB的数据RAM。其还具有串行的控制和数据接口、1个高品质可变采样率的ADC和立体声DAC、4 个常规用途的I/O 口、1 个UART,以及1个地线缓冲器和耳机放大器。
STM32F103将从SD卡里读取的MP3音频数据流传给音频解码模块,音频解码模块将该数据流解析并转换成模拟信号后再进行输出。VS1003B与STM32F103的数据通信是通过J2排针上的SPI总线方式进行的。音频解码模块电路的原理图如图2所示。
图2 音频模块解码电路图