当前位置: 首页 > news >正文

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

模块功能展示:

串口音频控制模块

在这里插入图片描述

一、简介

方案为串口音频播放芯片+功放芯片,口音频播放芯片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     EFuint8_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了。
http://www.lryc.cn/news/145065.html

相关文章:

  • 【PLSQL】PLSQL基础
  • 【C++笔记】C++内存管理
  • 十四五双碳双控时代下的“低碳认证”
  • Android——基本控件(下)(十九)
  • 聚类分析 | MATLAB实现基于DBSCAD密度聚类算法可视化
  • reactantd(12)动态表单的默认值问题
  • 无涯教程-Python机器学习 - Stochastic Gradient Boosting函数
  • SOLIDWORKS中多实体文件到装配体的转换技巧
  • Transformer (Attention Is All You Need) 论文精读笔记
  • Git企业开发控制理论和实操-从入门到深入(二)|Git的基本操作
  • Positive Technologies 专家帮助修复 Western Digital 网络存储设备中的一个危险漏洞
  • 【springboot】springboot定时任务:
  • 腾讯云学生服务器申请、学生认证入口及学生机价格表
  • pip安装mysqlclient依赖报错 /bin/sh: 1: mysql_config: not found如何解决
  • 基于paddleocr的版面分析
  • 网工内推 | IT网工,华为、华三认证优先,15k*13薪
  • leetcode 739. 每日温度
  • 【活体检测模型】活体检测思路推演
  • 【微服务部署】03-健康检查
  • SQL注入之报错注入
  • 基于大数据+django+mysql的银行信用卡用户的数仓系统
  • 【网络】多路转接——五种IO模型 | select
  • sql顺序倒序查询
  • java和sql生成时间维度数据
  • HUT23级训练赛
  • sm4 加解密算法工具类( Java 版 )
  • Redis项目实战——商户查询缓存
  • 重磅OpenAI发布ChatGPT企业版本
  • # Go学习-Day7
  • uniapp-form表单