「基于单片机的MP3播放器设计_毕业设计」.doc

上传人:小飞机 文档编号:4751070 上传时间:2023-05-13 格式:DOC 页数:20 大小:461KB
返回 下载 相关 举报
「基于单片机的MP3播放器设计_毕业设计」.doc_第1页
第1页 / 共20页
「基于单片机的MP3播放器设计_毕业设计」.doc_第2页
第2页 / 共20页
「基于单片机的MP3播放器设计_毕业设计」.doc_第3页
第3页 / 共20页
「基于单片机的MP3播放器设计_毕业设计」.doc_第4页
第4页 / 共20页
「基于单片机的MP3播放器设计_毕业设计」.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《「基于单片机的MP3播放器设计_毕业设计」.doc》由会员分享,可在线阅读,更多相关《「基于单片机的MP3播放器设计_毕业设计」.doc(20页珍藏版)》请在三一办公上搜索。

1、基于单片机的MP3播放器设计本课题来源于生产实践音频信号数字化后所面临的一个不容忽视的问题是:巨大的数据量给存储和传输带来的压力。因此音频压缩技术在广播专业领域、网络传输及多媒体应用中受到广泛关注,成为音频信号处理的关键技术之一。MPG(Movi PictureEe Grup)运动图像专家组,在192年底制定了第一个世界范围的Hi-Fi(HighFidelity)质量的音频编码标准MEG-1。MPEG-1分为三种不同的方式,称为Laer1、Layer2和Le3。序号越高,复杂性越大,但是可提供更好的编码效率,特别是在低比特率时。P3就是MPEG Laer3,是基于感知编码的算法,目前在音质的声

2、音压缩方面,是一种通用的方法。使用MP3标准对于音频数据编码既可以获得较大的音频数据压缩比,又可以得到较好的音乐回放质量。P3的解码器结构复杂,涉及到大量的数学计算,对处理器与内存的要求相当高。目前,AT8951处理器以其高性价比,丰富的外设资源,越来越受到各种嵌入式研发人员的青睐5-。基于以上背景,我在此次设计中提出了A8C51SN1C微处理器的软件解码方案,在降低硬件成本的基础上保证高质量的播放效果。1.22课题研究的意义P音频播放器的最合理工作速度为3Mips,而一个典型的视频媒体播放器的理想速度则为1Mips,所以提高P3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。

3、M3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP。由于闪存式P的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式P3的多功能及大容量,也必将受到不少消费者的喜爱。另外一个原因是近年来,嵌入式系统与单片机开发的有机结合,已广泛被应用于网络通信、工业控制、机顶盒、PDA等诸多领域8。本文提出了一种基于单片机的MP播放器的设计方案,这就进一步的体现了该设计的灵活性。目前该设计方案已经实现,实践证明,此播放器拥有市面MP3所有的全部功能并能够很好的运行。MP3播放器一般分成3个部分:P、M硬件解码器存储器。其中可以将前两部分集成在一起,即带M3硬件解码器的CPU;或将后

4、两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘。通过用MP编码技术,可以得到大约2:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同D原声区别不大,不影响一般音乐爱好者对音乐的欣赏。M3大大缩小了声音文件的长度,使音乐的存储和传输更方便。2M3的编解码过程2. M3的工作原理一个完整MP3播放器要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频/A和功放、显示界面和控制键、其中中央处理器和解码器是整个系统地核心。这里的中央处理器我们通常成为U(单片微处理器),简称单片机。它运行MP3的整个控制

5、程序,也称为feware(或者固件程序)。控制3的各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作;显示系统运行状态等任务。解码器是芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码,由高速中央处理器完成)。它可以直接完成各种格式MP3数据流的解码操作,并输出M或IS格式的数字音频信号。存储设备是MP3播放机的重要部分,通常的P随身听都是采用半导体存储器(LH EMORY)或者硬盘(DD)作为储存设备的11。它通过接收储存主机通讯端口传来的数据(通常以文件形式),回放的时候MCU读取存储器中的数据并送到解码器。数据的存储是要

6、有一定格式的,众所周知,P管理磁盘数据是以文件形式,MP亦不例外,最常用的办法就是直接利用P的文件系统来管理存储器,微软操作系统采用的是T文件系统,这也是最广泛使用的一种12。播放机其中一个任务就是要实现FT文件系统,即可以从FT文件系统支持的磁盘中按文件名访问并读出其中的数据。主机通讯端口是P播放机与C机交换数据的途径,PC通过该端口操作MP3播放机存储设备中的数据,拷贝、删除、复制文件等操作。目前最广泛使用的是USB总线,并且遵循微软定义的大容量移动存储协议规范,将M3播放机作为主机的一个移动存储设备。这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI协议13-1。音频D

7、C是将数字音频信号转换成模拟音频信号,以推动耳机、功放等模拟音响设备。这里要介绍一下数字音频信号。数字音频信号是相对模拟音频信号来说的。我们知道声音的本质是波,人们能听到的声音频率在20z到20kHz之间,称为声波。模拟信号对波的表示是连续的函数特性,基本的原理是不同频率和振幅的波叠加在一起。数字音频信号是对模拟信号的一种量化,典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化。单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值,每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来就是数字音频信号了。这是AC(模拟数字转换)过程,DAC(数字模拟转换)过程相反

8、,将连续的数字按采样时候的频率转换成对应的电压。P解码器解码后的信息属于数字音频信号(数字音频信号有不同的格式,最常用的是PM和I2S两种),需要通过AC转换器变成模拟信号才能推动功放,被人耳所识别。22 MP3播放器编码过程2.2.1 编码分析一、音频信号数字化信号的数字化就是将连续的模拟信号转换成离散的数字信号,一般需要完成采样、量化和编码三个步骤,如图2-1所示。采样是指用每隔一定时间间隔的信号样本值序列来代替原来的时间上连续的信号;量化是用有限个幅度近似表示原来的时间上连续变化的幅度值,把模拟信号的连续幅度变为有限数量、有一定时间间隔的离散值;编码则是按照一定的规律,把量化后的离散值用

9、二进制数码表示。上述数字化的过程又称为脉冲编码调制,通常由AD转换器来实现。模拟音频信号低通滤波器编码数字流采样量化图21音频信号数字化数字音频信号经过处理、记录或传输后,当需要重现声音时,还必须还原为连续变化的模拟信号。将数字信号转换成模拟信号为DA转换。数字音频的质量取决于采样频率和量化位数。采样频率越高,量化位数越多,数字化后的音频质量越高。二、音频采样采样就是从一个时间上连续变化的模拟信号取出若干个有代表性的样本值,来代表这个连续变化的模拟信号。一个在时间和幅值上都连续的模拟音频信号的函数表示为,采样的过程就是在时间上将函数离散化的过程。一般的采样是按照均匀的时间间隔进行的。设这一时间

10、间隔为T,则取样后的信号为,n为自然数。根据奈奎斯特采样定理:要从采样值序列完全恢复原始的波形,采样频率必须大于或等于原始信号最高频率的2倍。设连续信号的频谱为,以采样间隔时间抽样得到离散信号,如果满足时,其中是截止频率,即时,可以由完全确定连续信号,如公式(2-1)所示。 (2-1)因此,可由离散信号完全确定频谱,如公式(2)所示。 (2-2)当采样频率为/2T时,即时,称为奈奎斯特采样频率。三、音频量化采样把模拟信号变成了时间上离散的样值序列,但每个样值的幅度仍然是一个连续的模拟量,因此还必须对其进行离散化处理,将其转换为有限个离散值,才能最终与数码来表示其幅值。量化过程是将采样值在幅度上

11、再进行离散化处理的过程。所有的采样值可能出现的范围被划分成有限多个量化阶的集合,把凡是落入某个量化阶内的采样值都赋予相同的值,即量化值。通常这个量化值用二进制来表示,用N位二进制码字可以表示N个不同的量化电平。存储数字音频信号的比特率为:,其中的是采样率,N是每个采样值的比特数。表示采样值的二进制的位数为量化位数,它反映出各采样值的精度,如3位能表示采样值的8个等级,8位能反映26个等级,其精度为音频信号最大振幅的256。量化位数越多,量化值越接近于采样值,其净度越高,但要求的信息存储量就越大。根据以上公式可知,要减小比特率,在已经确定的情况下,只能去减少N的值。N的值降低会导致量化的精度降低

12、,N的值增加又会导致信息存储量的增加。因此在编码时就需要合理地选择的值6。均匀量化就是采用相等的量化间隔进行采样,也称为线性量化。用均匀量化来量化输入信号时,无论对大的输入信号还是小的输入信号都一律采用相同的量化间隔。因此,要想既适应幅度大的输入信号,同时又要满足精度高的要求,就需要增加采样样本的位数。非均匀量化的基本思想是对输入信号进行量化时,大的输入信号采用大的量化间隔,小的输入信号采用小的量化间隔,这样就可以在满足精度要求的情况下使用较少的位数来表示。其中采样输入信号幅度和量化输出数据之间一般定义了两种关系,一种成为u律压缩算法,另一种成为A律压缩算法。采用不同量化方法,量化后的数据量也

13、就不同。因此说量化也是一种压缩数据的方法。四、音频编码采样、量化后的信号还不是数字信号,需要把它转换成数字脉冲,这一过程成为编码。最简单的编码方式是二进制编码。具体说就是用n比特的二进制编码来表示已经量化了的样值,每个二进制数对应一个量化电平,然后把它们排列,得到由二值脉冲串组成的数字信息流。用这种方式组成的二值脉冲的频率等于采样频率与量化比特数的乘积,成为数字信号的数码率。采样频率越高,量化比特数越大,数码率就越高,所需要的传输带宽就越宽17。音频编码方法归纳起来可分三大类:波形编码、参数编码、混合编码。波形编码是尽量保持输入波形不变,即重建的语音信号基本上与原始语音信号波形相同,压缩比较低

14、;参数编码是要求重建的信号听起来与输入语音一样,但其波形可以不同,它是以语音信号所产生的数学模型为基础的一种编码方法,压缩较高;混合编码是综合了波形编码的高质量潜力和参数编码的高压缩效率的混合编码方法,这类方法也是目前低码率编码的方向。2.编码过程MP3文件由一系列长度不同的帧组成,一个接着一个,就好像电影胶片一样。每一帧的前面都有一个头信息,其中就包括一些关于后继数据的额外信息。在某些编码中,这些帧可以互相影响。例如,一帧有剩余的空间,而下一帧没有,他们就可以组合起来产生一个优化的结果。在一个MP3文件的开始或者结尾,通常会存储一些额外的信息,包括歌手、曲目名、专辑名、录制时间、流派以及个人

15、评论。这叫做“ID3”数据,当文件数目不断增长是,将会非常有用。MP3使用两种技术获得好的压缩比:一种有损压缩,一种无损压缩。首先,压缩过程将人类根本不能听到的部分丢弃(或者至少做出可接受的折衷),然后对冗余编码进一步的压缩18。然而,正是第一部分的压缩做了大部分的工作,也具有更多的复杂性,这里也被更多的考虑。MP编码工具分析信号源,把它分解为各种数学模板,并与编码器存储的心理声学模板进行比较。编码器就可以丢弃大部分不匹配的数据。MP3编码过程可以分成几个步骤:首先,将信号分解成称为帧的组建片、每一帧持续不到一秒。这和电影中的帧很类似。第二,分析信号已决定其“光谱能量分布”,也就是说,在整个可

16、听频率的光谱范围内,找出怎样将比特流进行分布,以产生最好的音频编码。因为频率光谱的不同部分使用相同的算法,经过轻微的变换,可以进行高效编码,这一步将信号分解为子带(subband),子带可以独立的进行处理以产生最优的效果(注意所有的子带都使用相同的算法,不同只是因为使用的编码器不同造成的其分配的比特流大小不同而已)。第三,要考虑数据传输率,它决定了每一帧能够分配的比特最大值。例如,如果数据传输率是128t/,那么每一帧可以分配的数据上限就确定了(除非使用变比特率方法)。这一步决定了可以存储多少可获得的数据以及有多少数据被丢弃。把每一帧的频率分布于人类心理声学的数学模板进行比较(数学模板作为一个

17、索引表存储在编/解码器中),从这些模板中就可以决定,哪些频率应该准确的渲染表现出来,那些频率可以丢弃或者分配较少的it。第四,经过Huffman编码的处理,这个过程去处取样的冗余信息。Huffa编码与心理声学模型并不相关,它只是通过传统的压缩方式获得额外的压缩比。因此,读者可以看到,整个P3编码过程是:首先,利用所有的心理声学模板选择性的丢弃大量数据,然后压缩剩余的数据,消除冗余。其中的第二步,并不丢弃数据,它仅仅使用更小的空间存储剩余的数据。把一定数量的帧集合起来,再在每个数据帧前加上头信息,就组装成一系列的比特流,头信息主要包括一些相关帧的指令。在这个过程中,许多其他因素需要考虑,这经常在

18、开始编码前就需要预先设定。另外,对每个单独的帧的编码算法经常还依赖于对前一帧和后一帧。整个过程包含了某种程度的同步,前面的步骤并不必须按顺序进行。MP3的声音数据分成帧,每帧包含115个样本的数据,由32个子带分别输出MP的编码器输入,以1个样本为一组,每组样本经过时间-频率变换之后进行一次位分配并记录一个比例因子(sal actor)。位分配的信息告诉解码器每个样本由几位表示,比例因子用6位表示解码器,使用6位的比例因子乘以量化器的每个输出样本值,以恢复被量化的子带值。比例因子的作用是充分利用量化器的量化范围,通过位分配的比例因子相配合,可以表示的动态范围超过了120dB的样本2。MP3使用

19、了从ASPE(Audio Spetral Percpt Ecding)和OF(ptm Codi In The Freuecyan)导出的算法。在滤波器组上,MP在使用了正交镜像滤波(和MP和MP2相同)后,紧跟着使用了改进离散余弦变换MCT(odifedDist Csine rnsorm),对正交镜像滤波的不足进行了一些补偿。MT把子带的输出在频域里进一步细分已达到更高的频域分辨率。而且通过对子带的进一步细分,编码器部分消除了多相滤波器组引入的混迭效果。M编码器的详细框图如图2-2所示。分析滤波器组比例器和量化器哈夫曼编码掩蔽域值边信号编码器FFTMDCT动态加窗逆MDCT动态加窗合成滤波器组

20、逆比例器和量化器哈夫曼解码器边信号解码器MCUMCU数字通信图2-2 M3编码器和解码器的结构MP指定了两种MDT的块长:长块的块长为18个样本,短块的块长为6个样本,相邻变换的窗口之间有50%的重叠。长块对于平稳的声音信号可以得到更高的频域分辨率,而短块对跳变的声音信号可以得到更好的时域分辨率。在短块模式下,3个短块代替了一个长块,短块的长恰好是一个长块的1,所以MC的样本数不受块长的影响。给定的一个帧声音信号,MDC可以全部使用长块或全部使用短块,也可以长短块混合使用。因为低频区的频域分辨率对音质有重大影响,所以在混合块长模式下MDCT对低频的个子带使用长块,而对其余的30个子带使用短块。

21、这样,既能保证低频区的频域分辨率,又不会牺牲高频域的时域分辨率。长块和短块之间的切换有一个过程,一般用一个带特殊长转短或者短转长数据窗口的长块来完成这个长短块之间的切换。除了使用MT外,MP3还采用了其他许多改进措施来提高压缩比而不降低音质。虽然MP引入了许多复杂的感念,但是它的计算量并没有比M2增加许多。增加的主要是编码器的复杂度和解码器所需要的存储容量。 P3播放器解码过程作为一个整体,MP3系统的大部分工作放在了解码部分。但是,普通用户主要是播放MP3文件而不是制造它,这里将重点介绍解码过程。解码器并不需要存储或者利用人类心理声学理论,也不需要进行比特分配过程。P3播放器所关注的只是检查

22、比特流的头和频谱分布的数据帧,以及和它们存储在一起的边信息,然后再将重建这些信息为音频信号。从某种意义上说,播放器其实就是一个P3文件、播放列表和声卡的接口,将它们包装为相对简单明了的解码MP3比特流格式的规则。不同的P3解码器在效率上有着很大的不同,同样在解码后声音的质量上也有很大的不同,在过去的几年里,这些不同对计算机硬件的依赖在很大程度上被忽视了,实际上解码器也同样要消耗大量系统资源的。这在那些没有良好微线程特征的操作系统中特别的明显,如果有适当的硬件,可以在很大程度上免除P3的中断的问题。一些MP解码器比其他解码器占用更多的U时间,但是,用效率来衡量它们之间的区别并不比用其它特征来衡量

23、的区别大。选择M播放器关系到成本、可扩展性、音频质量和外观。图2-3为MP3的整个解码过程的流程图,与解码器的图相对应:同步并读取帧头解码边信息解码比例系数霍夫曼解码转化为PCM采样逆离散余弦变化删除伪信号重新量化图-M3解码流程本节主要介绍了MP3的编解码过程。MP3播放器的编码过程包括:音频信号数字化、音频采样、音频量化和音频编码。编码器将模拟信号经处理后,转换成数字信号进行传输。MP3的解码是编码的反过程,主要是从编码后的谱线成分中,经过反量化和逆变换,提取出声音信号。MP3的解码总体上可分为比特流分析,霍夫曼编码,逆量化处理,立体声处理,频谱重排列,抗锯齿处理,逆离散余弦变化,子带合成

24、,PCM输出。3P播放器的硬件设计与实现系统的总体设计此次设计方案可以方便的将外部的M3格式的音乐文件传输到本系统的存储器lsh中。如图3-1可以看出本系统的具体硬件设计主要包括:主芯片和USB接口的连接设计,此部分主要用于MP3文件的传输和固件下载;主芯片和按键以及LCD之间的设计连接,用户通过显示屏幕获取播放器的进程息,通过按键来对音乐进行选择和控制;主芯片和D/转换器之间,这一系统将该系统解码后的数字信号转换为人耳能识别的模拟信号,这一部分主要包括时钟信号、数据信号以及反馈信号的连接;电源转换部分,本系统内部使用的电源一般为3.3,而US接口以及电池的电源都需要DC-DC部分来进行转换,

25、从而为系统提供所需的3.3电源;播放系统和存储系统的切换电路设计。LCD显示器Keyboard(操作按键)MCU(AT89C51SND1C)MP3解码器(AT89C51SND1C芯片内部集成)D/A转换器功放音频输出通信接口(USB1.1)图3-1系统硬件结构MP3工作原理流程图如图3-2所示。读取存储器上的信号解码器对信号进行解码通过D/A转换器将解码出的数字信号转换成模拟信号把转换后的模拟音频放大低通滤波后到音频输出图32工作原理流程图MP3播放器的软件结构跟硬件是相对应的,即每一个硬件部分都有相应的软件代码,这是因为大多数的硬件部分都是数字可编程控制的。音乐播放器首先读取存储器上的音乐信

26、号,再通过解码器对信号进行解码分析,经解码的信号通过A转换器将解码出的数字信号转换成模拟信号,然后把转换后的模拟音频放大,通过低通滤波后到音频输出。3.主电路设计系统的主芯片采用美国ATMEL公司的89C51SND1C,该芯片是一个2.53.3 V低电压、8mW低功耗、运算速度高、功能完善、高度集成并且低成本的单芯片数字(MPEG1,2,.5&3)音频解码器。其特点如下:基于8位MU核(最大时钟频率20z);内部集成了单独的M3 解码器,而且支持48,4.,32,4,2.05,16 Hz采样频率,支持左右声道独立的音量控制(软件使用1级)、重低音、中音、高音均衡控制(31级)、重低环绕声效果、

27、辅助数据输出、“CRC错误”和“M帧同步”指示;有44通用I/O口的嵌入式51 Nand Fash,SSFD,S,SPI和IDE多种扩展功能接口容易适应多种应用场合FlshCD/DD播放器等;具有适应市场上不同的D/A转换器的可编程的音频输出接口,兼容CM格式和I格式;内置304BA;64KBFlas程序空间和4KB引导闪存(AT8951l),在系统编程:通过S,ART接口进行在系统编程;UB11控制器,“ullpeed”数据传输;内置锁相环,提供M3音频时钟和US时钟;兼容tMedia Cd(MMC)卡接口、AtmlDta FsS接口、IDE/ATI(硬盘)接口 ; 通道10位A/D转换器,

28、8kHz(8位真有效值),包括电池电压监视和软监控的录音;A8C5S内部结构简化后实际就是648C51+M3解码器+USB,使用该芯片设计M3播放系统具有很多优点,如支持在系统编程不需要昂贵的仿真器,系统设计成本降低;内置04B的RAM,方便用户增加复杂的功能。AT89C51SN内部主要资源如图3-3所示。图3- T89C51SD1C 内部主要资源此外,由于该芯片内部集成了大量的接口,所以只需要很少的外围器件如C-DC,音频D/A转换器和存储器就可以实现系统的要求,这样可以做到系统空间很小,这一点正好适应现代系统设计的纤小而功能全面的要求。该芯片共0引脚,封装为QFP80,就是四边各0引脚的贴

29、片封装。图4为T895SND1的引脚定义。对于功能复用的引脚要慎重考虑。本设计并没有使用单片机的全部功能,部分没有占用的IO端口和MMC等专用借口都用扩展槽引出了,可以用来扩展其他电路。管脚说明:IO端口1-P3和85功能相同。P1端口第二功能有N3:0 SLSA P4具有-bt内部上拉IO.第二功能 MIO MOSI K S 5具有4-bit内部上拉O.时钟信号管脚X1 I输入芯片上反向振荡放大器使用内部振荡器,晶振/谐振器电路连接到该管脚。如果使用一个外部振荡器,其输出被连接到该管脚。1是内部的时间的时钟脉冲源。X2 输出片上振荡器反相放大器使用内部振荡器,晶振/谐振器电路连接到该管脚。如

30、果外部振荡器使用,给X2的悬空。IL I L的低通滤波器输入 FLT员工接收PL的低通滤波器的RC网络。定时器信号说明:INT0 I (P3.2)INT0的服务为定时器0,当选定TCON中的位寄存器由ATE外部运行控制。INT的输入控制TCO寄存器里的I0位.If(T1)位0被IT0低电平.If(IT0=0)位IE0被I低电平触发.INT1 (P3)IN1的作为定时器1当由AE1 TCN寄存器中的位选择外部运行控制。IT1的输入控制TCON寄存器里的1位(T1=)位IE1被INT1低电平.I(IT=)位I1被NT1低电平触发.0I P.4当定时器0作为一个计数器运行,T代引脚下降沿递增计数。1

31、 I P.5当定时器1作为一个计数1引脚上的下降沿递增计数操作。图3-4 9CSN1C引脚图3.2.1单片机最小系统单片机芯片,配以必要的外部器件就能构成单片机最小系统。单片机具有较强的外部扩展、通信能力,能方便地扩展至应用系统所要求的规模。当使用带RO或EPROM的MS-51系列单片机时,只要一个芯片即可构成一个单片机的最小系统。选用AT89C1单片机作为主机,它具有4K片内ROM,128字节片内RAM,片外OM寻址范围达64K,2个16位计数器,5个中断源,4个并行口,一个串行口。简易自动乐曲播放器采用单片机最小系统足以满足系统设计要求,同时要设计单片机最小系统的晶振和复位电路。.2. 电

32、源部分电源是整个播放器的重要组成部分,图3-5是电源部分的电路,图中AS1117是一款低压差的线性稳压器,当输出1电流时,输入输出的电压差典型值仅为1.2V。除了能提供各种稳定电压版本外(Vot=1.8,2.5,85,3V,5V),还提供可调端输出版本,该版本能提供的输出电压范围为1253.V。图3-5 电源电路图AS1117提供完善的过流保护和过热保护功能(AS117正常工作环境温度范围极宽,为-50140),确保芯片和电源系统的稳定性。同时在产品生产中应用先进的修正技术,确保输出电压和参考精度在%的精度范围内。AS1117的系统框图如图3所示。图-6 A117系统框图3.2.3D/A 转换

33、部分当MP或者WM等格式的音乐文件经过主芯片内部解码后为数字信号, 而人耳所能识别的信号却为模拟信号,系统利用CS3进行转换。AT89C51SND从Flah中读取数据之后,将MP3格式的音乐在其内部进行硬件解码为二进制数据, 之后通过 D/A 转换器CS433来对这些数据进行数模转换,转换成人耳可以接受的音乐。主芯片AT89C1SNDC 内部有一个音频输出接口,支持不同格式的音频数据流格式,如PCM格式和I2S格式,该接口可以跟几乎所有的通用音频 D/ 转换器相连。S4331在改善音频质量,降低信噪比等方面都很好。同时A89C51S1C内部集成了软件解码器,系统不需要外接额外的解码器。解码后的

34、数字信号经过A转换后还原为模拟音频信号。图3-为/A转换电路图。图-7 D/A转换电路图音频A芯片在MP播放器中承担音频信号的数字/模拟转换功能,其性能直接影响最终的音乐效果和音质。CS33芯片没有配置引脚,无需软件配置。CS433的内部框图如下图。SDAA是位流数据输入,SCLK是位流时钟,LCK是声道选择时钟,其频率即采样率。MK则是电路所需的主时钟。图8为CS331芯片内部结构图。图3-8CS4331芯片内部结构3.2.4控制部分播控系统的设置通过按键来选择,T8C51SC提供个按键输入口,连接SB前,短接了FU跳线,运行Botoader,进入到固件下载;接到US前,按下了ORMA,则格

35、式化U盘;连接到US,不按任何键,则进入U盘功能。使用电池供电时,不按任何键,则进入P3模式。M3键盘由4个键组成,分别为Pa/Pause键、Previous键、Nex键和uc键:Fun,功能切换;Nxt,向后;Pvius,向前;Pay/Pase,播放/暂停。用户在使用播放器时可以方便地根据自己的喜好来选择歌曲播放或暂停。操作状态和设置信息通过LCD1602来显示。采用液晶显示模块,可显示汉字及图形。液晶显示具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,正好适应P3播放器的需求。图3-9为键盘控制电路,图3-为LCD显示电路。图- 键盘控制电路 图30 L显示电路系统整体

36、电路图如图-1所示:图3-13整体电路图4 M3播放器软件设计及实现1 M3播放器播放功能的设计P3播放程序设计要与键盘配合起来使用。在主程序中,如果已经处于播放状态,则调用Play MP程序播放歌曲,直至播放到最后一首。在laMP3程序里面,M解码器一旦开始工作以后,就会一直向CU请求数据,直至歌曲结束。如果用户想切换歌曲,则可直接按暂停键,这样此程序函数就会提前结束,进入下一首歌曲的播放。其播放流程图如图4-1所示:产生数据请求中断需要读下一个扇区的数据当数据已经不足一扇区结束当前歌曲,指向下一首歌曲读出一个新的扇区继续往解码器中送数据是否按了暂停键等待再次按下暂停键否、否是是是是否单击“

37、选曲”按钮是否否否否是向CPU请求数据图41 播放器播放过程流程图当产生数据请求时,程序判断是否产生请求中断,当产生了请求中断时,数据读取失败。如果数据请求未产生中断,重新载入数据。产生中断后,程序读取下一个扇区中的数据,如果程序不需要再读取下一扇区的数据,则将数据送入解码器中。当读取到的数据已经不足一扇区时,结束当前所播放的歌曲,读取下一首歌曲的数据;如果所读取的数据超过一扇区,则将数据存入另一个扇区,并读取这个扇区的数据。将读取后的数据送入解码器中,解码时,通过键盘控制。当键盘位于暂停状态时,解码器暂时不工作,等待再次按下暂停键后继续解码。在播放过程中,如果需要选择播放的歌曲时,按下选曲按

38、钮则结束当前播放的歌曲,进入所选歌曲的播放过程。其主要程序代码为:oid pMP3(unsigned ch *SogNme) Int i0,j=0; /Fst1024 BteP3 Daa m=ReSetr(ongae,PeBuf);/从当前歌曲中读取12字节 if(P3SA&FREQ) /解码器数据请求中断产生时 For(i=0;i04;+) /第一次要向解码器缓存中置入1字节 (=51) /当用完12字节时 =RadSectr(Songame,age_Bf); /读取当前歌曲的下一个12字节 j=0; P3DAT=PgBufj+; /向MP3解码器数据寄存器送入一个数 whil(!lySta

39、e); /如果是暂停状态则等待 wile(hanen) atRead;Changeog=0;return; /如果选曲时,则重新播放当前曲目 while(!(MP3ST1&MPBREQ); /等待中断再次产生 /OtheP dtawhe() wile(MP3TA1&MPFREQ) 0解码器数据请求中断产生时 if(j=12) /当用完512字节时 =0; if(mx0) /当前音量没有达到最小时 P3OR-=00; /右声道音量增大一档 MP3VO-=0x0; /左声道音量增大一档 brea; case EFFETION : /如果出于音效调节功能 f(M3AS) 降低重音效果 P3BAS-=7; MP3MD=0x0; P3E7; brek; ae ECTSO : /如果处于M3选曲功能 f(NowPlayng=(NumofSn-1) NoPlaing=0; /如果已经处于最后一首了,则指向第一首 es NowPayng+;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号