今天逛开源平台,看到了一个MP3。
虽然它看起来很小一只,但是它可以……
1.播放音乐
音质还不错耶
2.电子书阅读
……好适合摸鱼啊(不是)
3.玩游戏
游戏一:小孔龙跳一跳
游戏二:俄罗斯方块
……好适合摸鱼啊(不是)
4.读取SD卡
支持SD卡,也支持直接通过USB导入导出文件。
最让我感到不得了的是,它的DIY成本,竟然只有49。
平时爱自己做点DIY的人都知道,这真不高了。
其硬件设计,也很简单,分析一下!
一、硬件设计硬件部分基于STM32F103RET6实现。
基于嘉立创EDA设计的原理图
基于嘉立创EDA设计的PCB图
想实现上面的功能,电路设计部分,得重视这3处:
如何实现,接入Type-c后,既能下载程序,又能拷贝文件?
1.USB接口电路
该部分电路利用了TypeC接口的两面性,将两组D+D-信号线连接到两个不同的设备,实现了:
正向插入是U盘,用于拷贝文件反向插入是串口,用于下载程序及打印输出这么小的MP3,咋设计锂电池充电电路,才合适啊?
2.锂电池充电电路
采用的充电芯片是TP4055,充电的时候红色的指示灯亮,充满之后红色的指示灯灭。
PROG引脚的接地电阻用来控制充电电流,电阻越小充电电流越大,最小不得低于1.66K,建议使用2K的接地电阻,此时充电电流约100mA。
电池电量采集部分,采用两个分压电阻,建议采用100K(上图10K为标注错误)
兼容更多SD卡的方法?
3.SD卡电路
SD采用的是SDIO4线模式连接。
图中没有在数据线和命令线上增加上拉电阻,导致设备无法兼用一些廉价的SD卡。如有需要,可以在板子上额外添加5个上拉电阻。建议使用0603封装的电阻。
二、软件代码1.软件源码
所有的软件代码均已经开源:https://oshwhub.com/dr.zhang/mp3
克隆代码后,使用Keil打开编译即可。
2.烧录方法
①将设备连接到电脑,使用设备的CH340串口功能
②使用SSCOM烧录软件,选择设备对应的串口,打开编译好的Hex文件
③选择 小工具 -> STM32/GD32 ISP -> 点击开始下载
④按住OK键,开机,设备将进入下载模式
下载过程如下图所示:
最后,总结一下【MP3播放音乐】的原理:
SDIO从SD卡读取音频文件,进行MP3解码,解码后的数据通过IIS输出到Code芯片CS4344,同时使用LCD显示播放进度 。
【正文完】
你的点赞+关注,就是我的动力~