基于双核单片机的音乐播放系统的研究

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:herozerg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:以基于双核单片机AT89C51SND1C以及K9F5608U,设计并实现了一个MP3播放系统,该播放系统能够实现mp3播放、歌曲信息显示、歌曲选择等功能,操作简单方便,成本低、系统可靠、易于扩展。
  关键词:MP3;单片机;AT89C51SND1C
  随着嵌入式技术的不断发展,MP3播放器已经在大众生活中越来越普遍。基于单片机的MP3播放器设计包含了很多当今流行的技术。由于各种技术的诞生,MP3播放器设计呈现出多样化的趋势。
  1 系统整体设计
  本系统主要实现一个MP3播放器的功能,其中包括文件传输和存储功能。为简化设计,降低成本,整个系统主控CPU采用的是双核AT89C51SNDIC,整个系统还包括K9F5608U,电源部分、音频部分、串行通信部分和人机接口部分组成。
  2 主要硬件电路设计
  本设计的主控CPU自带MP3解码模块,因此本设计主要硬件电路为音频放大以及文件存储模块。
  2.1 音频模块
  本系统采用的芯片是CS4330,该芯片能够支持48KHz,44.1KHz和32KHz的标准音频数据。音频数据通过SDATA引脚输入,LRCK引脚控制着左右声道以及相应数据的划分,而SCLK为即将输入懂啊缓冲区的数据提供时钟。CS4330没有配置引脚,无需软件配置。
  CS4330的数据格式是右对齐的18位数据格式,支持内部以及外部SCLK工作模式,且数据在SCLK信号的上升沿有效,可在软件中通过配置AT89C51SND1C的音频部件,确保正确工作。声音信号将数字音频信息送到芯片CS4330中,再通过TDA2822放大后进入音频输出设备,电路如下图所示。
  2.2 文件存储模块
  K9F5608U是Nand Flash芯片,韩国三星公司产品。这种Flash芯片被大量的应用在存储设备上,比如U盘、MP3、数码相机等。因AT89C51SND1C没有集成Nand Flash的访问控制器,故只能用单片机I/O口来模拟该芯片的通信时序实现数据的访存。K9F5608U外围电路图如图2所示。
  3 系统的软件设计
  3.1 软件整体设计方案
  根据系统的实际需求,软件可分为主程序、MP3、U盘控制等模块,在U盘控制模块中则有简单的文件系统和Flash读写程序用于U盘的读写。通信模块主要功能是用于调试为加强用户体验,该系统还加入了LCD模块显示歌曲信息,键盘模块用于切换歌曲。
  系统从主程序启动后,通过选择单片机的P口中的一个二进制位作为考察位,当它的电平为高电平的时候进入U盘模式,相反则为MP3播放模式。在需要进行程序的调试时,需要借助通信模块从串口输出一些信息。
  3.2 U盘控制模块
  U盘插入,主机得到U盘描述符后识别出U盘是支持bulk-only的海量存储设备。于是两者就通过bulk端点进行通信,主机和设备的通信过程即传输定义好的数据包的过程。
  对于一个USB海量存储设备而言,必须支持三个端点的数据处理。即:单0号端点和双非0端点。在程序结构设计上可以采取中断或者查询的方式,在不影响系统运行速度的情况下,这里采用程序查询的模式进行,即:逐步查询端点0、1、2是否产生中断,若有则执行相应的操作。本设计中端点0、1、2分别用于处理标准的USB,Bulk-In以及Bulk-Out请求[1]。
  3.3 MP3播放模块
  在每首MP3歌曲开始播放的时候,需要初始化MP3文件,即:从MP3文件的头部提取采样率等信息,通过设置,让采样率与MP3解码器模块中的时钟相匹配。如果开始检测到有标签ID3V2.3的标签头,则获得标签大小后将这些标签帧全部跳过,然后将帧头读取到内存中,根据MP3帧头的格式,分离出MPEG版本和采样率标识来,设置PLL时钟来满足MP3解码器和音频要求。
  MP3歌曲的采样率设置好以后,就播放该歌曲。在默认情况下,播放完一首歌曲,主控程序会继续播放下一首歌曲。
  在MP3播放程序中,数据是从K9F5608芯片到存储器然后再到解码器的缓冲区中,数据量是相当大的,因此,需要充分考虑到考虑到数据在传输过程中,程序的运行时间要与数据传输时间相匹配的问题,也就是程序的执行效率问题。实际上此类的程序的分析属于按数据流程思考问题的例子。具体地说,不能因为程序运行的效率不够高导致MP3解码器缓冲区填充的数据出现“断点”,声音缓冲区出现断电,播放出来的mp3必然有“断音”的情况出现,这就是因程序设计导致声音杂乱的原因所在。为了保证不出现间断的问题,需要保证MP3解码的速率不能比填充到缓冲区的速率大,不能让解码这个步骤“停止工作”。具体到程序中,从SRAM缓冲区复制到MP3解码器的时间要足够短,能够等待解码器确认信号,然后再进行下次操作。在这个时间里可以处理例如键盘中断服务程序设置标志位的查询与响应,本程序中判断是否暂停。
  另外一方面,MP3解码器也不能处于等待状态。与上面的情况相反,在等待的过程中处理太多的事情,最后解码器会出现等待的状况,这样也会影响到声音的播放。另外的一点就是,由于每一级的数据的读取都需要时间,从数据从FLASH中读取的最初阶段需要有一定的的提前量,不能出现解码器要数据才开始读的情况出现。
  4 系统的实现
  本文对MP3系统的设计进行了深入的研究,并借助AT89C51SND1C芯片设计了一个MP3播放器为例,实现一个MP3播放功能。整个系统由AT89C51SND1C、K9F5608U,供电模块、音频处理模块、串行调试模块部分和其他输入/输出模块组成。
  以下是MP3播放器功能正在运行,当前Flash里面存放了四首歌,系统将会不断地循环的播放这四首歌,并能调节音量,音调,曲目的切换操作。
  [参考文献]
  [1]张景璐,于京,马泽明.51单片机项目教程[M].北京:人民邮电出版社,2010.3:121-139.
  [2]陈海宴.51单片机原理及应用:基于Keil C与Proteus[M].北京:北京航空航天大学出版社,2010.
  [3]李軍.51系列单片机高级开发指南名[M].北京:北京航空航天大学出版社,2004.
  [4]李华,主编.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1996.
  [5]张毅刚,彭喜元,姜守达.新编MCS-51单片机应用设计[M].哈尔滨:工业大学出版社,2008.
其他文献
随着通信技术的迅猛发展,3G无线网络技术迅速崛起,无线网络的应用规模不断扩大,从而为无线视频监控的接入提供了方便。文章从目前传统视频监控在安全防范领域应用现状着手,探讨无
在分析传统医疗废物管理模式弊端的基础上,对福建省生态云平台医疗废物管理模块的建设思路和应用特点进行了研究,结合福建省医疗废物管理的需要,提出了构建物联网系统、建立
油田动态分析涉及大量的基础资料分析和基础图形的绘制,这些都给开发研究带来了诸多不便,本文为开发工作者介绍了一套新近推出的用于开发研究和动态分析的网络数据库应用软件。
近年来,数据新闻大行其道。国际知名媒体英国广播公司BBC、《纽约时报》、《卫报》和我国新浪、网易、搜狐等纷纷推出了自己的数据新闻作品和数据新闻频道。本文以正在兴起的
介绍了加筋土挡墙的加固机理以及破坏形式,针对加筋土挡墙设计与稳定性研究展开综述。结合变电工程与加筋土挡墙工程特性,认为采用土工格栅式加筋土挡墙能够适用于变电工程建
就收电子邮件而言.BlackBerry手机太棒了,但作为手机却未免累赘。BlackBerry7100成功“瘦身”,该手机键盘上的大多数键只有两个字母,并且软件能猜出你要键人的字。
当颌骨骨折合并颅脑血肿时,主要取决于颅脑血肿的严重程度[1].现对颌骨骨折与颅脑血肿同期发生而危及生命时,需同期手术治疗已有相关文章报道[2~5],现将我科11例颌骨骨折合并
局部麻醉在口腔颌面外科手术中被广泛应用,但也存在着术中镇痛不完全的缺点,特别是现在已普遍使用电刀作为常规的手术工具,所以在目前尚不能进行基础麻醉(如笑气吸入)+局部麻