我们以STM32F103作为微处理器,设计一个低成本的无线WiFi音乐播放系统,结合接收WiFi数据的WM-G-MR-08(wm631)模块和VS1003B音频解码器实现MP3音乐播放。基于Android系统开发的客户端软件采用手机控制,完成手机端与控制端之间的数据传输,实现手机远程对音乐播放器的控制。结果表明,该系统设备简单方便、成本较低、系统可靠、易于扩展。本设计基于已经发展成熟的WiFi无线网络,充分利用WiFi覆盖范围广、传输速度快、抗干扰能力强等优点。Android具有开源性、封装性、性价比高等优点,基于Android系统开发的客户端软件移植性强,通用性高。采用手机作为控制终端,便于操作。手机通过无线网络(WiFi)对音乐播放系统进行控制,可以实现方便、快捷、智能化的要求。
音频解码模块
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总线方式进行的。音频解码模块电路的原理图如图1所示。
图1 音频模块解码电路图
WiFi无线模块
WiFi(Wireless Fidelity,无线保真技术)的最大优点是传输速度较高,而且能自动调整带宽,可以有效地保障网络的稳定性和可靠性。该设计采用的WM-G-MR- 08模块不仅具有WiFi的功能,而且能提供小尺寸和高数据速率的无线连接,可应用于无线PDA、DSC、媒体适配器、微型打印机、条码扫描器、VOIP 电话等。数据存储装置是该WM-G-MR-08潜在的应用,在嵌入式上的应用主要集中在移动装置方面。在设计中,WM-G-MR-08模块通过开发板上的 J1排针的SPI引脚与主控芯片通信,ANT1SMACON为无线网卡,其原理图如图2所示。
图2 WM-G-MR-08模块图
本设计是在ARM7平台上构建WiFi,成本优势明显。采用当前较新的控制方式—智能手机软件控制+无线网络,不仅能充分利用WiFi的传输速度快、覆盖范围广等优势,而且基于Android的平台建设成本低、使用方便。同时,这种方式采用的手机软件具有通用性,市场应用价值高,易于推广,能为用户提供优质、方便快捷的音乐播放服务。
关键字:STM32F103 WiFi播放系统
引用地址:
采用STM32F103的低成本WiFi播放系统电路设计
推荐阅读最新更新时间:2024-03-16 15:19
如何使用STM32F103C8的GPS模块获取位置坐标
GPS代表全球定位系统,用于检测地球上任何位置的纬度和经度,具有精确的UTC时间(协调世界时)。该设备每秒接收来自卫星的坐标,包括时间和日期。GPS 提供了很高的准确性,并且除了位置坐标之外还提供其他数据。 我们都知道 GPS 是一个非常有用的设备,在手机和其他便携式设备中非常常用来跟踪位置。它在各个领域都有非常广泛的应用,从在家中叫出租车到跟踪飞机的高度。 在本教程中,我们将GPS 模块与 STM32F103C8 微控制器连接,以查找位置坐标并将其显示在16x2 LCD 显示屏上。 所需组件 STM32F103C8微控制器 GPS模块 16x2 液晶显示器 面包板 连接电线 GPS模块 这是一个 GY-NEO6MV2
[单片机]
基于stm32CubeMX和keil5的stm32f103学习编程
0. 准备 先用st-link连接stm32核心板与PC,用于烧录 St-link Stm32 3.3V 3.3V GND GND SWDIO DIO SWCLK DCLK 再用USB串口板连接,用于查看串口输出 USB Stm32 RX TX(A9) TX RX(A10) 安装完成驱动并连接好以后,进入设备管理器可以看到它们都已被识别。 打开putty.exe,选择串口连接,用于查看之后的串口输出。 1. 编写Cube程序,配置UART0为9600,8n1,上电后向串口输出“Hello”,在PC上通过串口软件观察结果; 安装完成并打开CubeMX软件,选择New P
[单片机]
STM32F103C8T6使用外部中断法和输入捕获法进行编码器测速
01 前言 如果我们想对 电机 进行速度或者转角的精确控制,需要使用到很多 算法 ,比如非常经典的 PI D控制算法,或者一些只能算法,但这些算法都需要 传感器 来提供转速或转角的反馈值,对于电机来说, 编码器 是非常流行并且实用的电机配套传感器,本文使用 STM32 F103C8T6+L298N+MG513P30电机进行直流电机的编码器测速。 02 编码器原理 1.分类 光电 式编码器的精准度比霍尔式要高,但是由于它需要 红外 线发生器和 接收器 ,相对来说造价要贵一些。现在我们比较常用的是霍尔式增量编码器,有很多电机都会自带编码器。 2.测速方法分类 (1)M法测速 编码器输出的脉冲个数代表了位置,那么单位时间里的
[单片机]
STM32f103系列 USART2 串口2通信
最近在做一个工程要用到多个串口同时通讯的,就参考了正点原子的串口通讯例程,发现例程是USART1 串口1的,后面我想改成USART2 串口2的,上网找了资料,要不是不靠谱,要不就是要积分下载。所以后面自己写了一个可用程序来和大家分享! .c文件 #include usart2.h void USART2_Init(u32 My_BaudRate) { GPIO_InitTypeDef GPIO_InitStrue; USART_InitTypeDef USART_InitStrue; NVIC_InitTypeDef NVIC_InitStrue; // 外设使能时钟 RCC_APB2PeriphCl
[单片机]
stm32F103的端口与管脚的功能定义表
一、端口与引脚的定义 二、FSMC引脚定义 FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用的一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展.
[单片机]
STM32F103控制AD7606采集模拟信号
1、配置STM32F103的SPI口 void AD7606_Port_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(AD_SPI_CS_GPIO_CLK | AD_SPI_MISO_GPIO_CLK | AD_SPI_SCK_GPIO_CLK, ENABLE); RCC_APB1PeriphClockCmd(AD_SPI_CLK, ENABLE); /////////////////////////SPI_CLK///////////////////////
[单片机]
单片机stm32F103单片机晶振不起振的原因分析
这是我在做单片机最小系统板时候碰到的问题,之前虽然也做过相似的板子,可是未曾出现过无源晶振不起振的问题。下面是我在遇到问题后的一些检查,排除问题的过程。本人小菜鸟一个,文章中如有错误和不足,还望各位大佬指正和补充。 事情是这样的,本人做了一款32单片机最小系统板(先叫它老大),在老大出来之前的前五个月,我用相同的PCB板焊了一款用在毕设上面,那个是能正常工作的。板上有个小负载,LED灯。想让这个灯闪烁。代码是没有问题的,因为下载到从网上买的单片机是正常工作的。用JLink下载到自己做的板子上也是能下载进去的,但是不工作。怀疑晶振没起振。用示波器测量晶振引脚对地为一个高电平,而控制那个灯亮的管脚一直是高电平。买回来的板子
[单片机]
STM32F103控制ad7606采集程序分享
stm32f103系列性能 1. 速度,跟51和AVR相比,相当快了。 2. 容量,目前能直接购买到512K FLASH的。 3. 管脚,64,100,144等,只可惜,小管脚(少于32腿的),没有 4. RAM, 48K,跟AVR的4K相比,太庞大。 5. 外设,5个USART,2个IIC,2个SPI,USB,等等,常用的都有。 6. 软件,STM有自己的固件库,可加速开发,不用再细看寄存器。 ad7606特性 8/6/4路同步采样输入 真双极性模拟输入范围: +10V, +5V 5V单模拟电源,VoRIVE: 2.3V至5V 完全集成的数据采集解决方案 模拟输入箝位保护 具有1 MQ模拟输入阻抗的输入缓冲器 二阶抗混叠模
[单片机]