嵌入式通用硬件模块设计——串口音频播放模块

模块功能展示:

串口音频控制模块

在这里插入图片描述

一、简介

方案为串口音频播放芯片+功放芯片,口音频播放芯片IC为my1690-16s,功放为PAM8406。

1、my1690-16s

迈优科技的一款由串口控制的插卡MP3播放控制芯片,支持串口控制播放指定音频、音量调节等功能。 支持MP3、WAV格式双解码,支持24 位 DAC 输出,模块最大支持32G TF卡,也可外接U盘或USB数据线连接电脑更换SD卡音频文件;

2、PAM8406

PAM8406是一款数字功放芯片,支持双声道,能够驱动2个5W的喇叭,建议喇叭使用3-4w左右,5W在大音量长时间使用时会发热现象,不过问题不大,模块可以在很多店铺购买,如淘宝、立创商城等平台,价格从几毛钱到2块左右不等。

二、电路设计

1、my1690-16s

参考芯片手册:
在这里插入图片描述
例如:
在这里插入图片描述

2、PAM8406

参考芯片手册:
在这里插入图片描述

例如:
在这里插入图片描述

3、完整参考电路

在这里插入图片描述
PCB工程已上传至“立创开源硬件平台”:
立创开源硬件平台-通用串口音频播放模块设计

三、STM32串口控制音频播放例程

1、打开例程

在笔者测试时,最初使用的是串口调试助手,我们还可以使用任意带串口的MCU进行编程控制音频播放,可在公众号“IOT趣制作”私信回复“0839”获取工程文件,打开“MP3-my1690-16s模块测试代码-keil工程”文件夹,工程主要添加了MP3.c和MP3.h文件,位于工程目录下的“.\HARDWARE\MP3”文件夹内。
在这里插入图片描述
在这里插入图片描述

2、MP3.C/H

keil工程中主要是使用STM32的串口3来发送十六进制的串口指令,在MP3的资源文件中,例如播放指定MP3的功能如下所示:

/*
*********************************************************************************************************
* 函 数 名: PlayMp3
* 功能说明: 播放指定MP3
* 形 参:uint8_t mp3num:1-65535
* 返 回 值: 无
*********************************************************************************************************
*/
void PlayMp3(uint8_t mp3num)
{
    //起始码 长度 操作码 曲目高位 曲目低位 校验码 结束码
    //7E     05     41      00       01      45     EF
    uint8_t arry[]={0x7E,0x05,0x41,0x00,0x00,0x00,0xEF};    
    arry[3]=mp3num/256;
    arry[4]=mp3num%256;
    arry[5]=(arry[1]^arry[2]^arry[3]^arry[4]);
    USART3_Send_Hex_Buff(arry,7);
}

烧录例程,大家就可以尝试使用STM32控制音频模块播放各种MP3了。
好的,下面是一个ES7210和STM32F407ZET6进行音频采集的硬件设计方案: 1. 硬件原理图 首先,需要连接ES7210和STM32F407ZET6,如下图所示: ![image](https://cdn.luogu.com.cn/upload/image_hosting/s0j2x5rs.png) 2. 硬件连接说明 - 连接ES7210和STM32F407ZET6的I2S接口,其中ES7210的BCK、LRCK、DATA_IN分别连接到STM32F407ZET6的I2S3的SCK、WS和SD引脚,DATA_OUT不需要连接。 - ES7210的I2C接口连接到STM32F407ZET6的I2C1接口,其中ES7210的SCL和SDA分别连接到STM32F407ZET6的PB6和PB7引脚。 - ES7210的时钟源可以选择外部晶振或者内部PLL时钟,如果使用外部晶振,需要将晶振连接到ES7210的XTAL1和XTAL2引脚。 3. 硬件设计注意事项 - 在使用ES7210和STM32F407ZET6进行音频采集时,需要注意ES7210的I2S接口和时钟源的配置,具体可以参考ES7210和STM32F407ZET6的数据手册中的相关章节。 - 在进行硬件布局时,需要注意将ES7210和STM32F407ZET6的I2S接口和时钟引脚分开布局,以避免信号干扰。 - 在进行PCB布线时,需要注意音频信号和时钟信号的阻抗匹配,以避免信号失真和噪声。 4. 软件设计 在进行音频采集时,需要在STM32F407ZET6上使用相应的驱动程序来配置I2S接口和I2C接口,以实现与ES7210的通信和音频数据的采集。具体的软件设计可以参考STM32F407ZET6的数据手册和ES7210的数据手册中的相关章节。 希望以上内容对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOT趣制作

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值