WiFi控制的无线音乐播放系统设计
引言
目前市场上音乐播放器款式多样,能实现很丰富的功能,外观设计也更美观,更能满足用户的需要。但是,现有的音乐播放系统大多采用键盘、触摸平板等设备对音乐播放系统进行控制,使用此种控制终端只能进行本地控制,不能实现远程控制,造成控制方式不够方便、快捷。现代人对生活品质要求越来越高,要求音乐播放系统的操作越来越简单化、智能化。
本设计基于已经发展成熟的WiFi无线网络,充分利用WiFi覆盖范隔广、传输速度快、抗干扰能力强等优点。Android具有开源性、封装性、性价比高等优点,基于Android系统开发的客户端软件移植性强,通用性高。采用手机作为控制终端,便于操作。手机通过无线网络(WiFi)对音乐播放系统进行控制,可以实现方便、快捷、智能化的要求。
1系统设计
采用STM32F103作为微控制器有很多优势,STM32F系列属于中等容量增强型,是32位基于ARM核心的带64或者128 KB闪存的微控制器,在市场上是性价比很高的产品。本设计主要有控制模块、WiFi无线模块、音频解码模块VS1003B、SD卡,其系统结构框图如图1所示。
图1 系统结构框图
工作流程:点击智能手机客户端软件上的播放按钮,通过WiFi模块接收到命令后,STM32F103读取SD卡中的MP3音乐文件,然后将读取的数据通过SPI传输到音频解码芯片VS1003B,经过解码转换后发送到耳机听筒,实现播放音乐功能;点击暂停按钮,STM32F103停止读取SD卡里的MP3音乐文件数据,这样就能实现停止播放音乐功能;点击其他按钮,也能实现相应的功能。
本设计主要特点如下:
①在开放的Android系统控制终端没计的基础上,使用支持组件的重用和替换应用程序框架。使用交互式图形界面清晰美观,操作控制简单,设计出来的产品经过用户体验反映非常好。
②本设计摒除了传统音乐播放系统对专用控制按键的依赖,通过用户的手机就能实现对音乐播放器播放、暂停等的控制,大大方便了用户的操作。这样设计出来的音乐播放系统不仅具有一般音乐播放器的功能,而且具有将控制端和硬件部分分离的优势,实现了对音乐播放系统的远距离控制。
2硬件电路设计
2.1音频解码模块
VS1003B是一个单片MP3/WMA/MIDI音频解码器和ADPCM解码器。它包含一个高性能、自主产权的低功耗的DSP处理器核VS_DP4,工作数据存储器为用户应用提供5 KB的指令ROM和0.5 KB的数据RAM.其还具有串行的控制和数据接口、1个高品质可变采样率的ADC和立体声DAC、4个常规用途的I/O口、1个UART,以及1个地线缓冲器和耳机放大器。
STM32F103将从SD卡里读取的MP3音频数据流传给音频解码模块,音频解码模块将该数据流解析并转换成模拟信号后再进行输出。VS1003B与STM32F103的数据通信是通过J2排针上的SPI总线方式进行的。音频解码模块电路的原理图如图2所示。
图2 音频模块解码电路图
2.2 SD卡接口模块
SD卡是最为通用的数据存储卡,具有价格低、存储容量大、使用方便、通用性与安全性强等优点,因此MP3、MP4、MP5、Pad和数码相机等设备上的存储卡均为SD卡。SD卡支持的总线模式为SD模式和SPI模式,本设计中采用SPI模式。图3为SD卡模块(J10排针上的SPI模式)的接口电路。
图3 SD卡模块图
2.3 WiFi无线模块
WiFi(Wireless Fidelity,无线保真技术)的最大优点是传输速度较高,而且能自动调整带宽,可以有效地保障网络的稳定性和可靠性。该设计采用的WM-G-MR-08模块不仅具有WiFi的功能,而且能提供小尺寸和高数据速率的无线连接,可应用于无线PDA、DSC、媒体适配器、微型打印机、条码扫描器、VOIP电话等。数据存储装置是该WM-G-MR-08潜在的应用,在嵌入式上的应用主要集中在移动装置方面。在设计中,WM-G-MR-08模块通过开发板上的J1排针的SPI引脚与主控芯片通信,ANT1 SMACON为无线网卡,其原理图如图4所示。
图4 WM-G-MR-08模块图
3嵌入式软件设计
设计采用RealView MDK开发套件作为软件开发平台,嵌入式软件采用C语言编写,操作系统采用μC/OS-II.μC/OS-II是用C语言和汇编语言编写的,结构简洁精练,可读性很强,同时又具备实时操作系统的大部分功能,并且通过适当的扩展之后,可被广泛用于多种应用场合。
系统启动后,先初始化STM32F103,然后初始化SD卡、音频解码模块、WiFi无线模块,最后是μC/OS-II系统初始化。当WiFi指令判断为播放指令时,由微控制器将SD卡的一些基本信息送到FAT文件系统接口处进行读取,获取SD卡的容量、FAT表及根目录所在的起始扇区。通过这些信息就可以判断出SD卡是否存储有音频解码模块可以解码并播放的音乐文件。若有该音乐文件,控制器将通过SPI总线方式读出该文件的音频信息,并将音频的数据流信息送入到音频解码模块中,由VS1003B芯片解码后,再通过内含的高质量的立体DAC和耳机驱动电路,就可以实现音乐的播放。程序流程图如图5所示。
- 基于ARM7内核的IP电话设计(01-06)
- 基于ARM7的路灯监控通信终端的设计(05-12)
- 拨开数字家庭迷雾,分析前进方向(10-02)
- 迎接移动多媒体高清视频挑战(10-07)
- 为 PDA 应用设计用户界面 (10-07)
- 电容传感器减少Wi-Fi超薄手机机械按键(02-05)