




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
梧 州 学 院 毕 业 论 文 论文题目 基于 的设计 系 别 信息与电子工程学院 专 业 电子科学与技术 班 级 10 电子科学与技术班 学 号 学生姓名 指导教师 签名 完成时间 2015 年 5 月 摘要 随着电子技术的发展 MP3 播放器已是目前市场上最流行的消费类数码产品之一 因其具有大容量 高音质 小巧便携等特点而倍受广大消费者的青睐 而对于单片机 编写的 MP3 播放器具有执行效率高 频率输出稳定 易于修改 高可靠性 高性价比 低电压 低功耗等优点 使单片机近几年得到迅猛发展和大范围推广 广泛应用于工业 控制系统 数据采集系统 智能化仪器仪表及通讯设备 日常消费类产品 玩具等领 域 本设计主要利用 ATmega128 作为系统的中央处理器 采用 VS1003B 解码芯片作为 音乐播放器的解码芯片 SD 卡作为系统的存储器 CH375 芯片作为读取外部 U 盘数据 的驱动芯片 通过 ATmega128 读取 SD 卡或者读取经 CH375 芯片传送的音频数据 再送 入 VS1003B 解码芯片实现特定格式的音频解码 并通过耳机或者有源音响输出 关键词 关键词 Atmega128 MP3 播放器 SD 卡 CH375 VS1003B I Based on the design of ATmega128 music player Abstract With the development of electronic technology MP3 players on the market today is one of the most popular consumer digital products because of its large capacity high quality compact and portable features and much in favor of consumers For the preparation of single chip MP3 player with high efficiency stable frequency output easy to modify high reliability high cost low voltage low power consumption etc so that the microcontroller in recent years has been the rapid development and large scale promotion widely used in industrial control systems data acquisition systems intelligent instrumentation and communications equipment everyday consumer products toys and other fields The main advantage of this design ATmega128 as the central processor system using VS1003B decoder chip as the music player decoder chip SD card as a memory system CH375 chip as U disk read external data driver chip ATmega128 SD card or by reading through the CH375 chip reads audio data transmission and then into VS1003B audio decoder chip decode a specific format and through headphones or powered stereo output Keywords Atmega128 MP3 player SD card CH375 VS1003B II 目录目录 第一章 引 言 1 1 1 课题背景与来源 1 1 2 课题意义 1 1 3 MP3 播放器发展历程和研究现状 1 第二章 系统概述 3 2 1 系统设计总方案选择 3 2 2 系统可行设计方案对比选择 3 2 3 系统设计硬件组成 4 2 4 系统设计的功能介绍及操作说明 5 第三章 硬件组成及设计 6 3 1 主控系统模块设计电路图 6 3 2 VS1003 音频解码模块 8 3 3 SD 卡模块电路及非正常播放的的解决办法 10 3 4 U 盘通信读写模块 11 第四章 软件设计 13 4 1 开发工具介绍 13 4 2 主程序流程图 13 4 3 SD 卡的读流程图 14 4 4 SD 卡文件系统的结构分析 14 4 5 SD 卡文件系统的实现 15 4 6 U 盘文件管理系统 16 第五章 系统测试与分析 17 5 1 系统设计过程 17 5 2 模块的调试 17 5 3 系统测试达到的技术指标 19 第六章 结束语 22 参考文献 23 致谢 24 附录 1 原理图 PCB 图 实物图 25 附录 2 程序 30 0 第一章第一章 引引 言言 1 11 1 课题背景与来源课题背景与来源 随着中国经济的不断发展 人们生活水平不断提高 物质追求已基本得到满足 随 之而来的是精神层面的追求 人们对生活质量的要求也越来越得到重视 对音乐的追 求也迅速成为了其享受生活的重要部分 在过去的几年里 各种音乐播放器层出不穷 它们的文件格式也不可枚举 就音频播放器来说 其常用格式就有 WAV OGGG MP3 WMA ACC APE 等 MP3 格式由于具有压缩后文件体积小 音质丢失 小的特点而成为了使用最为广泛 最受播放器生产商欢迎的音频格式之一 生活中人 们往往把 Moving Picture Experts Group Audio Layer III 简称为 MP3 其本身就是一 种音频压缩技术 采用了国际标准 MPEG 中的第三层音频压缩模式 对声音信号进行压 缩的一种格式 1 现在普遍应用的声音编码技术是一种叫 MPEG 声音压缩的算法 这是 一种对音源的性质没有作任何假设的算法 单纯地利用人耳的听觉特性来对声音进行 压缩 MP3 就是利用了这种技术 将音乐以 10 1 甚至 12 1 的压缩率 压缩成一种容量 较小的文件 也就是说 MP3 不仅可以把文件压缩到更小的程度 并且还可以非常好地 保持了原来的音质 2 1 21 2 课题意义课题意义 随着电子技术的迅速发展 现阶段的音频技术已经发展得相当成熟 市场流行的 音频播放器其功能也远非普通的 MP3 可以比拟 操作界面也相当的复杂多样 但对于 市场需求来说 MP3 仍然占有一定的市场 同时 对于比较缺乏实际操作能力的大学生 来说 实打实地设计播放器是很有必要的 这对于掌握与巩固所学知识起到举足轻重 的作用及对提高自身各方面的能力 培养今后从事这类工作或研究这类技术的兴趣 而 MP3 播放器相对而言比较简单 对于初设计者来说是一种很好的选择 本系统采用 了简单 经济的电子芯片设计而成 与市场上的 MP3 有所不同 更加突出地改进了其 MP3 的储存容量小的缺点 支持 SD 卡及外部 U 盘等外储存设备的读取 具备了价格便 宜 高容量 体积小 音质好 便于携带等优点 这样的 MP3 播放器被广泛用于汽车 家居 工业等领域 如车载 MP3 播放器等 1 31 3 MP3MP3 播放器发展历程和研究现状播放器发展历程和研究现状 随着计算机速度的飞速提升 MP3 标准终于在 1995 年被 Brandenburg 的研究小组 制定出来 并免费提供 MP3 软件下载 MP3 的现世 由于闪存技术初现 存储容量还很 小 而价格偏高 当时的 MP3 仍属于十分昂贵的 奢侈品 20 世纪后期 为了满足更 多用户的需求 集中解决了 MP3 播放器能在不同的电脑上连接使用的问题 最终 MP3 1 播放器选择了 并口 作为数据输用的接口 直到 1998 年 第一台 MP3 随身听 Saehan MPman F10 诞生 重 65 克 但是当时的 MP3 存在信噪比太低 并口数据传输速度慢等 缺点 2000 年 由于受到突飞猛进的 USB 技术影响 MP3 播放器开始使用了 USB 接口 的设计 2000 年中 创新发布了世界上第一台 2 5 寸硬盘 MP3 播放器 NOMAD Jukebox 这款音乐播放器的外形就像一个标准大小的 CD 播放器 USB 接口可以提供连 接速度高达 12Mbps 这种速度与并口速度相比提高幅度在 10 倍以上 运用这种速度下 歌曲文件传输时间可以缩减为 3 秒 若要进行 64MB 大小容量的文件传送也不需要 1 分 钟 USB 2 0 标准进一步将接口速度提升到 480Mbps 是普通 USB 速度的 20 倍 更大幅 度地降低了 MP3 音乐文件的传输时间 3 后来使用整合式 USB 接口使数据传输更加方 便 伴随着 无驱动 闪存盘的技术实现 在 Windows 2000 以上的操作系统中免去了 安装驱动程序的麻烦 直接带 USB 接口的 MP3 操作起来更加方便 但此时的 MP3 外形 不够美观 为了解决外观不美观的问题 MP3 采用了伸缩式 USB 接口 可以提供高速传 输 还可以即插即用 随后又发展成为无线的数据传输方式的 MP3 如今 技术仍在不 断地发展 MP3 技术已经相当的成熟 甚至发展成为 MP4 MP5 但是 MP3 的技术却仍 在广泛被应用 MP3 播放器已经占据广大市场 现在的 MP3 播放器具有大容量 高音质 小巧便携等优点 深受广大消费者的青睐 广泛被应用于汽车 手机等领域 已在生 活中占据重要地位 2 第二章第二章 系统概述系统概述 2 12 1 系统设计总方案选择系统设计总方案选择 系统初步设计图如图 2 1 所示 CPU 外围电路 MCU Main board 外部音频存储设备 功能按键操作 播放界面 图 2 1 系统初步设计图 2 22 2 系统可行设计方案对比选择系统可行设计方案对比选择 根据设计要求 结合实际情况和成本要求 对系统主要部分电路方案叙述如下 2 2 12 2 1 MCUMCU 微控制器可供选择方案对比微控制器可供选择方案对比 方案一 采用 ATMEL 公司生产的 AT89SXX 系列单片机 如采用初学者广泛使用的 AT89S52 单片机 它内部具有低损耗 高性能的 CMOS 微处理器 片内也具有 8K 字节的 储存空间 4 个 8 位的并口 1 个全双工的串行口 128 字节的 RAM 2 个 16 位定时 计 数器 其寻址范围也有 64K 这些特点能满足简单的设计需要 但如果用这款单片机来 设计 MP3 那最好要外接一个储存芯片 否则对数据的缓冲 处理速度跟不上 容易造 成卡机现象 方案二 采用 ATMEL 公司生产的 AVR 系列单片机 它相对与 AT89SXX 系列单片机 在功能特点上得到更大的改进 除了在体积 集成度 可靠性 扩展性上具有优势 而且其处理数据速度和功能得到了提升 是一种 RISC 精简指令集高速 8 位的单片机 特别是 ATMEL32 ATMEL64 ATMEL128 的片内储存空间均在 8K 以上 尽量满足了 MP3 不卡机的条件之一 而且如今其市场价格与 89SXX 系列也相差不远 运行速度更快 综上所述 为了能更好地处理数据 得到流畅的播放效果 应考虑 MCU 数据处理 能力 选择方案二中 ATMEL 公司的 Atmega128 单片机作为微处理控制器 它远远能满 足 MP3 的数据解码速度要求 2 2 22 2 2 MP3MP3 解码方案对比选择解码方案对比选择 方案一 直接用软件解码 虽在硬件方面降低了成本 但其软件方面比较复杂 3 编程难度较高 工作量极大 而且对控制器的处理速度和资源要求也较高 方案二 直接用音频解码芯片解码 使用高性能的 VS1003 MP3 解码芯片 功能不 仅强大而且价格也相当便宜 VS1003 支持 MP3 WAV WMA MIDI 等诸多音频格式 音 质可与市场上中档 MP3 播放器相媲美 基于上述比较 故选择方案二 2 2 32 2 3 显示模块方案显示模块方案 方案一 采用 LCD1602 液晶 完成数据显示 LCD1602 液晶驱动电路相当简单 它可以显示简单的中英文字符 图案 并且功能和设计的成本都比较低 方案二 采用 LCD12864 液晶 它不仅可以显示中英文字符 也可以显示图案 但 其图案分辨率很低 而且只能显示单色字符 在价格方面也不算很便宜 方案三 采用 TFT 液晶模块 它既可以显示彩色数字 中英文字符和图案 还可 以加上触摸屏 实现 GUI 用户图形交互实时控制 但其模块价格较贵 并且设计要求 并不需要使用触摸等功能 方案四 采用诺基亚 5110 液晶模块 它采用的是串行通信协议进行通信 传输速 度快 耗能低 接口信号线数量少 能显示英文 数字还有图案 并且市场价格最便 宜 基于价格便宜 并且结合本系统设计需要 故选择方案四 2 32 3 系统设计硬件组成系统设计硬件组成 本系统是基于 Atmega128 单片机所设计的 MP3 播放器 音频文件存储在 SD 卡上 通过文件系统的读取 SD 扇区或将音频存在 U 盘等 USB 外设储存器上 通过 CH375 驱动 芯片读取外设储存器 由 Atmega128 单片机读取数据并送到 VS1003B 音频解码模块解 码输出 同时还可以通过按键来选择实现歌曲切换 暂停播放和音量调整等功能 本系统设计主要由以下模块组成 单片机最小系统 诺基亚 5110 液晶显示 VS1003 音频解码模块 SD 卡读取模块 USB 外设读取模块和电源模块以及功能按键 系统框图如图 2 2 所示 5110 液晶显示 模块 Atmega128 单片机 功能按键 SD 卡读取模块 音频解码模块 U 盘读写模块 电源模块 4 图 2 2 系统组成框图 2 42 4 系统设计的功能介绍及操作说明系统设计的功能介绍及操作说明 本系统设计的特点和可实现的功能及具体的操作说明如下 本系统的特点是 所用芯片少 设计简单 但是功能强大 与市场上的 MP3 播放 器相比 本设计不仅具有其最基本的优点外 还在储存容量上得到了突破 不仅能在 SD 卡上实现音频数据的读取还可以高速读取外部的 USB 储存设备 如 U 盘 硬盘等 真正达到了成本低 音效好的特点 对于功能的实现 本设计能实现对 SD 卡及 U 盘的高速读取 同时可在诺基亚 5110 液晶上显示歌曲进程 歌曲名及音频频谱 需对 SD 卡数据存储结构及 VS1003 解 码电路进行深入的了解 在操作上 应用了简单的功能按键 控制音乐的播放 暂停 上下曲切换 音量 调节等操作在显示液晶上清楚可见 5 第三章第三章 硬件组成及设计硬件组成及设计 硬件设计包括整个系统的电路图 主要由单片机最小系统 VS1003 解码模块 外 部音频存储模块 诺基亚 5110 液晶显示模块 电源电路模块 MP3 功能按键电路等组 成 本章根据系统设计结构图来对每个部分的电路进行分析和说明 重点讲述 MCU 微 控制器 Atmega128 SD 卡模块电路 VS1003B 音频解码模块电路 CH375 驱动外设模块 电路 功能按键并且涉及到的一些芯片详细资料 下面将整个音乐播放器的设计对各 模块组成分别做个介绍 3 13 1 主控系统模块设计电路图主控系统模块设计电路图 本模块设计包含了以下部分 MCU 微机处理器 复位电路 外围模块接口 程序 下载口 功能按键等 整个电路图设计相对而言比较简单 尽量地减少元器件 简化 元器件布局 达到合理布局的目的 对本模块各电路进行方案对比以及元器件价格比 较 最终电源部分选用了 AMS1117 转换电压芯片 可将外部电压转换成 MCU 所需的电 压 电路简单 效率高 对于 MCU 的选择 考虑到效率问题 最终也选定了 Atmega128 作为主控芯片 它的外围电路简单 满足本设计的需要 而显示部分也采用了诺基亚 5110 液晶模块 它具有既能显示英文和特殊符号还能显示中文 显示界面友好 控制 简单 工作稳定 价格便宜 占用 IO 口少等优点 容易实现歌曲名的显示和歌曲进程 的操作 本模块设计电路图如 3 1 所示 系统使用内部 8M 晶振 下载熔丝位为 E4 91 FF 不兼容 103 模式 6 PEN 1 PE0 RXD0 PDI 2 PE1 TXD0 PDO 3 PE2 XCK0 AIN0 4 PE3 OC3A AIN1 5 PE4 OC3B INT4 6 PE5 OC3C INT5 7 PE6 T3 INT6 8 PE7 IC3 INT7 9 PB0 SS 10 PB1 SCK 11 PB2 M OSI 12 PB3 M ISO 13 PB4 OC0 14 PB5 OC1A 15 PB6 OC1B 16 PB7 OC2 OC1C 17 TOSC2 PG3 18 TOSC1 1PG4 19 RESET 20 VCC 21 GND 22 XTAL2 23 XTAL1 24 PD0 SCL INT0 25 PD1 SDA INT1 26 PD2 RXD1 INT2 27 PD3 TXD1 INT3 28 PD4 IC1 29 PD5 XCK1 30 PD6 T1 31 PD7 T2 32 PG0 WR 33 PG1 RD 34 PC0 A8 35 PC1 A9 36 PC2 A10 37 PC3 A11 38 PC4 A12 39 PC5 A13 40 PC6 A14 41 PC7 A15 42 PG2 ALE 43 PA7 AD7 44 PA6 AD6 45 PA5 AD5 46 PA4 AD4 47 PA3 AD3 48 PA2 AD2 49 PA1 AD1 50 PA0 AD0 51 VCC 52 GND 53 PF7 ADC7 TDI 54 PF6 ADC6 TDO 55 PF5 ADC5 TM S 56 PF4 ADC4 TCK 57 PF3 ADC3 58 PF2 ADC2 59 PF1 ADC1 60 PF0 ADC0 61 AREF 62 GND 63 AVCC 64 U3 ATmega128 16AI 12 34 56 78 910 JP1 SCK TXD0 ISP下载 5V 5V SCKM OSI D C CS RST LEDEN GND 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 P1 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 P2 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 P4 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 P5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 3V3 10uH L1 104 C13 104 C12 GND GND K1 K2 K3 K4 K5 R9 10K 5V R10 10K R11 10K R12 10K R13 10K S3 SW PB S4 SW PB S5 SW PB S6 SW PB S7 SW PB 10K R8 Res2 104 C14 Cap S2 SW PB 3V3 GND nREST nREST GND 1 2 3 4 5 6 7 8 9 vs1 VS1003下下下下 5V GND XRESET M ISO M OSI SCK DREQ XCS XDCS 12 Y1 12MC15 22 C16 22 GND K1 SCK M OSI M ISO SD CS RST CH375INT DREQ K2 K3 K4 K5 CH375RD CH375WR CH375CS D0 D1 D2 D3 D4 D5 D6 D7 CH375RSTI CH375A0 XCS XDCS XRESET LEDEN A V R 128下下I O 下 A VR128下下下下 ISP下下下 A V R128下下下下 GND nREST TXD0 1 2 3 4 5 6 7 8 9 10 1 5110下下 D C CS CD DAT3 1 CM D 2 VSS1 3 VDD 4 CLK 5 VSS2 6 DATA0 7 DATA1 8 WP 10 DATA2 9 11 12 1 SD 10K R2 10K R3 10K R4 10K R5 3V3 GND SD CS M OSI GND SCK GND M ISO DAT DAT INT 1 RST 2 WR 3 RD 4 TXD 5 RXD 6 NC 7 A0 8 V3 9 UD 10 UD 11 GND 12 XI 13 XO 14 D0 15 D1 16 D2 17 D3 18 D4 19 D5 20 D6 21 D7 22 GND 23 ACT 24 RST 25 RST 26 CS 27 VCC 28 2 CH375A usb VCC 1 DATA 2 DATA 3 GND 4 3 usb X1 12M C10 22PF C11 22PF CH375INT CH375RSTI CH375WR CH375RD CH375A0 D0 D1 D2 D3 D4 D5 D6 D7 D2 USB LED R6 1K CH375CS C7 0 47U 3V3 3V3 3V3 1 2 3 P3 P S TXD GND C9 0 01UF GND GND UD UD C8 104 100uF C4 104 C5 12 D1 LED GND 1 IN 3 OUT 2 U2 CYT117 104 C1 3V3 5V 4K7 R1 1 2 3 J1 下下下下 GND 100uF C6 5V GND UD UD 100uF C2 104 C3 GND 1 IN 3 OUT 2 U1 CYT117 GND PDI PDI 3 3 R7 A 6 B 5 C 4 A 1 B 2 C 3 S1 下下下下 1 2 P16 Header 2 9 U下下下 下下下下下下 SD下下下 下下下下 图 3 1 主控系统模块设计电路图 7 以下将介绍本模块的主要电路及芯片 3 1 13 1 1 供电电源电路供电电源电路 本电路是直接利用外部电源适配器进行接电 这样得到的电流和电压都比较稳定 然后利用 ASM1117 线性稳压芯片 将电源电压转换成稳定的 少纹波的 5V 3 3V 电压 为了能控制整个电路的电源供电 在适当处添加了一个六角开关 目的是截取适配器 供电 当然本电路供电方式不唯一 在没有电源适配器的条件下也可以使用下载器供 电 简单又实用 供电电源电路如图 3 2 所示 100uF C4 104 C5 12 D1 LED GND 1 IN 3 OUT 2 U2 CYT117 3 3V 104 C1 3V3 5V 4K7 R1 1 2 3 J1 下下下下 GND 100uF C6 100uF C2 104 C3 GND 1 IN 3 OUT 2 U1 CYT117 5V GND A 6 B 5 C 4 A 1 B 2 C 3 S1 下下下下 图 3 2 供电电源电路 3 1 23 1 2 MCUMCU 微控制器微控制器 Atmega128 的引脚图如 3 3 图所示 它为 64 脚的贴片式芯片 本设计利用它为核 心控制元件 只有它能正常工作后才能使其他的元件进入正常工作状态 因此 下面 对该芯片进行必要的说明 图 3 3 图 Atmega128 的引脚 0 Atmega128 芯片是一种高性能 低功耗 8 位的 AVR 微处理器 片内具有 128K 字节 的系统可编程 Flash 可解决卡机问题 能及时处理传送的数据 具有 4K 字节的 EEPROM 可以对一些操作数据进行存储 方便断电重启后 能对上一次的数据进行再 现 具有独立片内振荡器的可编程看门狗定时器 可解决一些程序跑飞的情况 有 53 个可编程 I O 口 可方便外挂其他器件 具有可工作于从机 主机模式的 SPI 串行接口 本设计主要用到 SPI 模式 需对 SPI 管脚及其寄存器加以重视 串行外设接口 SPI 允许 ATmega128 和外设之间进行高速的同步数据传输 接口管脚为 PB1 SCK PB2 MOSI PB3 MISO SPI 串口方式特点有 全双工 3 线同步数据传输 主机或从机 操作 LSB 首先发送或 MSB 首先发送 具有传输结束中断写碰撞标志检测 可以从闲置模 式唤醒 可作为主机时具有双速模式 CK 2 以上是本设计需要重视的主芯片特点 3 1 33 1 3 功能按键电路功能按键电路 功能按键电路在系统中起到手动切换播放模式及声音大小的调整 考虑到本设计 中需要的按键操作并不多 单片机的 I O 口完全可以满足 所以选择了独立式键盘设 计 如图 3 4 所示 按键以低电平有效 在硬件方面注意手动消抖 在软件方面 也 应考虑按键消抖情况 如图 3 4 所示 共有五个按键 分别实现歌曲的播放 暂停 上下曲切换 声音 加减功能 K1 K2 K3 K4 K5 R9 10K 5V R10 10K R11 10K R12 10K R13 10K S3 SW PB S4 SW PB S5 SW PB S6 SW PB S7 SW PB GND 图 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 盘中读取的数据流进行解析 并转换成模拟信号输出 同时能 1 实现高低音控制和立体声数模转换 可直接驱动耳机 本设计需将系统 5V 电源通过 ASM1117 3 3 ASM1117 2 5 转化成 VS1003 所需的 3 3V 2 5V 电压 并通过 3 3UH 的 电感进行数字电压 模拟电压 以及 IO 口电压进行区分 单独供电 降低对解码信号 的影响 VS1003B 封装图如 3 5 所示 图 3 5 VS1003 封装图 该芯片的主要管脚介绍 1 脚 MICP 同向差分话筒输入 2 脚 MICN 同向差分话筒 输出 3 脚 XRESET 复位 8 脚 DREQ 数据请求 13 脚 XDCS 命令片选 23 脚 XCS 命令 片选 28 脚 SCLK 串行时钟 29 脚 SI 串行输入 30 脚 SO 串行输出 42 脚 GBUF 公共 地缓冲器 44 脚 RCAP 基准滤波电容 2 3 2 13 2 1 VS1003VS1003 解码模块电路图解码模块电路图 图 3 6 VS1003 解码模块电路图 3 33 3 SDSD 卡模块电路及非正常播放的的解决办法卡模块电路及非正常播放的的解决办法 对于本模块电路设计 首要应该考虑电源电压和电流的要求 防止电压电流超过 SD 卡承受范围 进行烧卡 系统中供电电压一般为 3 3V 驱动 SD 卡的模式分为 SD 总 线模式和 SPI 总线模式 采用四根数据线并行传输数据 数据传输速率高的模式为 SD 卡总线模式 这种总线的传输协议并不简单 而且很多单片机都没有提供这样的总线 接口 而且若用软件来模拟 SD 卡总线却又相当的繁琐 并且还会降低 SD 卡的数据传 输速率 如果用 SPI 总线模式去驱动 SD 卡 那么就只需用到一根数据传输线 此时数 据传输速率虽较低 可在很多单片机上都具有 SPI 总线接口 若用软件来模拟也十分 的容易 其总线模式的传输协议十分简单 易于实现 因此 本模块设计根据协议的 简单性和实际需要则采用了 SPI 总线模式 SPI 总线模式的数据传输则以字节为单位进行 每个字节则为 8 位 每个命令或 者数据模块都需以字节来对齐 单片机对 SD 卡的读操作主要由主机控制 主机必须先 拉低 SD 卡的片选信号 CS 选中 SD 卡器件 然后再由主机向 SD 卡发送各种命令 SD 卡对主机发送的任何命令进行响应 根据命令的不同执行不同的响应格式 在执行写 操作时 SD 卡还要对主机发送的每个数据模块进行响应 通过执行命令和作出相对应 的命令响应 完成单片机对 SD 卡的读写操作 3 3 3 13 3 1 调试中一些调试中一些 SDSD 卡不能正常播放的解决办法卡不能正常播放的解决办法 如果在软件方面只编写了 FAT16 文件系统 则不支持大于 2G 的盘 由此带来了两 个问题 若大于 2G 的盘 格式化的时候只能选择 FAT32 FAT16 的盘是不能正常播放的 若小于 2G 的盘 请先使用软件 USBOOT 把 SD 卡工作模式更改为 FDD 模式 更改后即可 正常播放 3 3 23 3 2 SDSD 卡读写模块图 如图卡读写模块图 如图 3 73 7 所示 所示 CD DAT3 1 CMD 2 VSS1 3 VDD 4 CLK 5 VSS2 6 DATA0 7 DATA1 8 WP 10 DATA2 9 11 12 1 SD 10K R2 10K R3 10K R4 10K R5 3V3GND SD CS MOSI GND SCK GND MISO DAT DAT 1 2 P16 SD下下下下下 9 图 3 7 SD 卡读写模块图 3 43 4 U U 盘通信读写模块盘通信读写模块 本模块设计是利用 CH375 芯片对外部的 U 盘内数据进行驱动读取 CH375 是一个 USB 总线的通用接口芯片 支持 USB HOST 主机方式和 USB DEVICE SLAVE 设备方式 4 CH375 是一个 28 脚的贴片式芯片 它具有串并行通信方式 可以通过读控制线 写控 制线 片选控制线 中断输出线及 8 位数据总线 可非常方便地与单片机等控制器总 线相连 实现并行传输 当然还可以选择串行通信 通过串行输入线 输出线和中断 输出线与单片机等实现数据传输 CH375 本身还内置了大量专用通信协议的固件 外部 单片机可以直接通过调用其固件实现对常用的 USB 储存设备以扇区为单位的读写操作 在本设计过程中用 ASM1117 3 3 芯片降压到所需的 3 3V 电压 并且还在并行串行的方 式上预留了接口 即通过此接口可以选择串行和并行接口方式 注意 CH375 运用的 是 12M 晶振 22PF 瓷片电容组成的振荡电路 4 3 4 13 4 1 U U 盘通信电路图 如图盘通信电路图 如图 3 83 8 所示 所示 INT 1 RST 2 WR 3 RD 4 TXD 5 RXD 6 NC 7 A0 8 V3 9 UD 10 UD 11 GND 12 XI 13 XO 14 D0 15 D1 16 D2 17 D3 18 D4 19 D5 20 D6 21 D7 22 GND 23 ACT 24 RST 25 RST 26 CS 27 VCC 28 2 CH375A usb VCC 1 DATA 2 DATA 3 GND 4 3 usb X1 12M C10 22PF C11 22PF CH375INT CH375RSTI CH375WR CH375RD CH375A0 D0 D1 D2 D3 D4 D5 D6 D7 D2 USB LED R6 1K CH375CS C7 0 47U 3V3 3V3 3V3 1 2 3 P3 P S TXD GND C9 0 01UF GND GND UD UD C8 104 5V GND UD UD 3 3 R7 图 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 盘已经连接成功 接下来就是磁盘的初始化 DISK INIT 同样也是等待中断 获取状态码 若获取 USB INT SUCCE 则成功 否则返回状态码 此时初始化 U 盘成功 返回标志 0 当 CS RD 和 A0 都为低电平时 CH375 的数据可以通过 D0 D7 输出 当 CS WR 和 A0 都为低电平时 D0 D7 上的数据被写入 CH375 芯片中 当 CS 和 WR 都为低电平 A0 为高电平时 D0 D7 中的数据可以作为命令码写入 CH375 中 这样就实现了 CH375 对 U 盘的读写 5 其过程为 在 CH375 对 U 盘进行读写扇区时 首先送入磁盘读取命令 DIST READ 然后送入 32 位的扇区地址 从低字节开始送入 接着送入要读取的扇区数 当我们只读取一个扇区时 我们就只送一个入一个 1 往下是等待中断读取状态 送入 读数据命令再读数据 注 数据的第一个字节是后面数据的长度 紧接着的才是真正 的数据 写入继续读数据命令 等待中断获取状态 USB INT SUCCESS 最后读取扇区成 功 补充 CH375 的数据缓冲区仅为 64 个字节 读取一个扇区 512 字节 要读 8 次 每读完一次要从 CH375 中送入继续读取的命令 等待 CH375 的数据缓冲区更新为下面 的 64 个字节后 再次等待中断 读取状态 写入 8 次以后 512 个字节被写入到了 CH375 中 最后一次继续写命令 DISK WR GO 获得的状态码不再是 5 USB INT DISK WRITE 3 4 33 4 3 U U 盘模块部分容易造成影响的一些问题盘模块部分容易造成影响的一些问题 在 PCB 设计中 应注意一些细节以防对设计造成不必要的影响 例如注意振荡电 路晶体的外壳接地 这样可以降低电磁辐射 减少外来干扰 并且振荡电路的电容应 尽量靠近 CH375 PCB 的走线应该尽量短 最好可以在周边环绕接地或者敷铜 对于 USB 数据线 D 和 D 的 PCB 应该平行布线 长度保持差不多 6 3 53 5 诺基亚诺基亚 51105110 液晶模块液晶模块 本设计采用诺基亚 5110 液晶显示 它不仅兼容了诺基亚 3310 液晶 而且在操作 上也非常的简单 它原本就是一个 LCD 点阵屏 可以显示 4 行汉字 与主机通过串口 模式相接 当然可以用主机的 SPI 模式 也可以简单地模拟 SPI 模式 这对于很多单 片机来说都是可以做到的 它的传输速率是 1602 液晶的四倍 在价格上也比较便宜 来源也很多 对本设计的需求已经远远可以满足 设计中模块接口如图 3 9 所示 5V SCKMOSI D C CS RST LEDEN GND 1 2 3 4 5 6 7 8 9 10 1 5110 图 3 9 诺基亚 5110 液晶接口图 第四章第四章 软件设计软件设计 4 14 1 开发工具介绍开发工具介绍 本设计除了硬件方面的重要性 同时也应该注重软件 一个单片机的使用不仅仅 只有硬件 同时也应该有软件的支持 硬软结合才能发挥其更加强大的作用 在写汇 编程序 CPU 可执行的机器码可分为手工汇编和机器汇编这两种方法 利用汇编软件变 为机器码的方式是机器汇编 在单片机的汇编软件历史上出现较早的有 A51 但随着技 术的发展 单片机开发技术也越来越成熟 汇编方式也从汇编语言变成了高级语言 ICC AVR 这款 AVR 系列单片机软件已经成为了目前最流行的开发软件 ImageCraft 的 ICC AVR 是一个应用到了 ANSI 标准的 C 语言来开发微控制器 MCU 程序的工具 6 ICCAVR 是一个综合了编辑器和工程构建同体的软件 在 ICCAVR 编辑器的状态窗 口中可以很清楚地把编译出现的错误显示出来 当用鼠标单击编译出现的错误时 光 标就会自动跳转到编辑窗口中引起错误的那一行 这样就省去了烦杂的查错工作 7 在编译程序通过时 还可以直接产生被大多数编程器所支持 INTEL HEX 格式文件 用 于下载程序到芯片中 对于 ICCAVR 软件 在编写程序的时候要注意各个中断函数的书 写 还要注意管脚的使用 对包含的头文件也应该具有一定的了解 4 24 2 主程序流程图主程序流程图 主程序主要完成系统的初始化 对 SD 卡或者 U 盘数据的识别和读取 音频的解码 还有液晶的显示 按键的操作等 其主程序流程图如图 4 1 所示 开始 Y N Y 各模块初始化 读 U SD 卡主引导 解析文件系统 从 U SD 卡读取文件 名 调用 UNICODE 字 库并显示 解析文件名 计算 MP3 数据流首簇 地址 读取 1 扇区的 MP3 数 据流 MP3 数据流写入 VS1003 芯片 读完 1 簇 计算下一簇 地址 文件是否结束 结束 图 4 1 主程序流程图 各模块初始化后 单片机识别 U SD 卡 再根据 U SD 卡的主引导 通过 FAT 文件 系统解析文件名 并调用 UNICODE 字库把文件名显示在诺基亚 5110 液晶上 然后单片 机计算簇所在的地址 把读到的文件数据流送入到 VS1003 中进行解码 当读完一簇后 则计算下一次地址 如此便实现文件的链接 7 4 34 3 SDSD 卡的读流程图卡的读流程图 开始 端口初始化 设置 SPI 为低速模式 CS 置为低电平 SD 卡复位 CMD0 CMD1 初始化 SPI 高速模式 发送 CMD8 保留 Rec 0 x01 结束 CMD58 读 OCR 寄存 器 至少延时 74 个时钟周期 CMD59 关 CRC CMD16 设置扇区 大小 Y N 图 4 2 SD 读流程图 SD 卡读流程中 设置 SPI 低速模式 把 CS 设为低电平 即选择 SD 操作 然后发 送至少 74 个时钟周期 发送 CMD0 指令 让 SD 卡复位 然后延时稍许 如果检测到 0X01 则发送 CMD1 初始化成功 否则不成功 在初始化成功后再发送 8 个脉冲 读取 OCR 寄存器把时钟送入 SPI 高速 再关掉校验 再发送 CMD16 就可以读取扇区的大小 4 44 4 SDSD 卡文件系统的结构分析卡文件系统的结构分析 SD 卡内的数据要在操作系统下被识别 则需要在 SD 卡上创建操作系统所能识别 的 FAT16 FAT32 文件系统 FAT16 FAT32 文件系统的结构大致可分为分区引导记录 文 件分配表 文件目录表和数据区 4 大部分 8 在分区引导记录中又可分为 BIOS 参数记录块 BPB BIPS Parameter Block 磁 盘标志记录表 分区引导记录代码区和结束标志 55AA 这四块内容 而在 BPB 表中其起 始点是在扇区字节位移 0bH 处 这段总共占了 25 字节 紧跟在分区引导记录后的是 FAT 文件分配表 区 在一些文件系统中存在这样两份完全相同的文件分配表 FAT1 和 FAT2 如 FAT16 FAT32 文件系统就具有这样相同的两个文件分配表 并且每一份 FAT 表所占用空间的大小都可从 BPB 表中查询得到 簇是一种文件存储在磁盘上的最小 单位 为了防止一个文件的数据并不能完整放在磁盘的一个连续区域内的情况发生 因此一般将磁盘分为若干簇 在文件的链式存储中通过 FAT 表记录文件存储中簇与簇 之间的连接信息 这样就可以快速地查找文件储存的地址 在 FAT16 文件系统中 1 个 簇就占有 2 个字节 F8FH 就是它的起始字节 FFFFH 则是它的终止字节 如果是显示 8 0000 则意味着这区未被使用 通过这些明显的标志 则可以快速了解储存区的活动情 况 随在 FAT 表后的就是文件目录表 FDT 它在大小上固定占了 32 个扇区 但一个扇 区又可容纳 16 个登记项 一个登记项又具有 32 字节的长度 具有如此的特征 使其 在存储文件目录上更具有条理性 接着就是占了磁盘空间大部分的数据区 DATA 它主 要用来存放文件数据 4 54 5 SDSD 卡文件系统的实现卡文件系统的实现 要实现对文件的管理 那么单片机通过对 SD 卡的读写中就可按照 FAT16 FAT32 文 件系统的格式对 SD 卡上的数据进行操作 这样便可以在 SD 卡上实现文件的创建 文 件的读写和文件的删除等操作 4 5 14 5 1 在在 SDSD 卡上创建文件卡上创建文件 或目录或目录 在文件目录表 FDT 中申请登记项的过程为 SD 卡上创建文件 或目录 的过程 而在 登记项中则包括有文件名 文件长度和起始簇号等信息 文件名的大小一般占用 8 个 字节 而长的文件名则需要用数组来存放 在需要知道文件的状态时 则可根据文件 名的首字节来判断该文件的状态 若出现 00H 则表示该目录项未被使用 若出现 E5H 则表示该文件 或目录 已被删除 但在创建目录时 应将属性值设置为 10H 表示子目 录 文件长度为 0 9 4 5 24 5 2 SDSD 卡文件的读写操作卡文件的读写操作 簇是 SD 卡上文件存取的单位 要读取 SD 卡上的文件 就必须要用簇来链接 通 过文件名来链接到该文件目录登记项所在的地址 再用目录登记项中的起始簇号来查 找到文件在数据区 DATA 中第一簇的内容和在 FAT 表中找到第二个簇号 接着又根据第 二个簇号再找到第二簇的内容和 FAT 表中的第三个簇 如此进行 就能够根据 FAT 表 中的簇号来读取全部文件数据 但
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国网新源公司招聘考试教材及模拟题
- 2025年全断面掘进机项目合作计划书
- 抢维修作业安全措施培训课件
- 2025届北京市第一零一中学高三下学期三模物理试题(含答案)
- 扫黄打非法制课件
- 2025年丽水社工考试题目及答案
- 扇贝效应课件
- 2025年贵州文科联考试卷及答案
- 2025年荆州化学中考试题及答案
- 2025年枣阳数学月考试卷及答案
- 重庆市南开中学高2026届高三第一次质量检测+数学答案
- GJB135B-2021合成航空发动机润滑油规范
- 2025年医疗质量管理质控培训考核试题(含答案)
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋)
- 中国阅兵仪式课件
- 《系统工程》课件 胡祥培 第1-3章 绪论、系统工程相关理论、系统工程方法论
- GB/T 2820.5-2025往复式内燃机驱动的交流发电机组第5部分:发电机组
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- ISO28000:2022供应链安全管理体系
- 统编版四年级上册第四单元快乐读书吧 《中国古代神话故事》 课件
- JIS G4305-2021 冷轧不锈钢板材、薄板材和带材
评论
0/150
提交评论