DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1600|回复: 0
打印 上一主题 下一主题

[待整理] DIY你的电子玩具:FLAC高保真数字音频播放器,方案设计、硬件平台、软件架构

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 08:13:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、项目概述
        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格式文件的支持。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-28 06:57 , 耗时 0.095597 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表