




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘要IIIAbstractIV第一章绪论11.11.2智能音乐演奏器器现状1课题研究的意义3第二章系统设计4各模块具体功能、原理及实现6第三章3.13.23.33.43.53.6P89LPC932 单片机最小系统6SD 卡模块7LCD3310 液晶10M25P80FLASH 字库器模块10SPI 系统11VS1003MP3系统133.6.13.6.2VS1003 特性13VS1003 概述14第四章介绍154.14.24.34.4智能音乐演奏器音乐文件的流程15文件系统的选择16Unicode 编码到 GB2312 编码转换实现技术17智能音乐演奏器部分码184.4.14.4.2智能音乐演
2、奏器程序18智能音乐演奏器功能按钮设计20总结25参考文献26致谢27附录28智能音乐演奏器设计摘要本设计以P89LPC932 作为单的SD 卡智能音乐演奏器控制器和 VS1003 音频器,并且给出了智能音乐演奏器器为基础,设计了一种简系统的软硬件设计。P89LPC932 是飞利浦公司的 LPC900 系列的低功耗微控制处理器。硬件设计上器与器分离,增加容量,极大地方便了应用同样节省了成本,整个系统的功耗也比较小。此智能音乐演奏器可以流畅地出 320kpbs 高质量的 MP3 音频文件其效果也较好。本次设计主要针对智能音乐演奏器的容量及格式有限等问题加以设计,可方便进行 SD 或 MMC 卡等
3、微型MP3、WMA、WAV、MIDI器的容量扩展,并且等格式文件。使用者只需要将兼容的音乐格式文件放到卡中,便可以这些音乐。本设计可以作为车载音响,也可以用于家用、办公场合或便携设备等。本次设计首先针对基于 SD 卡的智能音乐演奏器的器整体设计加以研究绍,并系统软硬件的选择,及具体开发调试环境;然后,深入介绍了系统设计方案及其实现,并着重研究了SD 卡、FAT32 格式、详细介绍了性能优化等方面的工作及其开发前景。及其驱动的设计;最后,:智能音乐演奏器;器器分离;音频器;SD 卡;FAT32 分析elligent music player deviAbstractBased on P89LPC
4、932 and VS1003 audio decoder controller, we designed a simple SD elligent music player deviand provided the software and hardwares designing ofcardthiselligent music playback system. P89LPC932 is a LPC900 series low-ermicro-control prosor of Philips company. On thehardwares designing , we separatey
5、facilie the application and makedecoder and memory , increase storage capacity to grethe cost and the overall systemer saved. Theelligent music player devicansmoothly broadcast out the high quality 320kpbs MP3 audio files and its effect is very good.The article is mainly aimed at the mp3s capacity o
6、n the market and play formimited and so on to be designed to facilie micro-SD or MMC memory cards, the capacityexpan, and play MP3, WMA, WAV, MIDI and other files. Users only need to put MP3and other format fileso the memory card, will be able to play the music. This designsupports heavy bass, surro
7、und sound audio. This design not only can be used as car audio, butalso can be used for home playing, office occas, or in portable equipment.his pr,of all for the SD card-based MP3 player to study the overall designand presenion, and discuss the system hardware and software choi, and specificdeveloa
8、nd debugging environment; and then insighto the system design and itsimplemenion, focusing on the SD card, FAT32 format, decoder chip and software-driven design; Finally, the detailed performance optimization aspects of the work and itsdevelopment prospects.Keywords:elligent music player devi, LPC90
9、0 Micro Chip Unit, SD Card, AudioDecorde,FAT32ysis第一章绪论1.1智能音乐演奏器器现状MP3、WMA、WAV、MIDI 等格式的音乐。MP3现在许多智能音乐演奏器可以问世后,很快就成为年轻人趋之若鹜的数字音乐格式,曾有专业统计,一直以来MP3 都是互联网上最热门的搜索。这一类的智能音乐演奏器现在都统称为 MP3器,是由于MP3 格式太热门造就这一统称:器,它不仅仅是MP3 格式的MP3器。随着的发展,便携式器应用越来越普及。器以无可比拟的优势,逐渐成为传统磁带随身听,CD 随身听之后市场上新的竞争者,越来越得到大众的接器(俗称MP3)和便携式音
10、视器产品已经经历了磁带机、CD受现阶段这类便携式设备主要包括便携式音器(俗称 MP4)1。至今,便携式音乐机、MD器、MP3器四个阶段。目前的主流音频格式其实不少,不同的格式有自己的用途,比如大家都应该很熟悉的 MP3 格式就是用来听的1。下面智能音乐演奏器常用的四种音频格式:逐一介绍MP3:流行的风尚MP3 格式诞生于八十年代的德国,所谓的 MP3 也就是指的是 MPEG 标准中的音频部分,也就是 MPEG 音频层。根据压缩质量和编码处理的不同分为 3 层,分别对应 “*.mp1/“*.mp2”/“*.mp3”这 3 种声音文件。需要提醒大家注意的地方是:MPEG 音频文件的压缩是一种有损压
11、缩,MPEG3 音频编码具有 10:112:1 的高压缩率,同时基本保持低音频部分不失真,但是牺牲了声音文件中 12KHz 到 16KHz 高音频这部分的质量来换取文件的尺寸,相同长度的音乐文件,用.mp3 格式来,一般只有.wav 文件的 1/10,而音质要次于 CD 格式或 WAV 格式文件。由于其文件尺寸小,音质好;所以在它问世之初还没别的音频格式可以与之匹敌,因而为.mp3 格式的发展提供了良好的条件。直到现在,这种格式还是风靡一时,作为主流音频格式的地位难以被撼动。但是树大招风,MP3 音乐的问题也一直是找不到办法解决,因为 MP3没有保护技术,说白了也就是谁都可以用。WAV:无损的
12、音乐是微软公司开发的一种声音文件格式,它符合 PIFF Resourceerchange FileFormat 文件规范,用于保存 WINDOWS应用程序所支持。“*.WAV”格式支持 MS的音频信息资源,被 WINDOWS及其CM、CCITT A LAW 等多种压缩算法,支持多种音频位数、采样频率和声道,标准格式的 WAV 文件和CD 格式一样,也是 44.1K的采样频率,速率 88K/秒,16 位量化位数,看到了吧,WAV 格式文件质量和CD 相差无几,也是目前 PC 机上广为流行都“认识”WAV 格式。MIDI:作曲家的最爱文件格式,几乎所有的音频编辑经常玩音乐的人应该常听到MIDI(M
13、usical Instrument Digitalerface)这个词,MIDI 允许数字器和其他设备交换数据。MID 文件格式由MIDI 继承而来。MID 文件并不是一段录制好,而是声音的信息,然后在告诉声卡如何再现音乐的一组指令。这样一个 MIDI 文件每存 1 分钟的音乐只用大约 510KB。今天,MID 文件主要用于原始乐器作品,流行歌曲的业余表演,音轨以及电子贺卡等。.mid 文件重放的效果完全依赖声卡的档次。.mid 格式的最大用处是在电脑作曲领域。.mid 文件可以用作曲写出,也可以通过声卡的 MIDI 口把外接音序器演奏的乐曲输入电脑里,制成.mid 文件。WMA:最具实力的敌
14、人WMA(Windows Media Audio)格式是来自于微软的重量级选手,强硬,音质要强于MP3 格式,更远胜于RA 格式,它和YAMAHA 公司开发的 VQF 格式一样,是以减少数据流量但保持音质的方法来达到比 MP3 压缩率更高的目的,WMA 的压缩率一般都可以达到 1:18 左右,WMA 的另一个优点是内容提供商可以通过 DRM(Digital Rights Management)方案如Windows Media Rights Manager 7 加入防拷贝保护。这种内置了保护技术可以限制时间和次数甚至于的机器等等,这对版搅一个,另外 WMA 还支持音频流(Stream)技术,适得
15、焦头乱额的音乐公司来说合在网络上,作为微软抢占网络音乐的开路先锋可以说是技术领先、风头强劲,更方便的是不用象MP3 那样需要安装额外的器,而 Windows 操作系统和 WindowsMedia Player 的无缝让你只要安装了 windows 操作系统就可以直接WMA 音乐,新版本的 Windows Media Player7.0 更是增加了直接把 CD 光盘转换为WMA 声音格式的功能,在新的操作系统Windows XP 中,WMA 是默认的编码格式,大家知道Netsc的遭遇,现在“狼”又来了。WMA 这种格式在录制时可以对音质进行调节。同一格式,音质好的可与 CD 媲美,压缩率较高的可
16、用于网络广播。虽然现在网络上还不是很流行,但是在微软的大规模推广下已经是得到了越来越多站点的承认和大力支持,在网络音乐领域中直.mp3,在网络广播方面,也正在几乎所有的音频格式都感受到了WMA 格式的压力。Real 打下的天下。因此,无论一种音频格式目前是否是主流,在未来都有可能被更新更先进的技术所取代。不过从目前的形势来看,音频技术已经发展到了一个成技术优势的音频格式将很快就会被市场淘汰掉2。而存、优胜劣汰的阶段那些没有的音频技术由于技术性能方面已经非常接近且基本上不存在继续发展的空间那么不同的音频技术支持者将会努户并竞争对手2。力从网络功能和应用功能两方面去吸1.2课题研究的意义本次主要是
17、为了开发出一套低成本、可扩展容量的智能音乐演奏器。现在一般个人随身携带使用的音乐演奏器存在容量固定,性价比较低的情况。此次设计便是根据这些情况而设计。在半导体行业中,消费类电子是近年来发展最迅猛的一个领域。2006 年消费类电MCU 市场的需求所占份额超过了百分之四十。此次设计的突出优势是:子(1)突破容量的限制。本系统提供 SD 卡接口,能够方便地外部的移动介质,如此就不会有特定的容量限制。当前,个人多市场的需求快速增长,各种多的应用也日趋丰富,那么对容量的要求必然越来越高,因此本系统采用的方案可以说是应势而生。(2)低成本。因为 MP3 编码算法的CPU 的性能要求非常,因此目前大部分的
18、MP3实时编码都是采用的 DSP来实现,本系统采用通用单片机处理,对MP3 算法做了硬件方式的实时编码满足音质要求。第二章系统设计目前市场上有许多种MP3,设计只需要选择常用的 51 系列或其他 8位低档 CPU 作为主控制器进行管理工作即可3。主控制器器的基本功能是通讯、器管理、LCD 显示和键盘管理,以及提供 MP3 数据流,选掸一款同时具有 USB 接口和LCD 驱动的 CPU,可以减少PCB 尺寸,降低系统总成本3。选择在保障功能的前提下,优先考虑价格和功耗3。本次设计采用 P89LPC932 作为主控制器和 VS1003 作音频的原则是器来进行搭建。P89LPC932 是 LPC90
19、0 系列的旗舰产品,它是一款单片封装的微控制器,适合于许多要求高集成度和低成本的应用场合,可以满足多方面的性能要求。P89LPC932 采用高性能的处理器结构,指令执行时间只需 2 至 4 个时钟周期,是标准 80C51 器件的 6 倍,因此,P89LPC932 只需要较低的时钟频率即可达到同样的性能,这无疑降低了功耗和EMI4。同其它微控制器相比,LPC900 系列可以大大延长电池的使用,这对手持设备、及一些要求低功耗电子产品中是非常重要的。而且它还具有灵活、强大的处理能力、丰富的器、外设等优点。所谓音频流系统,就是以高性能和高运算速率的单片处理器为,将打的MP3/WMA/MIDI 等音频编
20、码文件按照固定频率的时序对二进制代码进行传输和处理,将数字信号源源不断地还原成模拟音频信号并通过模拟运放电路电路系统5。的集成整体系统框图如图 2.1 所示,系统在硬件上主要可以分为 P89LPC932 单片机最小系统、VS1003 音频模块、SD 卡读写模块、液晶显示模块以及用来字库的FLASH器等重要模块。由系统框图可以看出项目硬件部分相对比较简单,主要难点在于程序的设计。图 2.1 系统框架图P89LPC932SPI 总线VS1003器SD 卡键盘M25P80 FLASH器LCD3310 液晶第三章各模块具体功能、原理及实现3.1P89LPC932 单片机最小系统通过P89LPC932上
21、的I2C总线接口,使用两条线(SDA和SCL)在总线和器件之间传递信息,其最大数据传输速率为400kHz4。串行接口SPI是一种全双工的高速同步串行通信总线。它有主、从两种操作模式,其中主模式支持3Mbit/s的速率,从模式支持高达2Mbit/s的速率。此外,它还具有传输完成标志和写标志保护。P89LPC932有8个键盘中断输入(KBI),通过键盘中断功能可在P0口等于或不等于特定模式时产生一个中断,该功能可用于总线地址识别或对键盘的识别,用户可通过SFR将端口配置为不同的用途。P89LPC932还有2路外部中断输入,它的4个中断优先级结构可为多中断源处理提供极大的灵活性。P89LPC932支
22、持15个中断源:外部中断0和1、定时器0和1、串口Tx、串口Rx、组合的串口Tx/Rx、掉电检测、看门狗/实时时钟、I2C、键盘中断、比较器1和2、SPI、CCU和数据EEPROM写完成4。任何一个中断来实现单独使能或。IEN0中的全局可通过IEN0和IEN1中相应位的置位或清零位EA可所有中断。另外,每个中断源都可单独设置为四个中断级之一。看门狗定时器具有片内独立振荡器,无需外接元件,频率为400kHz,因此还可用于振荡器的失效检测。P89LPC932的节电模式包括空闲、掉电和完全掉电模式。并能提供从掉电模式唤醒功能(电平中断输入唤醒),掉电模式下的典型电流为1A(比较器关闭时的完全掉电状态
23、)。面图3.1-3.3即为P89LPC932最小系统:图 3.1P89LPC932图 3.2复位电路图 3.3时钟电路3.2SD 卡模块SD 卡在日常生活与工作中使用非常广泛,时下已经成为最为通用的数据卡。在诸如MP3器、数码相机等设备上也都采用SD 卡作为其设备。SD 卡为何得到如此广泛的使用?是因为它价格低廉、容量大、使用方便、通用性与安全性强等优点。既然它有着这么多优点,那么如果将它加入到单片机应用开发系统中来,将使系统变得更加出色。SD 卡支持两种总线方式:SD 方式与 SPI 方式。其中 SD 方式采用 6 线制,使用 CLK、CMD、DAT0DAT3 进行数据通信。而 SPI 方式
24、采用 4 线制,使用 CS、CLK、 Data In、Data Out 进行数据通信。SD 方式时的数据传输速度与SPI 方式要快,采用单片机对 SD 卡进行读写时一般都采用 SPI 模式。采用不同的初始化方式可以使 SD 卡工作于SD 方式或SPI 方式5。在本设计中,音频数据 MP3 文件也是以 SD 卡为载体。所以在电路设计中必须含6。图SD 卡模块,同样在设计中采用了 4 线的 SPI 总线方式对 SD 卡进行有3.4 为SD 卡模块的系统电路原理图。图 3.4 SD 模块系统原理图SD 卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境
25、等各方面的需求而设计的一种新型器件,SD 卡允许在两种模式下工作,即 SD模式和SPI 模式,本系统采用SPI 模式。SD 卡结构及引脚如图 3.5 所示。图 3.5 SD 卡结构及引脚SD 卡主要引脚和功能为:CLK:时钟信号,每个时钟周期传输一个命令或数据位,频率可在 025MHz 之间变化,SD 卡的总线管理器可以不受任何限制的产生 025MHz 的频率;CMD:双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以是从主机到单卡寻址,也可以是到所有卡;回复是对之前命令的回答,回复可以来自单卡或所有卡;DAT03:数据线,数据可以从卡传向主机也可以从主机传向卡。SD 卡以命令形式来控
26、制SD 卡的读写等操作。可根据命令对多块或单块进行读写操作。在SPI 模式下其命令由 6 个字节,其中。3.3 LCD3310 液晶LCD3310 液晶是一个 48 行 84 列显示器。低功耗 PCD8544 的CMOS LCD 控制驱动器是内存自带的,串行输入速度最高可达 4.0Mbits/S,所有必须的显示功能集成在一块上,包括 LCD 电压及偏置电压发生器,因此 LCD3310 是一款低功耗的液晶显示器。LCD3310 是一个 48 行 84 列的液晶显示器,其含有显示数据的 48*84 位静态 DDRAM。其中 DDRAM 分为 6 排,每排 84 字节(6*8*84 位)。所以在不经
27、过一些技术处理,LCD3310 只能显示 3 行 16*16 或 12*12 的汉字,因为写任何一个数都是以在 8 列位基本进行写的。为了让 LCD3310 液晶能够显示 4 行 12*12 的汉字,系统开辟了一个 6*84 字节的缓冲区,要写液晶时,就不用直接写 LCD3310 的静态 DDRAM了,可以先写系统为它开辟的数据缓冲区,最后再刷新修改的部分就可以显示出要显示的内容了,LCD3310 也是提供 SPI 方式的接口。LCD3310 模块的电路原理如图 3.6 所示。图 3.6 LCD3310 显示模块原理图3.4M25P80FLASH 字库器模块M25P80是意法半导体推出的一款高
28、速8Mbit串行Flash,共由16部分组成,每一部分有256页,每页有256个字节。数据的最大时钟速率为40MHz7。M25P80是一个8bit*1M的flash的器。LCD3310是一个没有带字库的液晶,所以要显示完整的字符和汉字,需要自己做一个字库。M25P80模块的电路图如图3.7所示。图 3.7 M25P80FLASH 原理图首先介绍 PCtoLCD2002 这款取模,它的功能很强大,不仅字符取模而且还能对图形进行取模。利用该可以非常方便制作出自己要求 12*12 的汉字字库,但在生成字库前,要对 PCtoLCD2002 配置选项进行设置,如取模方式、字体大小、输出的数字是十六进制还
29、是十进制等,以便生成所要求的字库数据格式。按以上设置后,就可以用该工具生成汉字及英文点阵两个所需要的字库了。再把制作好的字库文件先存放到SD 卡中,再编写一个程序,把这些字库的数据从SD 卡里读出,再写入M25P80 的字库flash器中。3.5SPI 系统SD卡有两种操作模式。一种足羽慎式,另一种是SPI模式,不同横式下端口的定义不同。嘴式有一个时钟线、个命令幔馈线、四根输人精出信号线、两个电源地和一个电源,所有九根钱都有定义敬据传输速卓较快。SP模式只用到CS片进、数据输人、敦据输出、时钟、电源地及电潦六根线。SPI模式鞍SD模式速度较慢,但很多单片机都有的SIPI息线,可与耐卡随接相连,
30、使用方便6。SPI 接口是本次设计的最重要的接口,它工作性能的好坏直接影响到本次设计的成败。SPI 系统的发送方向只有一个缓冲器,而在接受方向有两个缓冲器。即是说,在发送时一定要等到移位过程全部结束后,才能对 SPI 数据寄存器执行写操作。而在接收数据时,需要在下一个字符移位过程全部结束前,通过SPI 数据寄存器当前接受到的字符;否则第一个字节将会丢失。主机从机MISO MOSI SPICLKPortMISO MOSI SPICLKSS(a)SPI 主从机配置主机从机MISO MOSI SPICLKSSMISO MOSI SPICLKSS(b)SPI 双器件配置(两器件可互为主从)图 3.8
31、P89LPC932 的典型 SPI 配置SPI 接口数据全由寄存器控制,在进行数据移出的同时也在进行数据的移入。其中,还有一个 SPI 接口使能端口 SS,通过这个端口,可以控制 SPI 的使用。同时,可以通过设计模拟其工作特性的硬件引脚,从而达到节约端口、操作方便的目的2。SD 卡数据传输分为SPI 模式和SD 模式。在 SD 模式下速度较快,但是,由于使用引脚过多,而且,在SPI 模式下速度已经足够,因此,本次设计中采用SPI 模式。在 SPI 模式下,SD 卡只需要接 MISO、MOSI、CLK、CS、CLK、VSS、VCC 这 7 个引脚就可以了。而 P89LPC932 单片机也提供了
32、相应的接口。但是,由于 LPC900 系列单片机的接口标准电压为 5V,SD 卡的供电及接口标准电压均为 3.3V。SPI 时钟发生器8 位移位寄存器SPI 时钟发生器8 位移位寄存器SPI 时钟发生器8 位移位寄存器8 位移位寄存器3.6VS1003MP3系统图 3.9 VS1003MP3系统3.6.1VS1003 特性能MPEG 1 和MPEG2 音频层 II(I CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps所有流文件;WAV(PCM+IMACM);产生 MIDI/SP-MIDI 文件。筒输入或线路输入的音频信号进行IMACM 编码支持MP3 和 WAV
33、 流高低音控制单时钟操作 12.13MHzPLL 锁相环时钟倍频器低功耗内含高性能片上声数模转换器,两声道间无相位差内含能驱动 30 欧负载的耳机驱动器模拟,数字,I/O 单独供电为用户代码和数据准备的 5.5KB 片上RAM串行的控制,数据接口可被用作微处理器的从机特殊应用的SPIFlash 引导供调试用途的 UART 接口新功能可以通过4GPIO 添加3.6.2VS1003 概述VS1003 是芬兰 VLSI 公司生产的单MP3/WMA 音频。其拥有一个高性能、低功耗的 DSP 处理器核 VSDSP,5KB 的指令RAM,0.5KB 的数据 RAM,串行的控制和数据输入接口,4 个通用 I
34、/O 口,1 个 UART 口,1 个可变采样率的 ADC,1个声 DAC 以及音频耳机放大器8。音频模块是完成 MCU 从 SD 卡里的数字音频数据流进行,并转化成模拟信号进行输出。在这里使用 VS1003 音频来实现音乐数据流的,VS1003 与控制器 P89LPC932 的数据通信是通过 SPI 总线方式进行的。由于在VS1003 电器特性里,它的模拟及 I/O 部分的电压在 3.3V 时能正常工作,而它的数字部分 CVDD(内核)最大电压不超过 2.7V,值为 2.5V,所以在电用一个二极管串联来降压,从而来达到这一电性要求6。VS1003 主要通过串行命令接口(SCI)和串行数据接口
35、(SDI)来接收P89LPC932 控制器的控制命令和数字音频数据。通过xCS、引脚的置高、置低来确认是哪一个接口处于传送状态7。对于 VS1003x的功能控制,如初始化、软复位、暂停、音量控制、时间的等,均是通过 SCI 写入到特定寄存器实现的。两条 SCI 指令之间要通过 DREQ 引脚信号判断上次处理是否完成。VS1003 可以作为一个微控制器的从机,通过串行 SPI 接口来接收输入的比特流,输入的比特流被后,可以通过一个数字音量控制器到达一个 18 位过采样多位 DAC。这样利用一个 VS1003与P89LPC932 处理器配合,P89LPC932 处理器SD 卡中的音频文件,将其通过
36、 SPI 接口送往 VS1003,然后再利用 P89LPC932 处理器的一些 GPIO 口来控制 VS1003 即可以实现一个智能音乐演奏器的设计。自此,基于SD 卡的智能音乐演奏器硬件部分设计全部完成。在设计中充分考虑了以后的升级扩展等问题。但是,在电平转换时使用了较多的电阻实现,对系统模型最终大小有一定影响。在实际生产中可以用贴片电阻代替,这样就可以大大减小电路板的体积。第四章介绍4.1智能音乐演奏器音乐文件的流程系统启动后,先初始化个硬件模块。由 MCU 通过FAT32 文件系统接口SD 卡的一些基本信息,如容量、扇区大小、FAT 表及根目录所在的启始扇区等。通过获得这些信息后,就可以
37、找出SD 卡是否有可以的音频文件。若有音频文件,微处理器将通过SPI 总线方式读出音频信息,并把歌曲的码流信息送入到 VS1003中,通过 VS1003格式歌曲的以及其内含的高质量的声 DAC 和耳机驱动电路,实现所支持如图 4.1 所示:功能。其音乐文件的流开始是否有歌曲歌曲是否结束结束图4.1 音乐文件流是下一曲否否一帧数据扫描键盘一次读入一帧数据是获取歌曲信息初始化各驱动在按键的控制下,通过 LCD3310 中菜单选项的选择,实现对歌曲选择及音量控制等功能;在的同时,LCD3310 上显示的信息除歌曲名称信息外,还包括进度和音量等信息。4.2文件系统的选择为有效管理写入 SD 卡中的数据
38、,并且能够实现在装有 WINDOWS 操作系统的上SD 卡中的数据必须将 SD 卡中的数据以文件的形式进行位机中方便,这就需要在SD 卡中创建常用的文件系统,由于目前 SD 卡容量都较大,因此这里采用 FAT32文件系统9。文件系统的基本原理:FAT32 是个非常有功劳的文件系统,微软成功地设计并运用了它,直到今天 NTFS格式铺天盖地袭来的时候,FAT32 依然占据着位。FAT32 最早是出于 FAT16 不支持大分区、设计的。图 4.2 为FAT32 的文件组织结构图。Windows 文件系统中重要的地簇容量大以致空间急剧浪费等缺点FAT32 简单来讲由图 4.2 所示的 6 部分组成(主
39、要是前 5 部分)引导扇区(DBR)、保留扇区、其后紧随的便是FAT 表、根文件首簇、其他文件信息及数据信息。引导扇区(DBR)保存了簇大小等重要信息。系统的文件系统格式、容量、扇区数、扇区大小、所谓保留扇区,有时候会叫系统扇区或隐藏扇区,是指从分区 DBR 扇区开始的仅为系统所有的扇区,包括 DBR 扇区。在FAT16 文件系统中,保留扇区的数据通常设置为 1,即仅仅 DBR 扇区。而在FAT32 中,保留扇区的数据通常取为 63。FAT 表是 FAT32 用来 磁盘数据区簇链结构的。FAT 表 了磁盘数据文件的链表,对于数据的而言是极其重要的,以至于为其开发的FAT 文件系统中的FAT 表
40、创建了一份备份,就是看到的FAT2。FAT2 与FAT1 的内容通常是即时同步的,也就是说如果通过正常的系统读写对 FAT1 做了更改,那么 FAT2 也同样引导扇区其余保留扇区FAT1FTA2(重复的)根文件夹首簇其他文件夹及所有文件剩余扇区1 扇区31 个扇 实际情况取大小 同FAT1数据区图 4.2 FAT32 的文件组织结构被更新。FAT32 的另一项是根目录的文件化,即将根目录等同于普通的文件。这样根目录便没有了 FAT16 中 512 个目录项的限制,不够用的时候增加簇链,分配空簇即可。而且,根目录的位置也不再硬性地固定了,可以在分区内可寻址的任意簇内。FAT32 对簇的里没有 0
41、 和 1 这两个簇,也就是FAT 表下的第一个扇区为第 2 个簇,通常为根目录所用。FAT32 的一个重要的特点是完全支持长文件名。长文件名依然是记录在目录项中的。其中 FAT32 短文件名是采用 GB2312 编码,FAT32 短文件格式中,其包含了文件名、扩展名、时间、日期的算法和文件数据起始簇及大小等信息。长文件名中的字符采用 Unicode 形式编码,每个字符占用 2 字节的空间。4.3Unicode 编码到 GB2312 编码转换实现技术MP3 的SD 卡器采用FAT32 文件系统结构,MP3 的短文件名项是采用 GB2312编码格式存放,而长文件名项是采用 Unicode 格式。G
42、B2312的简体中文字符集,Unicode 字符集编码是一种在计算机上使用的字符编码,它为每种语言的每个字符设定了并且唯一的码号,汉字在 Unicode 编码中每个汉字字符同样是占用 2 个字节10。但是 Unicode 编码与 GB2312 编码之间没有直接的联系,很难用公式法完成它们之间的转换。所以在只作一个基于 GB2312 编码的查找汉字字库,要显示一个长文件名时,必须要完成 Unicode 编码到 GB2312 编码的转化。但在计算能力和资源都严格受限的系统中,很多应用甚至都没有使用操作系统更没有对 Unicode 和 GB2132 编码转换的支持。文中以 Unicode 和 GB2
43、312 编码互相转换为目的, 针对这种情况设计了一种空间需求少、 查找效率高的应用上进行了测试和比较10。是把 Unicode 编码的汉字顺序表以器指定的位置中,查找时都是以这个位Unicode/GB2312 编码转换算法,并在不同的Unicode 编码到 GB2312 编码的转化主要GB2312 编码格式保存,并到flash 字库置为相对偏移量进行的。比如,这对应表是存放在 flash 中的 0X30000H 处。“一”是 Unicode 中的第一个汉字编码,它的 Unicode 编码为 0 x4E00,所以它的 GB2312 码就会存放在字库器flash 的(0 x4E00-0 x4E00
44、)*2+0 x30000=0 x30000 处的连续两个字节内,而这两个字节地址存放的数据为 0 xBBD2,这 0 xBBD2 即一”字在 GB2312 中的编码。再如汉字“中”字,其 Unicode 编码值为 0 x4E2D,同样“中”字的 GB2312 码就会存放在字库flash 的(0 x4E2D-0 x4E00)*2+0 x30000=0 x3005A 处的连续两个字节内,其值为 0 xD0D6即中”字在 GB2312 中的编码。用这种方式可以快速实现 Unicode 编码到 GB2312 编码转换,得到 GB2312 编码后,再查以GB2312 编码生成的字库文件即可显示出一个完成
45、的长文件名。4.4智能音乐演奏器部分码开发语言介绍:由于飞利浦公司的LPC900 系列单片机采用了 51 单片机的内核结构,所以可用 C51来进行编程。C 语言是 Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在开发上,而且各类科研都需要用到C 语言,具体应用比如单片机以及系统开发。Keil 的C51 是支持 51 单片机最成功的 C 语言,它功能强大且代码效率极高,其应
46、用最为广泛。但是,C51 和标准 C 有一定的区别,主要体现在数据类型和数据上的差别。结构4.4.1智能音乐演奏器程序智能音乐演奏器程序要与键盘配合起来设计,下面以MP3 部分主程序来说明:u(“Entering MP3n”);prSD_Reset();化/ SD 卡初始MP3Init(); KeyBoadInit();化/MP3 初始化/ 键盘初始EA=1;Numo表/开中断,键盘可以开始工作/得到 SD 卡中的 MP3 歌曲列g=GetMP3List();pruf(“Song:%xn”,Numog);MP3 歌曲/输出歌曲总数信息后,可以按Play 键开始While(1)if(PlaySe
47、=PLAY) PlayMP3(&SONG11*NowPlaying);/如果处于状态,则当前歌曲if(NowPlaying=Numo停止g) PlaySe=STOP;/全部歌曲完了,器初始化各驱动程序完成后,需要进入主程序,SD 卡中的音乐。这部分程序可以在死循环中完成。一旦开始音乐,就不需要停下,除非暂停键(可设一标志位加以判断)被按下。其程序:sys_init(); while(1)/音乐flag=0;mp3_play();在主程序时,如果处于状态,则调用 Play MP3 程序歌曲,直至到最后一首。在 Play MP3 里面,MP3器一旦开始工作以后,就会一直向 CPU 请求数据,直至歌
48、曲结束。程序进入此函数以后,只有改变当前歌曲的键盘操作才会使此函数提前结束,进入下一首歌的MP3过程中,可以先搜索全部音乐,将其放入一全局变量中,然后,利用这个全局变量判断是否所有音乐已经完成。过程主要为搜索音乐,找到音乐数据位置,数据,送入 VS1003B,判断文件是否结束,没有则再查找下一簇数据并数据,否则,送入结束数据代码,跳到下一曲。其中,在进行完每一块数据的解码之后,需要进行一次键盘扫描,根据键盘的值,对 VS1003B 或单片机的相应寄存器进行操作,达到控制MP3的目的。MP3函数的工作分两部分进行,第一部分是一首新的 MP3 歌曲时,要做一些初始化工作。第二部分则一直在等待中断发
49、生。第二部分是与键盘结合起来,以实现MP3过程中的用户操作。其流程如图:产生数据请求中断是否需要下一个扇区是否当前数据已一扇区是读出一个新的扇区结束当前歌曲,指向下一歌曲是否按了暂停键4.4.2智能音乐演奏器功能按钮设计当执行 MP3 程序的时候,需要通过按键操作来控制 MP3 歌曲的:,键盘响应流是否否是否单击“选曲”按钮图 4.2 程序流是继续往器中送数据等待再次按下暂停键产生键盘中断置、暂根据所处功能不同设置不同寄存器的值切换功能停状态清中断标志,等待下一次中断四个每个键对应了一个键盘响应函数。Func,功能切换。功能切换的作用是设置功能状态。每按下一次此键,则功能状态计数器在 13 之
50、间轮换。源代码如下:void Func()if(CurrentFun0 x01)MP3VOR-=0 x01; MP3VOL-=0 x01;break;case EFFECTION:if(MP3BAS7) MP3BAS-=7; MP3MED=0 x0f; MP3TRE+=7;break;case SELECTSONG:if(NowPlaying=(Num/按下“下一首/音量减小”键时的处理/如果当前处于音量调节功能/当前音量没有达到最小时/右声道音量增大一档/左声道音量增大一档/如果处于音效调节功能/降低重音效果/如果处理MP3 选取功能g-1) NowPlaying=0;/如果已经处于最后一首
51、了,则指向第一首 else NowPlaying+; ChangeSong=1;break;/否则,指向下一首/置选曲标志位default:break;(3)Previous,向前。此键的功能与 Next 相对应。源代码如下:void Previous()switch(CurrentFun) case VOLUME:if(MP3VOR0 x01f)/按下“上一首/音量增大”键时的处理/如果处于音量调节功能/如果音量没有达到最大时MP3VOR+=0 x01; MP3VOL+=0 x01;/右声道音量增大一档/左声道音量增大一档break;case EFFECYION:if(MP3BAS0)Now
52、Playing-;/如果当前歌曲不为第一首,则指向上一首else NowPlaying=Numog-1;/如果当前已经到达第一首,则指向最后一首 ChangeSong=1;break;default:break;/置选曲标志位(4)PlayPause,/暂停。每当按下此键时,改变一下状态,配合在 MP3函数中对此状态的判断,可以实现MP3 void PlayPause()PlaySe=!PlaySe;过程中的暂停。源代码如下:/按一下键时,改变状态总结智能音乐演奏器在现在市场上已经变得非常常见,从这个角度看,智能音乐演奏器的发展潜力已经不是很乐观。但是,微型卡技术却在飞速发展,这种基于 SD
53、卡的智能音乐演奏器在现实中,仍然具有一定潜力。而且,它在被用作智能音乐演奏器的同时还可以用作器。对于用户来说,这无疑是一种新意、一种优势,值得去、体验。由于它本身的小巧,还可以嵌入车载系统、家庭系统等设备中,如果能在这些方面加以应用,这种基于SD 卡的智能音乐演奏器还有很大潜力可供挖掘。有关电脑的数据传输技术多种多样,如Irda(红外)、Bluetooth(蓝牙)、WiFi(无线网络)等等,采用无线的数据传输方式将为智能音乐演奏器带来更美好的前景。综上所述,这种使用微型卡作为介质的智能音乐演奏器仍具有良好的发展势头,拥有一定潜力可供挖掘。经过为期几个月的毕业设计,在学习和实践过程中,使我对智能
54、音乐演奏器有了更认识和和了解,我也发现很多之处,特别是对程序和硬件电路的了解,让我体会了写程序以及制图的辛苦。好在通过实践,使我在这些方面有了认识和提高。综合实践它是一项任务,更是一种和历练。参考文献1,.便携式数字音器通用规范标准解读 J&标准化2008(4):2526.音频格式大全 仙乐飘飘 J.新电脑 2003,07:122126.2345杨心怀,.便携式 MP3器的设计 J 2003,29(2):5557.高性价比单片机 P89LPC932 及其应用 J.国外电子元器件 ISTIC 2005,6:4748.,.SPI 协议的音频流系统的研究与设计 J.工矿自动化 2011,1:4449
55、.6司新生.51 单片机SD 卡SPI 模式操作 J.教育教学2010,29:3640.7,.基于M25P80 串行Flash 数据系统的设计与实现C.中国兵工学会第十四届测试集 2008.7.22:838841系统应用 2010, 11:5457.技术年会暨中国高等教育学会第二届仪器科学及测控技术年会8洪家平著.基于 VS1003器的 MP3器设计 J. 单片机与9极,著.系统中 SD 卡的 FAT32 文件系统的设计J. 电声技术.2010,34(4):131135.10高效 Unicode/GB 编码转换算法的设计J.计算机技术与发展. 2009, 19(9):122124.2005.20186.1112刘13著.C 程序设计(第三版) M.:M.等著.微型计算机接.2008.16146.术及应用2004 M.:华学大学和等.例说 Pro:人民邮电.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南通市如东县2025届初三下学期3月适应性检测试题语文试题含解析
- 离散课件 代数系统和群1学习资料
- 天津滨海职业学院《工程项目管理课程设计》2023-2024学年第二学期期末试卷
- 四川省成都实验中学2025年高三年级第五次月考物理试题含解析
- 二零二五保安劳务派遣服务协议书
- 雇佣摄影师劳动合同书二零二五年
- 股权转让居间合同书协议书二零二五年
- 二零二五版隐名股东协议书
- 临时工工作协议书二零二五年
- 二零二五硫酸运输合同书
- DZ∕T 0207-2020 矿产地质勘查规范 硅质原料类(正式版)
- 施工临时便桥、便道安全要求内容
- 40篇短文搞定高考英语3500词(共42页)
- 磨煤机检修步骤工艺方法及质量标准
- 壁饰设计(课堂PPT)
- 轮式挖掘机的驱动桥壳工艺设计1
- 事业单位工作人员奖励审批表--实用
- 主体结构施工方案(清江路站最新修改6-16)
- 钢管扣件进场验收记录
- 电解铝整流系统整流方案及整流元件与快熔的选择
- 安徽合肥住宅工程质量通病防治导则
评论
0/150
提交评论