百家樂包赢打法网上娱乐场: [应用相关] AN0039—开源Helix MP3解码算法Audio Decode by HELIX MP3

永利游戏开户直营
309|5
楼主
本帖最后由 muyichuan2012 于 2020-7-27 19:22 编辑

AN0039—Audio Decode by HELIX MP3



前言
本应用笔记介绍了如何将开源Helix MP3解码算法移植到AT32F4xx单片机方法。本文档提供的源代码演示了使用Helix MP3解码算法的MP3播放器应用程序。该MP3播放器应用程序使用SDIO接口读取SD Card中的MP3文件,百家樂包赢打法网上娱乐场:解码后通过一颗高品质的立体声编解码器WM8988进行播放。
本应用笔记的组织顺序如下:
1. 介绍 Helix MP3 解码算法。
2. 系统硬件、软件流程介绍。
3. 介绍应用所需硬件资源。
4. 使用应用程序需要的步骤。
支持型号
AT32F403xx
AT32F413xx
AT32F415xx
AT32F403Axx
AT32F407xx
目录
概述 .................................. 5
关于HELIX MP3 解码算法 .... 5
基于AT32 的MP3 播放器 ..... 5
软解MP3 流程 .................... 6
软解MP3 使用方法 ............. 8
硬件资源 ........................... 8
软解MP3 的使用 ................. 8
版本历史 .......................... 11

概述
MP3的全称为MPEG1 Layer-3音频文件,MPEG 音频文件是MPEG1标准中的声音部分,它根据压缩质量和编码复杂程度划分为Layer1、Layer2、Layer3三层,分别对应MP1、MP2、MP3这三种声音文件。其中MP3文件以一帧为一个编码单元,各帧编码数据是独立的。
关于HELIX MP3 解码算法
Helix解码算法可用浮点和定点实现。将该算法移植到AT32单片机时可考虑定点实现。该算法可运行在任意32位定点处理器上,并完全使用C语言编码,可选择用优化的汇编指令替换某些代码段。Helix提供对MPEG-1、MPEG-2和MPEG-2.5的第3层(Layer 3)支持。它支持可变位速率、恒定位速率,以及立体声和单声道音频格式。有关实现和特性的详细信息,请访问Helix社区:
http://www.ib955.com/Mp3dec
基于AT32 的MP3 播放器
本应用指南将介绍如何在AT32F403单片机上通过Helix解码算法实现MP3播放器,并提供基于AT32F4xx_StdPeriph_Lib和Helix算法的源代码。该MP3播放器应用程序使用SDIO接口读取SD Card中的MP3文件,解码后通过一颗高品质的立体声编解码器WM8988进行播放。而Artery提供了一块Audio Arduino Board,上面集成了Speaker、Microphone以及WM8988芯片电路。其中,对WM8988芯片的控制使用I2C接口,而音频数据传输使用I2S接口。结合AT-START Board可以方便快速的搭建起一套MP3播放器。


软解MP3 流程
了解了AT32软解MP3的硬件结构,下面我们来看一下系统软件流程,如下图2所示:


在上图中,MP3解码的内核逻辑以状态机的形式在程序中实现。下图3显示了此状态机的图形表示。当处于空闲状态时,状态机等待SD卡连接。设备连接后,代码尝试初始化SD卡文件系统。应用程序。将搜索SD卡中的MUSIC文件夹下的MP3文件。如果找到文件,则将文件名存储在mp3indextbl []数组中。然后打开第一个文件,代码将搜索第一个帧起始点。如果找到帧起始点,将从文件读取该帧的其余部分并传递给解码函数。已解码的音频帧发送到WM8988音频DAC器件进行播放。文件读取和解码操作将继续,直到文件结尾;然后将关闭该文件并打开下一个文件。


软解MP3 使用方法
硬件资源
1) AT-START-F403 V1.2 实验板
2) Audio Arduino Board (WM8988)
3) 外接 SD Card
4) 3.5mm 接口耳机



2019.02.25 第8 页 版本1.0.0
www.arterytek.com
软解MP3 使用方法
硬件资源
1) AT-START-F403 V1.2 实验板
2) Audio Arduino Board (WM8988)
3) 外接 SD Card
4) 3.5mm 接口耳机
图4. AT-START 结合Audio Arduino Board 使用
图5. AT-START 与SD Card Module 接线图
注:
1.该demo是基于AT32F403的硬件条件,若需要在AT32其他型号上使用,请修改相应配置即可。
2.供电部分:使用电源供电,或USB线供电(勿使用Link单独供电)。
3.此AT-START板不包含SD卡电路,所以需要自行外接SD卡。

软解MP3 的使用
1. 在SD卡根目录下建立一个“MUSIC”文件夹,并在里面存放mp3格式的音乐文件;

2. 将SD卡连接到AT-START Board相应的引脚,参考 图5;
3. 打开MP3 decode project源程序,编译后下载到实验板;
4. 连接3.5mm 耳机到Audio Arduino Board的LINE_OUT接口;
5. 按RESET复位,即可播放音乐;
6. 音乐播放过程中可通过按键(KEY1/USER_KEY)进行暂停/播放、音量+/-、上一首/下一首等操作。

由于AT-START Board 结合Audio Arduino Board使用时只提供两个按键,USER_KEY和KEY1。要实现上述复杂的暂停/播放、音量+/-、上一首/下一首操作需要对按键进行复用,按键逻辑如下:
USER_KEY:
1) 循环切换KEY1的功能1 — 功能5
KEY1:
1) 功能1:暂停/播放
2) 功能2:音量+
3) 功能3:音量-
4) 功能4:上一曲
5) 功能5:下一曲

另,可以连接USART1_TX(PA9),查看打印消息,包括音乐名,MP3帧头信息,出错信息等数据,如下图6、图7所示:



版本历史
2019.02.25 1.0.0 最初版本

AN0039_Audio_Decode_by_HELIX_MP3.zip (3.06 MB, 下载次数: 16) AN0039_Audio_Decode_by_HELIX_MP3_ZH_V1.0.0.pdf (548.64 KB, 下载次数: 15)



沙发
| 2020-7-27 01:01 | 只看该作者
好东西 好资料 感谢
板凳
| 2020-7-27 16:20 | 只看该作者
Audio Arduino Board能买到吗

评论

wsnsyy 2020-7-27 18:15 回复TA
@muyichuan2012 :能提供一下PCB图纸吗 
muyichuan2012 2020-7-27 17:54 回复TA
我们有做许多,请联系最近的方案商进行购买。Thanks. 
地板
| 2020-7-27 19:03 | 只看该作者
wsnsyy 发表于 2020-7-27 16:20
Audio Arduino Board能买到吗

如附件,希望对您有所帮助。

UM_Audio Arduino Daughter Board_V1.0.pdf

979.09 KB, 下载次数: 17

扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
澳门赌场安徽快3走势图 申博官网138游戏 北京pk10电子游戏 新葡京娱乐场官网首页手机app 菲律宾申博线上开户登入
聚星官网注册 金冠VR火星1.5分彩官网 澳门帝濠桑拿网上娱乐场 皇家国际是什么地方网上娱乐场 九五至尊平台游戏
孙志达 金沙网上娱乐场 天天六合彩官网 北京11选5走势图 威尼斯人棋牌下载 如何开博彩网站网上娱乐场
hb赌场德州扑克 博必发娱乐平台网站 太阳城线上娱乐开户 澳门除了赌场还有什么网上娱乐场 赌王娱乐在线赌博