历史上的今天
今天是:2025年02月25日(星期二)
2020年02月25日 | DIY你的电子玩具:FLAC高保真数字音频播放器
2020-02-25 来源:elecfans
一、项目概述
1.1 引言
目前,大部分的音乐文件都是以mp3格式来保存的,mp3是一种有损的音频压缩格式,它无法完美地再现原版音乐。随着存储器容量的扩大、网络带宽的增加、处理器性能的增强以及人们对生活品质要求的提高,无损音乐越来越受到人们的青睐,对无损音乐播放器的需求也就越来越大。
1.2 项目背景/选题动机
我们希望能在AVR单片机上实现一个“FLAC高保真音频播放器”。播放器用ATMEL的EVK1105套件来实现,它将从SD卡、U盘和网络中读取音频文件,并对其进行解码及播放。该播放器能播放高保真音频文件,具有设备体积小、操作简单和便于携带使用等优点。
二、需求分析
2.1 功能要求
音频播放:能支持FLAC格式的音频播放
音频文件的存储介质:支持SD卡、移动硬盘、U盘、网络流中音频文件的读取和播放
力争实现对APE格式的支持
2.2 性能要求
播放文件的采样频率:48-96kHz
播放文件的采样精度:16/24位字长
三、方案设计
3.1 系统功能实现原理
系统通过读取本地存储器(SD卡、U盘、移动硬盘)上的音频文件,或者从网络接口获取数据流,得到音频数据,然后通过AT32UC3A0512 MCU进行解码播放操作。

图1 系统硬件结构框图
3.2 硬件平台选用及资源配置
系统使用AVR EVK1105开发板,该开发板资源配置如下:
AT32UC3A0512处理器,最高主频66MHz;
立体声音频输出;
全彩QVGA(320*240)LCD显示屏;
JTAG接口;
USB OTG接口;
SD和MMC读卡器;
10/100Mbps的以太网接口;
TLV320AIC23B编解码芯片
3.3系统软件架构
系统组件可分解为如下图所示的模块:

图2 系统模块图
系统层模块
文件系统:由于要读取SD卡、U盘上的文件,所以要在底层实现一个文件系统,如fat。
网络协议栈:播放器可以接收网络流媒体,这需要网络协议栈的支持,如LwIP。
设备驱动:由于程序中会使用LCD、按键、SD card读卡器、USB接口、网络接口、编解码芯片,需要为它们实现驱动。
应用层模块
音频获取:
从网络流或者SD卡、U盘中读取音频文件。
音频解码:
解码音频数据,并进行播放。
播放器UI:
用于控制播放的过程,例如开始播放、停止播放,以及响应用户的其它操作请求。
3.4 系统软件流程

图3 程序运行流程图
系统在启动之后,进行相关的初始化工作。初始化结束、进入了开始界面之后,若用户按下按钮播放音乐,那么就选择播放本地音频或者网络音频:若选择本地音频文件,则读取SD卡、U盘、移动硬盘中的相应文件并进行播放;若选择网络音频文件,则接收网络音频数据流并进行播放。播放完毕后,重新回到开始界面。
3.5 系统预计实现结果
该系统能够播放SD卡、U盘和移动硬盘上存储的FLAC文件,也可以播放网络流媒体;由按键来控制播放器,在LCD上显示音频信息。此外,争取实现对APE格式文件的支持。
下一篇:使用AVR实现PWM波
史海拾趣
|
请教各位高手: 我按照LM2678资料上的图搭了一个电路,输入电压35V,输出电压25V,带5欧姆负载,希望输出5A电流; 芯片用的是LM2678-ADJ,输入电容是470UF的铝电解电容再并一个0.47UF的瓷介电容;R1 ...… 查看全部问答> |
|
针对产品:EX系列中EX-375可调开关电源 性能: 带PFC最大输出功率375W 0-60V输出可调 0-25A可调 特性:在低电压输出时能保证大电流输出,高电压时能保证小电流输出设定 可控制功率恒定 精度良好,可靠性五星 背面图 (前进后出的风道结 ...… 查看全部问答> |
|
我原来访问PCI卡都是直接调用板卡的驱动,我昨天听人说可以通过设置一块卡做为主控设备,其它卡为辅助设备,主控设备里如果是程序,就可以编程直接访问辅助设备的IO,而不需要计算机的干扰。 我以前还没有见过,请问这个方式可以实现吗?需要怎么 ...… 查看全部问答> |
|
1.用PB定制系统时 Release和Debug有什么区别 Debug版的要占用更多的内存吗? 我的程序在Release版下 可以正常运行 在Debug版下 系统提示内存不足。 … 查看全部问答> |
|
visual softICE 使用时设置断点的问题,求各位大侠帮忙,在线等.... 我是采用双机调试的,连接已经没有问题了,现在问题是,我在调式机上下了个断点后(采用bpx user32!messageboxa)已经没有提示任何错误了,然后在虚拟机上响应一个Messagebox消息的时候,结果在调式机上没有反应,有个疑问在visual softICE下面TOOL ...… 查看全部问答> |
|
意法半导体(ST)为STR91x的用户提供免费的TCP/IP协议栈(中文稿) 意法半导体(ST)为STR91x设计人员提供免费TCP/IP网络协议栈占位率低、软件厂商支持的网络协议栈,促进使用面向网络的微控制器开发以太网应用 中国,2008年2月28日 — 意法半导体(纽约证券交易所代码:STM)为其联网设备用STR ...… 查看全部问答> |
|
xsh.c(531): warning: #1-D: last line of file ends without a newline Kile4中出现如上警告时,在最后一行末尾单击回车,创建新行,即可解决。… 查看全部问答> |




