MP3播放方案
happygrilclh
物联网
展开
-
MP3 功能原理 及 软件方案设计(一)
播放电路通常包含数字信号存储器、数模转换器(DAC)、功放、扬声器或耳机。存储器中的数字信号经过解码后发送到DAC进行转换,DAC的模拟输出通过电容交流耦合到功放的输入端,放大器必须能够提供足够的电流驱动低阻扬声器。解码的作用: 就是将音频的压缩编码数据,解码成为非压缩的音视的原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等。解码的过程是整个系统中总重要和最复杂的一个环节,通过解码,压缩的音频数据输出为非压缩的音频抽样数据,例如PCM的数据。...原创 2019-09-27 16:02:13 · 1573 阅读 · 0 评论 -
基于stm32移植FATFS文件系统
1. 下载FATFS系统源码:http://elm-chan.org/fsw/ff/arc/ff14a.zip或者http://elm-chan.org/fsw/ff/ffsample.zip(平台示例项目)2. ff14a/source 下就是需要的文件。ff.c FatFs模块。ffconf.h FatFs模块的配置文件。ff.h FatFs和应用程序模块的通用包含文件。diskio.h FatFs 和disk I / O模块的公用...原创 2020-12-13 12:09:12 · 980 阅读 · 0 评论 -
fatfs 测试文件
#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "lcd.h"#include "usart.h"#include "sram.h"#include "malloc.h"#include "string.h"#include "mmc_sd.h"#include "ff.h"#include "exfuns.h"#include "usmart.h"#include "fatfs.原创 2020-12-11 23:08:05 · 452 阅读 · 0 评论 -
得到指定目录下,MP3文件的总个数
功能:得到指定目录下,MP3文件的总个数//得到path路径下,MP3文件的总个数//path:路径 //返回值:总有效文件数u16 mp3_get_tnum(void){ int rval = 0; DIR dir2; FILINFO fno2; FRESULT res; char mp3_path[256] = "0:/MUSIC"; res = f_findfirst(&dir2, &fno2, mp3_path, "*.mp3"); whi原创 2020-12-11 23:03:30 · 294 阅读 · 0 评论 -
功能打印出SD卡MUSIC内,所有文件。
功能打印出SD卡MUSIC内,所有文件。源码:DIR dir1;FILINFO fno1;char path[256] = {0};UINT i =0;FRESULT scan_files (char* path){ res = f_opendir(&dir1, path); if(FR_OK == res) { for(;;) { res = f_readdir(&dir1, &fno1); //读目录 if(FR_OK !=原创 2020-12-11 22:56:50 · 304 阅读 · 0 评论 -
测试 VS1053 的步骤
测试 VS1053 的步骤:1. ram 测试,读到的值是0x83FF,则表明mcu 与 VS1053 之间 spi 通信成功,VS1053 工作正常。2. sin 测试。 耳机听到嘟嘟的声音。表明 VS1053 后端,音频开关选择器,放大器等电路ok.3. 播放声音。播放音乐例程:FIL fil_mp3;FRESULT res;char mp3_buf[4096] = {0};UINT br1;UINT mp3_index = 0;BYTE flag = 1;in...原创 2020-12-09 19:02:02 · 1162 阅读 · 1 评论 -
文件和目录管理
f_statf_stat函数检查文件或子目录是否存在。FRESULT f_stat( const TCHAR * path, / * [IN]对象名* / FILINFO * fno / * [OUT] FILINFO结构* / 如果不需要,则设置空指针。);描述该f_stat功能检查文件或子目录的存在。如果不存在,则函数返回FR_NO_FILE。如果存在,该函数将返回FR_OK,并将有关对象,大小,时间戳和属性的信息存储到文件信息结构中。FRESUL翻译 2020-12-09 17:15:42 · 931 阅读 · 0 评论 -
文件系统目录操作函数
typedef struct { FSIZE_t fsize; / *文件大小* / WORD fdate; / *最后修改日期* / WORD ftime; / *最后修改时间* / BYTE fattrib; / *属性* / #if FF_USE_LFN TCHAR altname[FF_SFN_BUF +1]; / *替代对象名称* / .翻译 2020-12-08 17:16:27 · 1102 阅读 · 0 评论 -
文件操作函数
f_open函数打开一个文件。 //打开/创建文件FRESULT f_open( FIL * fp, / * [OUT]指向文件对象结构的指针* / const TCHAR *路径,/ * [IN]文件名* / BYTE模式 / * [IN]模式标志* /);/ *打开一个文本文件* / f_open(&fil,“ message.txt”,FA_READ);http://elm-chan.org/fsw/ff/doc/ope..原创 2020-12-08 09:25:05 · 490 阅读 · 0 评论 -
FatFs文件系统中,文件操作函数
FatFs为应用程序提供各种文件系统功能 档案存取 f_open-打开/创建文件 f_close-关闭打开的文件 f_read-从文件读取数据 f_write-将数据写入文件 f_lseek-移动读/写指针,扩展大小 f_truncate-截断文件大小 f_sync-刷新缓存的数据 f_forward-将数据转发到流 f_expand-将连续块分配给文件 f_gets-读取字符串 f_putc-写一个字符 f_puts-写一个字符串 f_print..翻译 2020-12-08 09:18:05 · 1813 阅读 · 0 评论 -
音频的比特率,码率
比特率 是指 每秒传送的比特(bit)数。单位bps(Bit per Second),比特率越高,传送数据速度越快。声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标。比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。作为一种数字音乐压缩效率的参考性指标,比特率表示单位时间(1秒)内传送的比特数bps(bit per second,位/秒)的速度。通常使用kbps(通俗地讲就是每秒钟1000比特)作为.原创 2020-12-01 12:06:04 · 18720 阅读 · 0 评论 -
FatFs 文件系统 ffconf.h的配置
#define _USE_STRFUNC 1 //启用字符串函数,但是不进行LF-CRLF转换的。#define _USE_MKFS 1 //启用(1)f_mkfs功能。在逻辑驱动器上创建FAT卷#define _USE_FASTSEEK 1 //启用(1)快速查找功能可启用f_lseek,f_read和f_write功能的加速模式。#define _USE_LABEL 1 //启用(...原创 2019-10-24 17:47:42 · 2850 阅读 · 0 评论 -
FATFS 文件系统
FATFS 文件系统一.概念1.定义负责 管理 和 存储 文件信息 的 软件机构 ,叫做文件管理系统。2.使用场景:FatFs是用于小型嵌入式系统的通用FAT / exFAT文件系统模块。FatFs模块是按照ANSI C(C89)编写的,并且与磁盘I / O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC,AV...原创 2019-10-24 16:16:15 · 1385 阅读 · 0 评论 -
基于stm32的内存管理(X)
一、简介1. 功能内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。 2. 概念内存管理的实现方法有很多种,他们其实最终都是要实现2个函数:malloc和free。malloc函数用于内存申请。free函数用于内存释放。从上图可以看出,分块式内存管理由内存池和内存管理...原创 2019-10-22 17:07:53 · 450 阅读 · 0 评论 -
VS1053B 音频编解码器芯片的介绍(二)
二、和外围电路的接线图:三、SPI接口(音频数据传输接口)介绍SPI 引脚介绍SPI 接口是用来传输音频数据的。引脚连接图如下:因为VS1053B工作的是时候,执行两种协议:一种是串行数据接口的串行协议(SDI),一种是串行命令接口的串行协议(SCI).所以片选有两个XCS and XDCS.其他引脚DREQ 说明: DR...翻译 2019-09-27 15:35:04 · 13938 阅读 · 2 评论 -
解码-VS1053B简解及实现(三)
定义:VS1053是荷兰VLSI公司推出的一款高性能编解码芯片。该芯片可以实现对MP3/OGG/WMA/FLAC/WAV/AAC/MIDI等音频格式的解码。同时还可以支持ADPCM/OGG等格式的编码。特点:VS1053芯片内部还带了一个可变采样率的立体声ADC(支持咪头或线路输入)、一个高性能立体声DAC及音频耳机放大器。●支持音量调节、高低音控制和EarSp...翻译 2019-10-02 22:02:34 · 9331 阅读 · 0 评论 -
简述SD卡的工作原理(四)
简述SD卡的工作原理功能SD卡是存储卡,它的功能就是存储。分类SD卡按容量分类,可以分为3类:SD卡、SDHC卡、SDXC卡,如下: 容量 命名 简称 0~2G Standard Capacity SD Memory Card SDSC或SD 2...原创 2019-10-17 20:41:38 · 12099 阅读 · 0 评论 -
驱动SD卡的详细过程(五)
SDIO 驱动 SD 卡,主要涉及两个步骤:1. SD卡的识别过程2.SD卡数据传输过程下图是SD 卡识别过程:以下4个图,是SD 卡传输数据的过程:以上内容的理解,是根据SD卡2.0协议得来的。可参考协议的内容如下:注: 中间数据传输的4个图 ,摘自原子。...原创 2019-10-17 18:03:51 · 768 阅读 · 0 评论 -
SDIO控制器驱动SD卡的步骤一: SD卡上电(六)
本文讲解SD卡上电的步骤:主机应为卡供电,以使电压在250ms内达到Vdd_min,并且开始向SD卡提供至少74个SD时钟,同时保持CMD线为高电平。如果是SPI模式下,CS应在74个时钟周期内保持高电平。•通电后(包括热插入,即在总线运行时插入卡)SD卡进入空闲状态。对于SD主机,则不需要CMD0。如果是SPI主机,则CMD0为将卡发送到SPI模式的第一个命令。•在物理层规...原创 2019-10-17 14:52:56 · 3788 阅读 · 0 评论 -
SDIO定义(七)
SDIO定义SDIO,全称: Secure Digital Input and Output ,即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、照相机等。SDIO和SD卡规范间的一个重要区别是增加了低速标准。低速卡的目标应用是以最小的硬件开支支持低速I/ O能力。低速卡支持类似调制解调器、条码扫描仪和GPS...原创 2019-10-17 21:10:18 · 507 阅读 · 0 评论