版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I / 87毕 业 论 文论文题目 基于 MP3 播放器的设计摘要随着电子技术的发展,MP3 播放器已是目前市场上最流行的消费类数码产品之一,因其具有大容量、高音质、小巧便携等特点而倍受广大消费者的青睐。而对于单片机编写的 MP3 播放器具有执行效率高、频率输出稳定、易于修改、高可靠性、高性价比、低电压、低功耗等优点,使单片机近几年得到迅猛发展和大围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表与通讯设备、日常消费类产品、玩具等领域 。本设计主要利用 ATmega128 作为系统的中央处理器,采用 VS1003B 解码芯片作为音乐播放器的解码芯片,SD 卡作为系统的存储器,CH37
2、5 芯片作为读取外部 U 盘数据的驱动芯片。通过 ATmega128 读取 SD 卡或者读取经 CH375 芯片传送的音频数据,再送入 VS1003B 解码芯片实现特定格式的音频解码,并通过耳机或者有源音响输出。关键词:关键词:Atmega128;MP3 播放器;SD 卡;CH375;VS1003B;II / 87BasedBased onon thethe designdesign ofof ATmega128ATmega128 musicmusic playerplayerAbstractWith thedevelopment of electronic technology, MP3 p
3、layers on the market todayisone ofthe most popularconsumer digital products, because of itslarge capacity, high-quality, compact and portablefeaturesand muchin favor of consumers. For thepreparation ofsingle-chipMP3 playerwith highefficiency,stablefrequency output, easy to modify, high reliability,
4、high cost, low voltage, lowpower consumption, etc., so that the microcontrollerin recent yearshas been the rapiddevelopmentand large-scale promotion, widely used in industrial controlsystems, dataacquisition systems, intelligent instrumentation andcommunications equipment,everydayconsumer products,t
5、oys,and other fields.The mainadvantage ofthis designATmega128as the centralprocessor system, using VS1003Bdecoder chipas themusic playerdecoder chip, SD card as amemory system, CH375 chip asUdiskread externaldatadriver chip.ATmega128SDcard orbyreadingthrough theCH375chipreadsaudio datatransmission,a
6、nd then intoVS1003Baudio decoderchipdecodea specific format, andthrough headphonesor poweredstereooutput.KeywordsKeywords: : Atmega128; MP3 player; SD card; CH375; VS1003B;III / 87目录目录第一章引言 11.1 课题背景与来源 11.2 课题意义 11.3 MP3 播放器发展历程和研究现状 1第二章系统概述 32.1 系统设计总方案选择 32.2 系统可行设计方案对比选择 32.3 系统设计硬件组成 42.4 系统设计
7、的功能介绍与操作说明 5第三章硬件组成与设计 63.1 主控系统模块设计电路图 63.2 VS1003 音频解码模块 83.3 SD 卡模块电路与非正常播放的的解决办法 103.4 U 盘通信读写模块 11第四章软件设计 134.1 开发工具介绍 134.2 主程序流程图 13IV / 874.3 SD 卡的读流程图 144.4 SD 卡文件系统的结构分析 144.5 SD 卡文件系统的实现 154.6 U 盘文件管理系统 16第五章系统测试与分析 175.1 系统设计过程 175.2 模块的调试 175.3 系统测试达到的技术指标 19第六章结束语 22参考文献 23致 24附录 1(原理图
8、、PCB 图、实物图)25附录 2(程序)301 / 87第一章第一章 引引 言言1.11.1 课题背景与来源课题背景与来源随着中国经济的不断发展,人们生活水平不断提高,物质追求已基本得到满足,随之而来的是精神层面的追求。人们对生活质量的要求也越来越得到重视,对音乐的追求也迅速成为了其享受生活的重要部分。在过去的几年里,各种音乐播放器层出不穷,它们的文件格式也不可枚举。就音频播放器来说,其常用格式就有WAV、OGGG、MP3、WMA、ACC、APE 等。MP3 格式由于具有压缩后文件体积小、音质丢失小的特点而成为了使用最为广泛、最受播放器生产商欢迎的音频格式之一。生活中人们往往把 Moving
9、 Picture Experts Group Audio Layer III 简称为 MP3,其本身就是一种音频压缩技术,采用了国际标准 MPEG 中的第三层音频压缩模式,对声音信号进行压缩的一种格式1。现在普遍应用的声音编码技术是一种叫 MPEG 声音压缩的算法,这是一种对音源的性质没有作任何假设的算法,单纯地利用人耳的听觉特性来对声音进行压缩。MP3 就是利用了这种技术,将音乐以 10:1 甚至 12:1 的压缩率,压缩成一种容量较小的文件。也就是说,MP3 不仅可以把文件压缩到更小的程度,并且还可以非常好地保持了原来的音质2。1.21.2 课题意义课题意义随着电子技术的迅速发展,现阶段的
10、音频技术已经发展得相当成熟,市场流行的音频播放器其功能也远非普通的 MP3 可以比拟,操作界面也相当的复杂多样。但对于市场需求来说,MP3 仍然占有一定的市场。同时,对于比较缺乏实际操作能力的大学生来说,实打实地设计播放器是很有必要的,这对于掌握与巩固所学知识起到举足轻重的作用与对提高自身各方面的能力、培养今后从事这类工作或研究这类技术的兴趣。而 MP3 播放器相对而言比较简单,对于初设计者来说是一种很好的选择。本系统采用了简单、经济的电子芯片设计而成,与市场上的 MP3 有所不同,更加突出地改进了其MP3 的储存容量小的缺点。支持 SD 卡与外部 U 盘等外储存设备的读取,具备了价格便宜、高
11、容量、体积小、音质好、便于携带等优点。这样的 MP3 播放器被广泛用于汽车、家居、工业等领域,如车载 MP3 播放器等。1.31.3 MP3MP3 播放器发展历程和研究现状播放器发展历程和研究现状随着计算机速度的飞速提升,MP3 标准终于在 1995 年被 Brandenburg 的研究小组制定出来,并免费提供 MP3 软件下载。MP3 的现世,由于闪存技术初现,存储容量还很小,而价格偏高,当时的 MP3 仍属于十分昂贵的“奢侈品” 。20 世纪后期,为了满足更多用户的需求,集中解决了 MP3 播放器能在不同的电脑上连接使用的问题,最终 MP32 / 87播放器选择了“并口”作为数据输用的接口
12、。直到 1998 年,第一台 MP3 随身听 Saehan MPman F10 诞生,重 65 克。但是当时的 MP3 存在信噪比太低、并口数据传输速度慢等缺点。2000 年,由于受到突飞猛进的 USB 技术影响,MP3 播放器开始使用了 USB 接口的设计。2000 年中,创新发布了世界上第一台 2.5 寸硬盘 MP3 播放器NOMAD Jukebox,这款音乐播放器的外形就像一个标准大小的 CD 播放器。USB 接口可以提供连接速度高达 12Mbps,这种速度与并口速度相比提高幅度在 10 倍以上,运用这种速度下歌曲文件传输时间可以缩减为 3 秒,若要进行 64MB 大小容量的文件传送也不
13、需要 1 分钟。USB 2.0 标准进一步将接口速度提升到 480Mbps,是普通 USB 速度的 20 倍,更大幅度地降低了 MP3 音乐文件的传输时间3。后来使用整合式 USB 接口使数据传输更加方便。伴随着“无驱动”闪存盘的技术实现,在 Windows 2000 以上的操作系统中免去了安装驱动程序的麻烦。直接带 USB 接口的 MP3 操作起来更加方便,但此时的 MP3 外形不够美观。为了解决外观不美观的问题,MP3 采用了伸缩式 USB 接口,可以提供高速传输,还可以即插即用。随后又发展成为无线的数据传输方式的 MP3。如今,技术仍在不断地发展,MP3 技术已经相当的成熟,甚至发展成为
14、 MP4、MP5。但是 MP3 的技术却仍在广泛被应用,MP3 播放器已经占据广大市场。现在的 MP3 播放器具有大容量、高音质、小巧便携等优点,深受广大消费者的青睐,广泛被应用于汽车、手机等领域,已在生活中占据重要地位。3 / 87第二章第二章 系统概述系统概述2.12.1 系统设计总方案选择系统设计总方案选择系统初步设计图如图 2-1 所示CPU 外围电路MCUMain board外部音频存储设备功能按键操作播放界面图 2-1 系统初步设计图2.22.2 系统可行设计方案对比选择系统可行设计方案对比选择根据设计要求,结合实际情况和成本要求,对系统主要部分电路方案叙述如下。2.2.12.2.
15、1 MCUMCU 微控制器可供选择方案对比微控制器可供选择方案对比方案一:采用 ATMEL 公司生产的 AT89SXX 系列单片机。如采用初学者广泛使用的AT89S52 单片机,它部具有低损耗、高性能的 CMOS 微处理器,片也具有 8K 字节的储存空间、4 个 8 位的并口、1 个全双工的串行口、128 字节的 RAM、2 个 16 位定时/计数器,其寻址围也有 64K,这些特点能满足简单的设计需要,但如果用这款单片机来设计 MP3那最好要外接一个储存芯片,否则对数据的缓冲、处理速度跟不上,容易造成卡机现象。方案二:采用 ATMEL 公司生产的 AVR 系列单片机,它相对与 AT89SXX
16、系列单片机在功能特点上得到更大的改进,除了在体积、集成度、可靠性,扩展性上具有优势,而且其处理数据速度和功能得到了提升,是一种 RISC 精简指令集高速 8 位的单片机。特别是 ATMEL32 、ATMEL64、ATMEL128 的片储存空间均在 8K 以上,尽量满足了 MP3 不卡机的条件之一。而且如今其市场价格与 89SXX 系列也相差不远,运行速度更快。综上所述,为了能更好地处理数据,得到流畅的播放效果,应考虑 MCU 数据处理能力,选择方案二中 ATMEL 公司的 Atmega128 单片机作为微处理控制器,它远远能满足 MP3 的数据解码速度要求。2.2.22.2.2 MP3MP3
17、解码方案对比选择解码方案对比选择方案一: 直接用软件解码。虽在硬件方面降低了成本,但其软件方面比较复杂,4 / 87编程难度较高,工作量极大,而且对控制器的处理速度和资源要求也较高。 方案二:直接用音频解码芯片解码。使用高性能的 VS1003 MP3 解码芯片,功能不仅强大而且价格也相当便宜,VS1003 支持 MP3、WAV、WMA、MIDI 等诸多音频格式,音质可与市场上中档 MP3 播放器相媲美。 基于上述比较,故选择方案二;2.2.32.2.3 显示模块方案显示模块方案方案一:采用 LCD1602 液晶,完成数据显示。LCD1602 液晶驱动电路相当简单,它可以显示简单的中英文字符、图
18、案,并且功能和设计的成本都比较低。方案二:采用 LCD12864 液晶,它不仅可以显示中英文字符,也可以显示图案。但其图案分辨率很低,而且只能显示单色字符,在价格方面也不算很便宜。 方案三:采用 TFT 液晶模块,它既可以显示彩色数字、中英文字符和图案,还可以加上触摸屏,实现 GUI 用户图形交互实时控制,但其模块价格较贵,并且设计要求并不需要使用触摸等功能。方案四:采用诺基亚 5110 液晶模块,它采用的是串行通信协议进行通信,传输速度快,耗能低,接口信号线数量少,能显示英文、数字还有图案,并且市场价格最便宜。基于价格便宜,并且结合本系统设计需要,故选择方案四。2.32.3 系统设计硬件组成
19、系统设计硬件组成本系统是基于 Atmega128 单片机所设计的 MP3 播放器,音频文件存储在 SD 卡上,通过文件系统的读取 SD 扇区或将音频存在 U 盘等 USB 外设储存器上,通过 CH375 驱动芯片读取外设储存器,由 Atmega128 单片机读取数据并送到 VS1003B 音频解码模块解码输出,同时还可以通过按键来选择实现歌曲切换,暂停播放和音量调整等功能。本系统设计主要由以下模块组成:单片机最小系统、诺基亚 5110 液晶显示、VS1003 音频解码模块、SD 卡读取模块、USB 外设读取模块和电源模块以与功能按键。系统框图如图 2-2 所示。5110 液晶显示模块Atmeg
20、a128单片机功能按键SD 卡读取模块音频解码模块U 盘读写模块电源模块5 / 87图 2-2 系统组成框图2.42.4 系统设计的功能介绍与操作说明系统设计的功能介绍与操作说明本系统设计的特点和可实现的功能与具体的操作说明如下:本系统的特点是:所用芯片少,设计简单,但是功能强大,与市场上的 MP3 播放器相比,本设计不仅具有其最基本的优点外,还在储存容量上得到了突破。不仅能在SD 卡上实现音频数据的读取还可以高速读取外部的 USB 储存设备,如 U 盘,硬盘等。真正达到了成本低,音效好的特点。对于功能的实现,本设计能实现对 SD 卡与 U 盘的高速读取,同时可在诺基亚5110 液晶上显示歌曲
21、进程、歌曲名与音频频谱。需对 SD 卡数据存储结构与 VS1003 解码电路进行深入的了解。在操作上,应用了简单的功能按键,控制音乐的播放、暂停、上下曲切换、音量调节等操作在显示液晶上清楚可见。6 / 87第三章第三章 硬件组成与设计硬件组成与设计硬件设计包括整个系统的电路图,主要由单片机最小系统、VS1003 解码模块、外部音频存储模块、诺基亚 5110 液晶显示模块、电源电路模块、MP3 功能按键电路等组成,本章根据系统设计结构图来对每个部分的电路进行分析和说明,重点讲述 MCU 微控制器 Atmega128、SD 卡模块电路、VS1003B 音频解码模块电路、CH375 驱动外设模块电路
22、、功能按键并且涉与到的一些芯片详细资料。下面将整个音乐播放器的设计对各模块组成分别做个介绍。3.13.1 主控系统模块设计电路图主控系统模块设计电路图本模块设计包含了以下部分:MCU 微机处理器、复位电路、外围模块接口、程序下载口、功能按键等。整个电路图设计相对而言比较简单,尽量地减少元器件,简化元器件布局,达到合理布局的目的。对本模块各电路进行方案对比以与元器件价格比较,最终电源部分选用了 AMS1117 转换电压芯片,可将外部电压转换成 MCU 所需的电压,电路简单,效率高。对于 MCU 的选择,考虑到效率问题,最终也选定了 Atmega128作为主控芯片,它的外围电路简单,满足本设计的需
23、要。而显示部分也采用了诺基亚5110 液晶模块,它具有既能显示英文和特殊符号还能显示中文,显示界面友好,控制简单,工作稳定,价格便宜,占用 IO 口少等优点,容易实现歌曲名的显示和歌曲进程的操作。本模块设计电路图如 3-1 所示,系统使用部 8M 晶振,下载熔丝位为 E4 91 FF 不兼容 103 模式。7 / 87. PEN1PE0 (RXD0/PDI)2PE1 (TXD0/PDO)3PE2 (XCK0/AIN0)4PE3 (OC3A/AIN1)5PE4 (OC3B/INT4)6PE5 (OC3C/INT5)7PE6 (T3/INT6)8PE7 (IC3/INT7)9PB0 (SS)10P
24、B1 (SCK)11PB2 (M OSI)12PB3 (M ISO)13PB4 (OC0)14PB5 (OC1A)15PB6 (OC1B)16PB7 (OC2/OC1C)17TOSC2/PG318TOSC1/1PG419RESET20VCC21GND22XTAL223XTAL124PD0 (SCL/INT0)25PD1 (SDA/INT1)26PD2 (RXD1/INT2)27PD3 (TXD1/INT3)28PD4 (IC1)29PD5 (XCK1)30PD6 (T1)31PD7 (T2)32PG0 (WR)33PG1 (RD)34PC0 (A8)35PC1 (A9)36PC2 (A10)3
25、7PC3 (A11)38PC4 (A12)39PC5 (A13)40PC6 (A14)41PC7 (A15)42PG2 (ALE)43PA7 (AD7)44PA6 (AD6)45PA5 (AD5)46PA4 (AD4)47PA3 (AD3)48PA2 (AD2)49PA1 (AD1)50PA0 (AD0)51VCC52GND53PF7 (ADC7/TDI)54PF6 (ADC6/TDO)55PF5 (ADC5/TM S)56PF4 (ADC4/TCK)57PF3 (ADC3)58PF2 (ADC2)59PF1 (ADC1)60PF0 (ADC0)61AREF62GND63AVCC64U3ATm
26、ega128-16AI12345678910JP1SCKTXD0ISP下载+5V+5VSCKM OSID/C#CS#RST#LEDENGND1234567891011121314151617181920212223242526272829303132P11234567891011121314151617181920212223242526272829303132P21234567891011121314151617181920212223242526272829303132P41234567891011121314151617181920212223242526272829303132P512
27、345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263643V310uHL1104C13104C12GNDGNDK1K2K3K4K5R910K+5VR1010KR1110KR1210KR
28、1310KS3SW-PBS4SW-PBS5SW-PBS6SW-PBS7SW-PB10KR8Res2104C14CapS2SW-PB3V3GNDnRESTnRESTGND123456789vs1VS1003下下下下+5VGNDXRESETM ISOM OSISCKDREQXCSXDCS12Y112MC1522C1622GNDK1SCKM OSIM ISOSD_CSRST#CH375INT#DREQK2K3K4K5CH375RD#CH375WR#CH375CS#D0D1D2D3D4D5D6D7CH375RSTICH375A0XCSXDCSXRESETLEDENA V R 128下下I/O 下A V
29、R128下下下下ISP下下下A V R128下下下下GNDnRESTTXD01234567891015110下下D/C#CS#CD/DAT31CM D2VSS13VDD4CLK5VSS26DATA07DATA18WP10DATA291112*1SD10KR210KR310KR410KR53V3GNDSD_CSM OSIGNDSCKGNDM ISODATDATINT#1RST2WR#3RD#4TXD5RXD6NC7A08V39UD+10UD-11GND12XI13XO14D015D116D217D318D419D520D621D722GND23ACT#24RST25RST#26CS#27VCC2
30、8*2CH375AusbVCC1DATA-2DATA+3GND4*3usbX112MC1022PFC1122PFCH375INT#CH375RSTICH375WR#CH375RD#CH375A0D0D1D2D3D4D5D6D7D2USB-LEDR61KCH375CS#C70.47U3V33V33V3123P3P/S_TXDGNDC90.01UFGNDGNDUD+UD-C8104100uFC4104C512D1LEDGND1IN3OUT2U2CYT117104C13V3+5V4K7R1123J1下下下下GND100uFC6+5VGNDUD+UD-100uFC2104C3GND1IN3OUT2U1
31、CYT117GNDPDIPDI3.3R7A6B5C4A1B2C3S1下下下下12P16Header 29U下下下下下下下下下SD下下下下下下下图 3-1 主控系统模块设计电路图8 / 87以下将介绍本模块的主要电路与芯片。3.1.13.1.1 供电电源电路供电电源电路本电路是直接利用外部电源适配器进行接电,这样得到的电流和电压都比较稳定,然后利用 ASM1117 线性稳压芯片,将电源电压转换成稳定的,少纹波的 5V、3.3V 电压,为了能控制整个电路的电源供电,在适当处添加了一个六角开关,目的是截取适配器供电。当然本电路供电方式不唯一,在没有电源适配器的条件下也可以使用下载器供电,简单又实用。
32、供电电源电路如图 3-2 所示100uFC4104C512D1LEDGND1IN3OUT2U2CYT117-3.3V104C13V3+5V4K7R1123J1下下下下GND100uFC6100uFC2104C3GND1IN3OUT2U1CYT117-5VGNDA6B5C4A1B2C3S1下下下下图 3-2 供电电源电路3.1.23.1.2 MCUMCU 微控制器微控制器Atmega128 的引脚图如 3-3 图所示。它为 64 脚的贴片式芯片,本设计利用它为核心控制元件,只有它能正常工作后才能使其他的元件进入正常工作状态。因此,下面对该芯片进行必要的说明。图 3-3 图 Atmega128 的
33、引脚8 / 87Atmega128 芯片是一种高性能、低功耗 8 位的 AVR 微处理器,片具有 128K 字节的系统可编程 Flash,可解决卡机问题,能与时处理传送的数据。具有 4K 字节的EEPROM,可以对一些操作数据进行存储,方便断电重启后,能对上一次的数据进行再现。具有独立片振荡器的可编程看门狗定时器,可解决一些程序跑飞的情况。有 53 个可编程 I/O 口,可方便外挂其他器件,具有可工作于从机/主机模式的 SPI 串行接口。本设计主要用到 SPI 模式,需对 SPI 管脚与其寄存器加以重视。串行外设接口SPI 允许 ATmega128 和外设之间进行高速的同步数据传输,接口管脚为
34、 PB1(SCK)、PB2(MOSI)、PB3(MISO)。SPI 串口方式特点有:全双工,3 线同步数据传输;主机或从机操作 LSB 首先发送或 MSB 首先发送;具有传输结束中断写碰撞标志检测;可以从闲置模式唤醒;可作为主机时具有双速模式(CK/2) 。以上是本设计需要重视的主芯片特点。3.1.33.1.3 功能按键电路功能按键电路功能按键电路在系统中起到手动切换播放模式与声音大小的调整。考虑到本设计中需要的按键操作并不多,单片机的 I/O 口完全可以满足,所以选择了独立式键盘设计,如图 3-4 所示 ,按键以低电平有效。在硬件方面注意手动消抖,在软件方面,也应考虑按键消抖情况。如图 3-
35、4 所示,共有五个按键,分别实现歌曲的播放、暂停、上下曲切换、声音加减功能。图 3-4 功能按键3.23.2 VS1003VS1003 音频解码模块音频解码模块VS1003B 是芬兰 VLSI 公司生产一种 VSXX 系列的芯片,是一种单芯片 MP3/WMA 音频解码器。它拥有一个高性能,低功耗 DSP 处理器核 VS_DSP4,5KB 的指令 RAM 和0.5KB 的数据 RAM。串行控制和数据接口,4 个常规的 I/O 口,一个 UART,一个高品质可变采样率的 ADC 和立体声 DAC、一个耳机放大器和地线缓冲器。VS1003B 解码模块对单片机从 SD 卡或者 U 盘中读取的数据流进行
36、解析,并转换成模拟信号输出,同时能实现高低音控制和立体声数模转换,可直接驱动耳机。本设计需将系统 5V 电源通过ASM1117-3.3、ASM1117-2.5 转化成 VS1003 所需的 3.3V、2.5V 电压,并通过 3.3UH 的电感进行数字电压、模拟电压、以与 IO 口电压进行区分,单独供电,降低对解码信号的影响。VS1003B 封装图如 3-5 所示。9 / 87图 3-5 VS1003 封装图该芯片的主要管脚介绍: 1 脚 MICP:同向差分话筒输入;2 脚 MICN:同向差分话筒输出;3 脚 XRESET:复位;8 脚 DREQ:数据请求;13 脚 XDCS:命令片选; 23
37、脚 XCS:命令片选;28 脚 SCLK:串行时钟; 29 脚 SI:串行输入;30 脚 SO:串行输出;42 脚 GBUF:公共地缓冲器;44 脚 RCAP:基准滤波电容。3.2.13.2.1 VS1003VS1003 解码模块电路图解码模块电路图图 3-6 VS1003 解码模块电路图3.33.3 SDSD 卡模块电路与非正常播放的的解决办法卡模块电路与非正常播放的的解决办法对于本模块电路设计,首要应该考虑电源电压和电流的要求,防止电压电流超过SD 卡承受围,进行烧卡,系统中供电电压一般为 3.3V。驱动 SD 卡的模式分为 SD 总线10 / 87模式和 SPI 总线模式。采用四根数据线
38、并行传输数据,数据传输速率高的模式为 SD 卡总线模式,这种总线的传输协议并不简单,而且很多单片机都没有提供这样的总线接口,而且若用软件来模拟 SD 卡总线却又相当的繁琐,并且还会降低 SD 卡的数据传输速率;如果用 SPI 总线模式去驱动 SD 卡,那么就只需用到一根数据传输线,此时数据传输速率虽较低,可在很多单片机上都具有 SPI 总线接口,若用软件来模拟也十分的容易,其总线模式的传输协议十分简单,易于实现。因此,本模块设计根据协议的简单性和实际需要则采用了 SPI 总线模式。SPI 总线模式的数据传输则以字节为单位进行,每个字节则为 8 位,每个命令或者数据模块都需以字节来对齐。单片机对
39、 SD 卡的读操作主要由主机控制,主机必须先拉低 SD 卡的片选信号 CS,选中 SD 卡器件,然后再由主机向 SD 卡发送各种命令,SD卡对主机发送的任何命令进行响应,根据命令的不同执行不同的响应格式;在执行写操作时,SD 卡还要对主机发送的每个数据模块进行响应。通过执行命令和作出相对应的命令响应,完成单片机对 SD 卡的读写操作。3.3.13.3.1 调试中一些调试中一些 SDSD 卡不能正常播放的解决办法卡不能正常播放的解决办法如果在软件方面只编写了 FAT16 文件系统,则不支持大于 2G 的盘,由此带来了两个问题。若大于 2G 的盘,格式化的时候只能选择 FAT32,FAT16 的盘
40、是不能正常播放的。 若小于 2G 的盘,请先使用软件 USBOOT 把 SD 卡工作模式更改为 FDD 模式,更改后即可正常播放。3.3.23.3.2 SDSD 卡读写模块图(如图卡读写模块图(如图 3-73-7 所示)所示)图:3-7 SD 卡读写模块图3.43.4 U U 盘通信读写模块盘通信读写模块本模块设计是利用 CH375 芯片对外部的 U 盘数据进行驱动读取。CH375 是一个 USB总线的通用接口芯片,支持 USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式4。CH375 是一个 28 脚的贴片式芯片,它具有串并行通信方式,可以通过读控制线、写控制线、片选控
41、制线、中断输出线与 8 位数据总线,可非常方便地与单片机等控制器总线相连,实现并行传输。当然还可以选择串行通信,通过串行输入线、输出线和中断输出线与单片机等实现数据传输。CH375 本身还置了大量专用通信协议的固件,外部单片机可以直接通过调用其固件实现对常用的 USB 储存设备以扇区为单位的读写操作。在本设计过程中用 ASM1117-3.3 芯片降压到所需的 3.3V 电压,并且还在并行串行的方式上预留了接口,即通过此接口可以选择串行和并行接口方式。(注意:CH375 运用的是 12M 晶振,22PF 瓷片电容组成的振荡电路)11 / 873.4.13.4.1 U U 盘通信电路图(如图盘通信
42、电路图(如图 3-83-8 所示)所示)INT#1RST2WR#3RD#4TXD5RXD6NC7A08V39UD+10UD-11GND12XI13XO14D015D116D217D318D419D520D621D722GND23ACT#24RST25RST#26CS#27VCC28*2CH375AusbVCC1DATA-2DATA+3GND4*3usbX112MC1022PFC1122PFCH375INT#CH375RSTICH375WR#CH375RD#CH375A0D0D1D2D3D4D5D6D7D2USB-LEDR61KCH375CS#C70.47U3V33V33V3123P3P/S_T
43、XDGNDC90.01UFGNDGNDUD+UD-C8104+5VGNDUD+UD-3.3R7图:3-8 U 盘读写模块图3.4.23.4.2 U U 盘工作原理盘工作原理当 CH375 工作方式在主机方式时,单片机通过 RD、WR、片选 CS、中断 INT#和地线 A0 进行控制,实现与 CH375 通讯。当有 U 盘插入时 CH375 产生中断来告诉单片机,单片机每次得到 CH375 的中断后,都要用“获取状态码”来取消这个中断,让 INT#恢复到高电平,为下次中断做准备。要是 U 盘连接错误,那么就会返回状态码,若获取状态码 GET_STATUS,那么表示 U 盘已经连接成功。接下来就是
44、磁盘的初始化 DISK_INIT,同样也是等待中断,获取状态码,若获取 USB_INT_SUCCE,则成功,否则返回状态码,此时初始化 U 盘成功,返回标志 0。当 CS、RD 和 A0 都为低电平时 CH375 的数据可以通过 D0D7 输出;当 CS、WR 和A0 都为低电平时,D0D7 上的数据被写入 CH375 芯片中;当 CS 和 WR 都为低电平,A0为高电平时,D0D7 中的数据可以作为命令码写入 CH375 中,这样就实现了 CH375 对 U盘的读写5。其过程为:在 CH375 对 U 盘进行读写扇区时,首先送入磁盘读取命令DIST_READ,然后送入 32 位的扇区地址,从
45、低字节开始送入,接着送入要读取的扇区数,当我们只读取一个扇区时,我们就只送一个入一个 1,往下是等待中断读取状态,送入读数据命令再读数据(注:数据的第一个字节是后面数据的长度,紧接着的才是真正的数据) ,写入继续读数据命令,等待中断获取状态 USB_INT_SUCCESS,最后读取扇区成功。补充:CH375 的数据缓冲区仅为 64 个字节,读取一个扇区(512 字节)要读 8 次,每读完一次要从 CH375 中送入继续读取的命令,等待 CH375 的数据缓冲区更新为下面的 64 个字节后,再次等待中断,读取状态。写入 8 次以后,512 个字节被写入到了CH375 中,最后一次继续写命令 DI
46、SK_WR_GO,获得的状态码不再是12 / 87USB_INT_DISK_WRITE。3.4.33.4.3 U U 盘模块部分容易造成影响的一些问题盘模块部分容易造成影响的一些问题在 PCB 设计中,应注意一些细节以防对设计造成不必要的影响。例如注意振荡电路晶体的外壳接地,这样可以降低电磁辐射,减少外来干扰,并且振荡电路的电容应尽量靠近 CH375,PCB 的走线应该尽量短,最好可以在周边环绕接地或者敷铜。对于USB 数据线 D+和 D-的 PCB 应该平行布线,长度保持差不多6。3.53.5 诺基亚诺基亚 51105110 液晶模块液晶模块本设计采用诺基亚 5110 液晶显示,它不仅兼容了
47、诺基亚 3310 液晶,而且在操作上也非常的简单。它原本就是一个 LCD 点阵屏,可以显示 4 行汉字,与主机通过串口模式相接。当然可以用主机的 SPI 模式,也可以简单地模拟 SPI 模式,这对于很多单片机来说都是可以做到的。它的传输速率是 1602 液晶的四倍,在价格上也比较便宜,来源也很多。对本设计的需求已经远远可以满足。设计中模块接口如图 3-9 所示。图 3-9 诺基亚 5110 液晶接口图第四章第四章 软件设计软件设计4.14.1 开发工具介绍开发工具介绍本设计除了硬件方面的重要性,同时也应该注重软件。一个单片机的使用不仅仅只有硬件,同时也应该有软件的支持,硬软结合才能发挥其更加强
48、大的作用,在写汇编程序 CPU 可执行的机器码可分为手工汇编和机器汇编这两种方法。利用汇编软件变为机器码的方式是机器汇编,在单片机的汇编软件历史上出现较早的有 A51,但随着技术的发展,单片机开发技术也越来越成熟,汇编方式也从汇编语言变成了高级语言,ICC AVR 这款 AVR 系列单片机软件已经成为了目前最流行的开发软件。ImageCraft 的ICC AVR 是一个应用到了 ANSI 标准的 C 语言来开发微控制器(MCU)程序的工具。 ICCAVR 是一个综合了编辑器和工程构建同体的软件。在 ICCAVR 编辑器的状态窗口中可以很清楚地把编译出现的错误显示出来,当用鼠标单击编译出现的错误
49、时,光标就会自动跳转到编辑窗口中引起错误的那一行,这样就省去了烦杂的查错工作7。在编译程序通过时,还可以直接产生被大多数编程器所支持 INTEL.HEX 格式文件,用于下载程序到芯片中。对于 ICCAVR 软件,在编写程序的时候要注意各个中断函数的书13 / 87写,还要注意管脚的使用,对包含的头文件也应该具有一定的了解。4.24.2 主程序流程图主程序流程图主程序主要完成系统的初始化、对 SD 卡或者 U 盘数据的识别和读取,音频的解码,还有液晶的显示、按键的操作等,其主程序流程图如图 4-1 所示。开始YNY各模块初始化读 U/SD 卡主引导解析文件系统从 U/SD 卡读取文件名调用 UN
50、ICODE 字库并显示解析文件名计算 MP3 数据流首簇地址读取 1 扇区的 MP3 数据流MP3 数据流写入VS1003 芯片读完 1 簇?计算下一簇地址文件是否结束结束图 4-1 主程序流程图各模块初始化后,单片机识别 U/SD 卡,再根据 U/SD 卡的主引导,通过 FAT 文件系统解析文件名,并调用 UNICODE 字库把文件名显示在诺基亚 5110 液晶上,然后单片机计算簇所在的地址,把读到的文件数据流送入到 VS1003 中进行解码,当读完一簇后,则计算下一次地址,如此便实现文件的。14 / 874.34.3 SDSD 卡的读流程图卡的读流程图开始端口初始化设置 SPI 为低速模式
51、CS 置为低电平SD 卡复位,CMD0CMD1,初始化SPI 高速模式发送 CMD8,保留Rec=0 x01?结束CMD58,读 OCR 寄存器至少延时 74 个时钟周期CMD59,关 CRCCMD16,设置扇区大小YN图 4-2 SD 读流程图SD 卡读流程中,设置 SPI 低速模式,把 CS 设为低电平,即选择 SD 操作,然后发送至少 74 个时钟周期,发送 CMD0 指令,让 SD 卡复位,然后延时稍许,如果检测到0X01 则发送 CMD1 初始化成功,否则不成功,在初始化成功后再发送 8 个脉冲,读取OCR 寄存器把时钟送入 SPI 高速,再关掉校验,再发送 CMD16 就可以读取扇
52、区的大小。4.44.4 SDSD 卡文件系统的结构分析卡文件系统的结构分析SD 卡的数据要在操作系统下被识别,则需要在 SD 卡上创建操作系统所能识别的FAT16/FAT32 文件系统。FAT16/FAT32 文件系统的结构大致可分为分区引导记录、文件分配表、文件目录表和数据区 4 大部分8。在分区引导记录中又可分为 BIOS 参数记录块 BPB(BIPS Parameter Block) 、磁盘标志记录表、分区引导记录代码区和结束标志 55AA 这四块容。而在 BPB 表中其起始点是在扇区字节位移 0bH 处,这段总共占了 25 字节。紧跟在分区引导记录后的是FAT(文件分配表)区,在一些文
53、件系统中存在这样两份完全一样的文件分配表 FAT1和 FAT2,如 FAT16/FAT32 文件系统就具有这样一样的两个文件分配表,并且每一份FAT 表所占用空间的大小都可从 BPB 表中查询得到。簇是一种文件存储在磁盘上的最小单位,为了防止一个文件的数据并不能完整放在磁盘的一个连续区域的情况发生,因此一般将磁盘分为若干簇。在文件的链式存储过 FAT 表记录文件存储中簇与簇之间的连接信息,这样就可以快速地查找文件储存的地址。在 FAT16 文件系统中 1 个簇就占有 2 个字节,F8FH 就是它的起始字节,FFFFH 则是它的终止字节,如果是显示 0000 则15 / 87意味着这区未被使用,
54、通过这些明显的标志,则可以快速了解储存区的活动情况。随在 FAT 表后的就是文件目录表 FDT,它在大小上固定占了 32 个扇区,但一个扇区又可容纳 16 个登记项,一个登记项又具有 32 字节的长度,具有如此的特征,使其在存储文件目录上更具有条理性。接着就是占了磁盘空间大部分的数据区 DATA,它主要用来存放文件数据。4.54.5 SDSD 卡文件系统的实现卡文件系统的实现要实现对文件的管理,那么单片机通过对 SD 卡的读写中就可按照 FAT16/FAT32 文件系统的格式对 SD 卡上的数据进行操作,这样便可以在 SD 卡上实现文件的创建、文件的读写和文件的删除等操作。4.5.14.5.1
55、 在在 SDSD 卡上创建文件卡上创建文件( (或目录或目录) )在文件目录表 FDT 中申请登记项的过程为 SD 卡上创建文件(或目录)的过程,而在登记项中则包括有文件名、文件长度和起始簇号等信息。文件名的大小一般占用 8 个字节,而长的文件名则需要用数组来存放。在需要知道文件的状态时,则可根据文件名的首字节来判断该文件的状态,若出现 00H 则表示该目录项未被使用,若出现 E5H则表示该文件(或目录)已被删除。但在创建目录时,应将属性值设置为 10H(表示子目录),文件长度为 09。4.5.24.5.2 SDSD 卡文件的读写操作卡文件的读写操作簇是 SD 卡上文件存取的单位。要读取 SD
56、 卡上的文件,就必须要用簇来,通过文件名来到该文件目录登记项所在的地址,再用目录登记项中的起始簇号来查找到文件在数据区 DATA 中第一簇的容和在 FAT 表中找到第二个簇号,接着又根据第二个簇号再找到第二簇的容和 FAT 表中的第三个簇。如此进行,就能够根据 FAT 表中的簇号来读取全部文件数据,但在写文件时就必须要保证 FAT1 和 FAT2 中容的一致性,即对两块都要进行同样的写操作10。对于 FATl6 系统文件,可根据下面的公式计算出数据起始逻辑扇区号11:起始逻辑扇区=隐藏扇区数+1+2*每 FAT 扇区数+FDT 扇区数+(起始簇号-2)*每簇扇区数4.5.34.5.3 实现实现
57、 SDSD 卡文件的删除卡文件的删除SD 卡文件管理中还有一个重要的方面,那就是实现对文件的删除。由于删除文件。并没有涉与到数据区的操作,那么只须在文件的目录登记项中进行操作12。4.64.6 U U 盘文件管理系统盘文件管理系统U 盘数据的储存同样也是采用 FAT 文件系统进行的,并且可将其储存空间划分为五大板块,即由主引导扇区(MBR)、DOS 引导区(DBR)、文件分配表(FAT)、文件目录表(FDT)和数据区组成。但是 U 盘文件级子程序库和大量的固件协议都能在CH375 中提供,所以单片机可以直接调用子程序来读写 U 盘中的文件数据。U 盘文件的16 / 87读写方式同样也是采用扇区
58、模式进行读写,USB 存储设备中的数据和定义其数据结构都可以由单片机自由操作。U 盘通信采用查询中断响应的方式进行,流程如图 4-3 所示。开始系统初始化查询中断U 盘复位/加载U 盘是否插入查询 FAT 系统文件返回播放主程序查询 U 盘指定文件结束NNYY图:4-3 U 盘读流程图单片机利用查询中断方式来识别有没 U 的存在,当 U 盘插进来瞬间,CH375 的INT#口会产生一个低电平的中断信号反馈给单片机,等待单片机把该信号恢复为高电平,完成 U 盘的成功接入操作,然后单片机利用 FAT 系统文件通过 CH375 来查询 U 盘的 MP3 文件,并将读到的数据流返回主程序送给 VS10
59、03 进行解码,完成对 U 盘的读操作。第五章第五章 系统测试与分析系统测试与分析5.15.1 系统设计过程系统设计过程设计前准备工作,认真查阅资料,对比可选方案,最终明确设计的方案,同时也17 / 87对一些设计中的主要芯片进行大概的了解。然后就是购买所需器件,以便在画图过程中能够按照元器件来画出封装。运用专业的电路设计软件 Altium Designer 来设计原理图,添加相对应的元件封装后便可成功导入 PCB 图制作,然后需在 PCB 面板上进行线路的布线和元器件的位置摆放,过程中应考虑元器件布局的合理性,线路的干扰性等问题。严格遵守地线大于电源线大于信号线的布线规则。要制作出电路板,还
60、必须在打印 PCB 图之后进行热转印,如果转印完毕的铜板线路有断开或者不清楚的现象,则可用油性墨笔补齐,等油墨干之后采用盐酸与双氧水配置的混合液进行洗板。洗板后为了减少污染环境应对废液进行回收。然后对板进行打孔,根据不同封装孔的大小采用不同的钻孔针。随后要用砂纸擦去铜上的碳粉,涂上用酒精和松香配置的松香水,因为这样可以帮助焊接锡,防止铜被氧化。最后是焊板,焊接时间不可太久,以免烧坏芯片或元器件,焊接时要防虚焊。至此就完成了一块电路板的制作,接下来就是针对模块的调试。在本次设计中,由于 Atmega128 的管脚比较多,对设计者来说印 PCB 也是有一定的难度的,为了节约成本,做单层板比较经济,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北邢台市2026年银行业专业人员中级职业资格考试(专业实务个人理财)试题及答案
- 2026音乐综合测试面试题及答案
- 2026年人力资源岗位校招笔试题含答案
- 2026年京东自营直通车售前售后客服认证初级考试答案及题库
- 2026年3月15日九江市五类人员面试真题及答案解析
- 废旧纺织生产线部分技术和设备改造项目可行性研究报告模板-申批备案
- 浙江银行招聘杭州银行零售信贷中心招聘考试真题及答案
- 关于2026年合作伙伴年度总结会议的邀请函(6篇范文)
- 家庭教育专家亲子教育方法指导书
- 2026年广东佛山南海区桂城街道社区工作者招聘考试核心押题卷(第1套)(附独家高分解析)
- 2026-2030中国白色家电行业深度调研及投资前景预测研究报告
- 宠物美容师职业技能等级认定考试复习题库(附答案)
- 2025年新媒体运营师(中级)考试真题试卷及详细答案
- 光伏围栏施工安装合同参考样本合同
- 医学生求职简历模板
- GB/T 31458-2026医院安全防范要求
- 中日it行业对比分析报告
- 工地宿舍卫生奖罚制度
- 生产车间易耗品领用制度
- 电商直播介绍
- 2026年上半年党风廉政建设工作总结及下半年计划汇报报告
评论
0/150
提交评论