基于ARM开发MP3的设计实例及其分析-戴瀚林_第1页
基于ARM开发MP3的设计实例及其分析-戴瀚林_第2页
基于ARM开发MP3的设计实例及其分析-戴瀚林_第3页
基于ARM开发MP3的设计实例及其分析-戴瀚林_第4页
基于ARM开发MP3的设计实例及其分析-戴瀚林_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 20 11 -20 12 学年第 2 学期实 验 报 告实验课程名称 电子产品设计 专 业 班 级 电信1001 学 生 姓 号 学 生 姓 名 戴瀚林 实验指导教师 刘加海 基于ARM开发MP3的设计实例及其分析1. 引言在当今社会中,MP3已经成为了人们娱乐生活中一种不可缺少的物件,下面就让我们来分析一下MP3的设计实例。1.1设计目的MP3(MPEGLayer3)是一种音乐格式,它能够将CD品质的数字录音压缩成极小的文件,并将其存储在电脑之中。与磁带和CD不同,MP3可以让您根据自己的意愿安排音乐的播放顺序,既迅速又轻松!这样可以更好地娱乐和丰富我们的生活。1.2设计背景随着微电子技术

2、的飞速发展,嵌入式产品以其自然的人机交互界面和丰富的多媒体处理能力迅速得以推广,并取得了巨大成功。目前,在多媒体音频领域中,MP3播放器占据了绝对的主导地位。但现有的MP3播放器驱动能力非常有限,只适合个人使用,不能满足大型公共场所在不同区域播放不同背景音乐的多通道播放需要。基于以上分析,本文设计了一种基于ARM的Clinux环境下的多通道专业MP3播放器1。1.3功能说明目前市场上流行的MP3设备从功能和性能上已经远远超出了原来播放器的范畴,逐步发展成为集音频播放(包括MP3之外的音乐格式)、录音复读、文本阅读、移动存储、FM收音等功能为一体的多媒体掌上设备。有的高端MP3设备甚至还集成了音

3、频编辑处理、电影播放等功能。 2. 整体设计方案说明我们的整个设计是基于ARM开发板的,方案的设计过程以及主要流程如下图图 12.1 整体功能模块分析图 2为了提高系统运行效率,实现多通道播放管理,本系统选用三星公司的S3C44B0X作为核心处理器,主要负责数据转换,输出通道的选择,以及LCD的控制。同时,选用意法半导体的STA013作为解码芯片,配合AK4393实现模拟音频信号的输出,此外,使用SL811HS和ISP1520提供两个主USB接口,以实现移动硬盘或U盘的挂接。数据以帧为单位 每帧由帧首部 边带信息 编码数据和辅助数据四个主要部分组成, 设其 PCM 采样频率为 Sampling

4、 frequency , 位速率为 bit rateCD 音质的音乐一般为双声道立体声,采样频率为 44.1kHz,位速率为 128kbps 可得每帧的播放时间约为 0.02612ms 每帧需要处理的数据长度约为 418B 为了达到实时播放效果 要求解码器处理数据的时间必须少于播放时间2。2.2 详细功能分解及原理说明MP3 解码原理 首先将数据帧解包 解出帧头信息和边带信息 然后采用霍夫曼解码解出比特分配信息 接着在逆变换中利用频谱系数 在综合滤波器中将 32 个子带合并成一个宽带信号 18 个频谱值执行 32 次逆改进型离散余弦变换 将生成的 576 个频谱值变换成长度为 32 的 18

5、个连续的频谱 通过 18 次运算 多相位综合滤波器将这些频谱变换到时域 完成波形重构 生成立体声 PCM 音频数据。通过利用内置式或外置式话筒进行录音模拟输入 模拟信号经过PCM 编码以及压缩编码后存储在 FLASH 存储器中以备播放时调用数字输入采用 USB 接口输入 播放时 只需按播放键就可以将 FLASH存储器中的 MP3 文件通过 MP3 解压缩 DA 转换变成模拟音频信号输出。主控制逻辑模块在接收用户接口控制模块和 USB 接口模块送来的信号后产生各种控制信号 协调和控制 MP3 的各种操作 它可以细分为主逻辑控制和播放逻辑控制 其中主逻辑控制模块控制各项功能的优先次序 为其他逻辑模

6、块提供控制信号 并实现操作 MAS3507D内部的参数寄存器 以改变其各项参数设置 如采样频率 音量 功耗模式等 播放逻辑控制模块实现 MP3 播放器的音乐播放操作 在接到主逻辑模块送来的 PLAY 操作指令后 插入 Read 信号送给 FLASH 控制模块 音乐数据从 FLASH 存储器中以 PIO-DAM 模式传送给STMP1342 进行解码3。主要原理结构图图 3用户接口控制模块用于控制用户操作及驱动 LED 显示器显示当前的 MP3 播放器的状态 它包含用户接口和 LED 显示 用户接口负责处理 PLAY REW 等各种操作 当用户按下其中的任一按钮时 产生一个相应的上升沿 LED 显

7、示负责驱动 LED 显示器 显示系统状态信息 如音乐 音量等。FLASH 控制模块设计的最大成本因素是存储 MP3 音频文件所需的大量 FLASH内存 FLASH 控制模块不仅控制音乐 FLASH 和地址 FLASH 存储器而且当执行用户操作时 还控制这些 FLASH 存储器的地址FLASH 控制模块还可以进一步细分为下载控制模块 用户命令控制模块和 FLASH 逻辑控制模块 根据所选择的操作 FLASH 逻辑控制模块产生合适的 FLASH 控制信号。音频数字模拟转化器接口 由两个独立的功能模块组成 每一个模块对应到个别的串行端口 控制端接口实际上是由软件执行的 2 位I/O 端口 可以实现

8、DAC 中控制缓存 器和状态缓存器所用的 I2C 协议。电源管理模块对于 MP3 播放器的可靠性和低功耗性是至关重要的 PUP 信号线指示 STMP1342 DC/DC 转换电压是否已稳定 如稳定则激活信号线 开启 STMP1342 否则电压不足 应关闭 MP3 播放器。USB 接口实现 MP3 音乐文件到 FLASH 存储器中 在下载操作开始之后 下载信号被传送给主控制逻辑模块和用户接口控制模块 以在操作期间忽略其他任何操作。前面已经完成了 MP3 播放器各个模块部分的设计 下面把这些部分组装起来 形成完整的总体设计 命名 MP3 其外部端口如图 4各个输入输出端口的功能如下:1 CLK 为

9、外部时钟信号 CLP 为复位信号2 PLAY 为高电平时 表示用户按下 PLAY 键 播放器启动3 Dnld_mode 为高电平时 表示用户插入 USB 键口信号下载操作2.3 功能实现流程系统多通道播放采用的基本方法是(以四通道为例):当系统上电以后,解码控制信号为了实现对每一个解码通道的具体工作状态控制,通过采用外接一个四路转换开关(CD4066),控制各路通道解码芯片的工作状态。转换开关四路通道的输入部分连接CPU的IIC总线的IICSDA,通过与CPU相连的多个控制引脚(CTRL1,2,3,4),确定控制数据的传输方向。四路通道的时钟信号则直接连接在CPU上,只有控制数据传输时才发生作

10、用。在播放过程中,CPU实时响应各通道传输数据的请求,选通该路的解码芯片,被选通的解码芯片对从总线上获取的mp3文件数据进行解码,而未被选通的解码通道则忽略总线上的音频数据。当数据请求的中断请求信号由高变低,系统开始响应下一次数据请求。通过这种各通道交替工作的方式,实现四通道同步播放的功能4。3. 具体功能实现3.1 硬件实现图 4图 5体积小重量轻实现耳挂式,传统的 MP3 携带不是很方便 而且耳机非常容易损坏, 使用ARM 嵌入式使更小的芯片拥有更多的功能 重量减小可实现耳挂式。轻薄屏幕可实现多功能,耳挂式体积小加之轻薄屏幕 可使之功能齐全而不影响外观 而且有了轻薄保护屏膜 可以使 MP3

11、 的易损坏部位得到改善。STOP 为高电平时 表示用户按下 STOP 停止播放FWD/REW 为高电平时 表示选中下一曲/上一曲的 FLASH 地址存储器 读取 MP3 数据VOL+/VOL-为高电平 表示用户接口模块内的音量计数器增1 或减 1.7 DISPLAY 表示系统的音频输出4。3.2 软件实现驱动程序的设计本系统所编译的Clinux内核中包含有USB、LCD等驱动程序,只要根据需要适当的修改便可以应用。但是对于MP3解码部分芯片的驱动需要自己编写。音频驱动程序实现的主要功能是:(1)系统启动时可以完成芯片的初始化;(2)具体操作时可以提供给操作系统合适的软件接口。音频驱动初始化程序

12、如下:void STA013_Init(void)if(STA013_SendCommand(RESET_REG,0,0x00) /复位STA013 STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00) /未激活状态 STA013_PrintError();if(STA013_SendCommand(PWR_CON_REG,0,0x00) /上电 STA013_PrintError();if(STA013_SendCommand(FS_CON_REG,0,I STA013L_FsValueSysInfo.SamplingIn

13、dex) /选择采样频率 STA013_PrintError();if(STA013_SendCommand(IF_CON_REG,0,0x02+(06) /选择16位IIS数据格式 STA013_PrintError(); if(STA013_SendCommand(ANG_CTL_REG,0,0) / 0x13, 0x12选择DAC STA013_PrintError(); 和Line In输入模式if(STA013_SendCommand(DGT_CTL_REG,0,0x00) / DAC静音 STA013_PrintError();if(STA013_SendCommand(LHP_V

14、OL_REG,0,0x00) /左声道音量 STA013_PrintError();if(STA013_SendCommand(RHP_VOL_REG,0,0x00) /右声道音量 STA013_PrintError();if(STA013_SendCommand(ACT_CON_REG,0,0x00) /数据传送激活 STA013_PrintError();播放程序的设计作为本系统的一个主要创新点,在多通道部分设计合理且高效的播放程序代码很重要,在这里采用的是将待解码的MP3文件先由USB设备复制到内存的缓冲区,再由缓冲区发送给解码器的方法。播放时,程序会根据每个通道的歌曲信息将MP3文件流

15、从USB设备复制到相应的缓冲区中。其主要实现代码如下:for(i=0;i4;i+) if(dbufi=malloc(BUF_LEN)=NULL) printf(Allocation %d Error n, i); exit(1); 操作界面的实现完整的MP3播放器设备需要有一个简洁的操作界面。本系统的操作界面选用MiniGUI软件进行编写,通过对MiniGUI运行模式的选择、MiniGUI的移植以及界面程序的编写,最终的操作界面如图4所示。整个操作界面简洁明了,系统在开机后提供了当前时间,以及播放、设置和复位按键,可以直接通过播放键来实现多通道播放功能,通过设置键进行歌曲目录的编排5。图 63

16、.3 产品整合设计多通道MP3播放器与传统的MP3播放器相比,具有许多优势,可以满足大型公共场所对背景音乐更高性能的需求。多通道MP3播放器可以实现多个音频输出通道同步播放,并可以通过USB接口外挂存储设备实现歌曲的大容量存储。此外,系统还提供了串口、以太网等一系列接口,方便与外部进行数据交换和软件升级。多功能设计,在不增加系统成本或增加很少系统成本的情况下 可以增加一些其他的功能以增加卖点, 主要可以考虑的附加功能如 FM 收音长时间录音部分,PDA 功能等。集成扬声器,在现有的便携式 MP3 基础上集成扬声器 以取代传统盒式磁带录音机。4. 产品人机交互设计4.1 人机界面设计MP3是 1

17、998底开发出的新产品,是人类进入信息时代在工作和生活中不可缺少的工具。MP3的外观造型,操作方式,界面设计关系到人们的选购与使用。随着科学技术的不断发展。流行风格的日益变化,MP3也在不断地转变中。根据人们的需求,结合社会经济,技术,文化状况,研究适合人们使用的产品,能给用户以及商家带来更大的利益6。图 74.2 硬件人机交互设计包装的好坏直接关系着产品能否顺利到达用户的手中,除了足够漂亮来吸引更多的消费者之外,内包装的质量更是非常的重要,简单直接的隔开空间,让每个物件各居其位,同时还需要有良好的减震能力,更好的保护机器和其它配件对于包装来说比外观更加重要。如果要带着MP3出门远行,那么充电器等物件就必不可少了,是否方便携带和方便连接使用是关系到用户能否在旅途当中音乐相伴的关键。同时充电器插口的兼容性很重要,关系到如果遗失能否马上买到新的使用。其实在附件上有很多细节都能够体现厂商的用心,比如挂绳材料的使用,不同的产品应该会对应不同的挂绳;比如皮套或者便携袋的配备;比如耳塞海绵套的备用等等,这并非是产品优劣的评判,但却是产品人性化的重要因素。 按键的设置,尽量将按键的大小设置的符合人的手的指头的大小,按键要采用材质较软的材料,让人在按键的时候感觉更加舒适。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论